18 #ifndef itkMultiTransform_h
19 #define itkMultiTransform_h
63 <
typename TParametersValueType=double,
unsigned int NDimensions=3,
unsigned int NSubDimensions=NDimensions>
65 public Transform<TParametersValueType, NDimensions, NSubDimensions>
148 static constexpr
unsigned int InputDimension = NDimensions;
149 static constexpr
unsigned int OutputDimension = NDimensions;
151 static constexpr
unsigned int SubInputDimension = NSubDimensions;
152 static constexpr
unsigned int SubOutputDimension = NSubDimensions;
161 this->PushBackTransform( t );
167 this->AddTransform( t );
173 this->PushFrontTransform( t );
179 this->PopBackTransform();
186 return this->m_TransformQueue.front().GetPointer();
192 return this->m_TransformQueue.back().GetPointer();
200 return this->m_TransformQueue[n];
208 return this->m_TransformQueue[n].GetPointer();
214 return this->m_TransformQueue[n].GetPointer();
220 return this->m_TransformQueue;
226 return this->m_TransformQueue.empty();
232 return static_cast<SizeValueType>(this->m_TransformQueue.size());
238 this->m_TransformQueue.clear();
244 bool IsLinear()
const override;
248 TransformCategoryType GetTransformCategory()
const override;
257 const ParametersType & GetParameters()
const override;
261 void SetParameters(
const ParametersType & p)
override;
265 const FixedParametersType & GetFixedParameters()
const override;
269 void SetFixedParameters(
const FixedParametersType & fixedParameters)
override;
272 NumberOfParametersType GetNumberOfParameters()
const override;
275 NumberOfParametersType GetNumberOfLocalParameters()
const override;
278 NumberOfParametersType GetNumberOfFixedParameters()
const override;
282 void UpdateTransformParameters(
const DerivativeType & update, ScalarType factor = 1.0 )
override;
289 bool GetInverse( Self *inverse )
const;
298 void PrintSelf( std::ostream& os,
Indent indent )
const override;
302 this->m_TransformQueue.push_front( t );
308 this->m_TransformQueue.push_back( t );
314 this->m_TransformQueue.pop_front();
320 this->m_TransformQueue.pop_back();
334 #ifndef ITK_MANUAL_INSTANTIATION
335 #include "itkMultiTransform.hxx"
338 #endif // itkMultiTransform_h
Light weight base class for most itk classes.
unsigned long SizeValueType
Class to hold and manage different parameter types used during optimization.
unsigned long ModifiedTimeType
Control indentation during Print() invocation.