ITK
6.0.0
Insight Toolkit
ITK
Modules
Numerics
Optimizers
include
itkCostFunction.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* https://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef itkCostFunction_h
19
#define itkCostFunction_h
20
21
#include "
itkObject.h
"
22
#include "
itkObjectFactory.h
"
23
#include "
itkArray.h
"
24
#include "
itkOptimizerParameters.h
"
25
26
namespace
itk
27
{
35
template
<
typename
TInternalComputationValueType>
36
class
ITK_TEMPLATE_EXPORT
CostFunctionTemplate
:
public
Object
37
{
38
public
:
39
ITK_DISALLOW_COPY_AND_MOVE(
CostFunctionTemplate
);
40
42
using
Self
=
CostFunctionTemplate
;
43
using
Superclass
=
Object
;
44
using
Pointer
=
SmartPointer<Self>
;
45
using
ConstPointer
=
SmartPointer<const Self>
;
46
48
itkOverrideGetNameOfClassMacro(
CostFunctionTemplate
);
49
52
using
ParametersValueType
= TInternalComputationValueType;
53
using
ParametersType
=
OptimizerParameters<TInternalComputationValueType>
;
54
58
virtual
unsigned
int
59
GetNumberOfParameters()
const
= 0;
60
61
protected
:
62
CostFunctionTemplate
() =
default
;
63
~
CostFunctionTemplate
()
override
=
default
;
64
void
65
PrintSelf(std::ostream & os,
Indent
indent)
const override
;
66
};
67
69
using
CostFunction
=
CostFunctionTemplate<double>
;
70
71
}
// end namespace itk
72
73
#ifndef ITK_MANUAL_INSTANTIATION
74
# include "itkCostFunction.hxx"
75
#endif
76
77
#endif
itk::OptimizerParameters
Class to hold and manage different parameter types used during optimization.
Definition:
itkOptimizerParameters.h:36
itkObjectFactory.h
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition:
itkIndent.h:49
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:55
itkOptimizerParameters.h
itk::CostFunctionTemplate< TParametersValueType >::ParametersValueType
TParametersValueType ParametersValueType
Definition:
itkCostFunction.h:52
itk::CostFunctionTemplate
Definition:
itkCostFunction.h:36
itkArray.h
itkObject.h
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnatomicalOrientation.h:29
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:61
Generated on
unknown
for ITK by
1.8.16