ITK
5.2.0
Insight Toolkit
ITK
Modules
Numerics
Optimizersv4
include
itkSingleValuedCostFunctionv4.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
* http://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 itkSingleValuedCostFunctionv4_h
19
#define itkSingleValuedCostFunctionv4_h
20
21
#include "
itkCostFunction.h
"
22
#include "
itkNumericTraits.h
"
23
24
namespace
itk
25
{
49
template
<
typename
TInternalComputationValueType>
50
class
SingleValuedCostFunctionv4Template
:
public
CostFunctionTemplate
<TInternalComputationValueType>
51
{
52
public
:
53
ITK_DISALLOW_COPY_AND_MOVE(
SingleValuedCostFunctionv4Template
);
54
56
using
Self
=
SingleValuedCostFunctionv4Template
;
57
using
Superclass
=
CostFunctionTemplate<TInternalComputationValueType>
;
58
using
Pointer
=
SmartPointer<Self>
;
59
using
ConstPointer
=
SmartPointer<const Self>
;
60
62
itkTypeMacro(
SingleValuedCostFunctionv4Template
,
CostFunctionTemplate
);
63
66
using
MeasureType
= TInternalComputationValueType;
67
70
using
ParametersType
=
typename
Superclass::ParametersType
;
71
74
using
DerivativeType
=
Array<TInternalComputationValueType>
;
75
78
virtual
MeasureType
79
GetValue
()
const
= 0;
80
84
virtual
void
85
GetValueAndDerivative
(
MeasureType
& value,
DerivativeType
& derivative)
const
= 0;
86
87
protected
:
88
SingleValuedCostFunctionv4Template
() =
default
;
89
~SingleValuedCostFunctionv4Template
()
override
=
default
;
90
};
91
93
using
SingleValuedCostFunctionv4
=
SingleValuedCostFunctionv4Template<double>
;
94
95
}
// end namespace itk
96
97
#endif
itk::OptimizerParameters
Class to hold and manage different parameter types used during optimization.
Definition:
itkOptimizerParameters.h:36
itk::SmartPointer< Self >
itkCostFunction.h
itk::SingleValuedCostFunctionv4Template::SingleValuedCostFunctionv4Template
SingleValuedCostFunctionv4Template()=default
itk::SingleValuedCostFunctionv4Template< TParametersValueType >::MeasureType
TParametersValueType MeasureType
Definition:
itkSingleValuedCostFunctionv4.h:66
itk::SingleValuedCostFunctionv4Template::~SingleValuedCostFunctionv4Template
~SingleValuedCostFunctionv4Template() override=default
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itk::SingleValuedCostFunctionv4Template::GetValue
virtual MeasureType GetValue() const =0
itk::CostFunctionTemplate
Definition:
itkCostFunction.h:36
itk::SingleValuedCostFunctionv4Template
This class is a base for a CostFunction that returns a single value.
Definition:
itkSingleValuedCostFunctionv4.h:50
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::CostFunctionTemplate::ParametersType
OptimizerParameters< TInternalComputationValueType > ParametersType
Definition:
itkCostFunction.h:53
itk::Array< TParametersValueType >
itkNumericTraits.h
itk::SingleValuedCostFunctionv4Template::GetValueAndDerivative
virtual void GetValueAndDerivative(MeasureType &value, DerivativeType &derivative) const =0
Generated on Thu Apr 1 2021 02:04:31 for ITK by
1.8.16