DataFidelity.h
1 /*
2  * Medical Image Registration ToolKit (MIRTK)
3  *
4  * Copyright 2013-2015 Imperial College London
5  * Copyright 2013-2015 Andreas Schuh
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifndef MIRTK_DataFiedelity_H
21 #define MIRTK_DataFiedelity_H
22 
23 #include "mirtk/EnergyTerm.h"
24 
25 
26 namespace mirtk {
27 
28 
29 /**
30  * Base class for energy terms measuring the amount of data fidelity
31  *
32  * Lower data fidelity corresponds to a better alignment of the registered
33  * data. The optimizer should minimize the data fidelity.
34  */
35 class DataFidelity : public EnergyTerm
36 {
37  mirtkAbstractMacro(DataFidelity);
38 
39  // ---------------------------------------------------------------------------
40  // Construction/Destruction
41 protected:
42 
43  /// Constructor
44  DataFidelity(const char * = "", double = 1.0);
45 
46  /// Copy constructor
47  DataFidelity(const DataFidelity &);
48 
49  /// Assignment operator
51 
52 public:
53 
54  /// Destructor
55  virtual ~DataFidelity();
56 
57  // ---------------------------------------------------------------------------
58  // Parameters
59 
60 protected:
61 
62  /// Set parameter value from string
63  virtual bool SetWithPrefix(const char *, const char *);
64 
65 };
66 
67 
68 } // namespace mirtk
69 
70 #endif // MIRTK_EnergyTerm_H
Definition: IOConfig.h:41
DataFidelity & operator=(const DataFidelity &)
Assignment operator.
virtual ~DataFidelity()
Destructor.
DataFidelity(const char *="", double=1.0)
Constructor.
virtual bool SetWithPrefix(const char *, const char *)
Set parameter value from string.