18#ifndef itkOptimizerParameters_h
19#define itkOptimizerParameters_h
35template <
typename TParametersValueType>
61 :
Array<TParametersValueType>(rhs)
74 :
Array<TParametersValueType>(dimension)
79 :
Array<TParametersValueType>(array)
84 :
Array<TParametersValueType>(dimension, value)
90 :
Array<TParametersValueType>(inputData, dimension)
99 this->m_Helper = std::make_unique<OptimizerParametersHelperType>();
111 if (m_Helper ==
nullptr)
113 itkGenericExceptionMacro(
"OptimizerParameters::MoveDataPointer: "
114 "m_Helper must be set.");
116 this->m_Helper->MoveDataPointer(
this, pointer);
127 if (m_Helper ==
nullptr)
129 itkGenericExceptionMacro(
"OptimizerParameters::SetParameterObject: "
130 "m_Helper must be set.");
132 this->m_Helper->SetParametersObject(
this,
object);
144 this->m_Helper.reset(helper);
148 OptimizerParametersHelperType *
151 return m_Helper.get();
164 this->ArrayType::operator=(rhs);
173 this->ArrayType::operator=(rhs);
181 this->ArrayType::operator=(rhs);
188 std::unique_ptr<OptimizerParametersHelperType> m_Helper{ std::make_unique<OptimizerParametersHelperType>() };
Pixel-wise addition of two images.
Array class with size defined at construction time.
vnl_vector< TParametersValueType > VnlVectorType
typename vnl_vector< TParametersValueType >::size_type SizeValueType
Light weight base class for most itk classes.
Basic helper class to manage parameter data as an Array type, the default type.
Class to hold and manage different parameter types used during optimization.
virtual void SetParametersObject(LightObject *object)
virtual void MoveDataPointer(TParametersValueType *pointer)
OptimizerParameters(const OptimizerParameters &rhs)
Self & operator=(const ArrayType &rhs)
Self & operator=(const Self &rhs)
Self & operator=(const VnlVectorType &rhs)
OptimizerParameters()=default
~OptimizerParameters() override=default
TParametersValueType ValueType
OptimizerParametersHelperType * GetHelper()
OptimizerParameters(const ValueType *const inputData, const SizeValueType dimension)
OptimizerParameters(const ArrayType &array)
virtual void SetHelper(OptimizerParametersHelperType *helper)
OptimizerParameters(const SizeValueType dimension, const ValueType &value)
typename Superclass::VnlVectorType VnlVectorType
OptimizerParameters(SizeValueType dimension)
BinaryGeneratorImageFilter< TInputImage1, TInputImage2, TOutputImage > Superclass
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType