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>
144 itkStaticConstMacro( InputDimension,
unsigned int, NDimensions );
145 itkStaticConstMacro( OutputDimension,
unsigned int, NDimensions );
148 itkStaticConstMacro( SubInputDimension,
unsigned int, NSubDimensions );
149 itkStaticConstMacro( SubOutputDimension,
unsigned int, NSubDimensions );
158 this->PushBackTransform( t );
164 this->AddTransform( t );
170 this->PushFrontTransform( t );
176 this->PopBackTransform();
183 return this->m_TransformQueue.front().GetPointer();
189 return this->m_TransformQueue.back().GetPointer();
197 return this->m_TransformQueue[n];
205 return this->m_TransformQueue[n].GetPointer();
211 return this->m_TransformQueue[n].GetPointer();
217 return this->m_TransformQueue;
223 return this->m_TransformQueue.empty();
229 return static_cast<SizeValueType>(this->m_TransformQueue.size());
235 this->m_TransformQueue.clear();
241 virtual bool IsLinear() const ITK_OVERRIDE;
245 virtual TransformCategoryType GetTransformCategory() const ITK_OVERRIDE;
254 virtual const ParametersType & GetParameters() const ITK_OVERRIDE;
258 virtual
void SetParameters(const ParametersType & p) ITK_OVERRIDE;
262 virtual const FixedParametersType & GetFixedParameters() const ITK_OVERRIDE;
266 virtual
void SetFixedParameters(const FixedParametersType & fixedParameters) ITK_OVERRIDE;
269 virtual NumberOfParametersType GetNumberOfParameters() const ITK_OVERRIDE;
272 virtual NumberOfParametersType GetNumberOfLocalParameters() const ITK_OVERRIDE;
275 virtual NumberOfParametersType GetNumberOfFixedParameters() const ITK_OVERRIDE;
279 virtual
void UpdateTransformParameters( const DerivativeType & update, ScalarType factor = 1.0 ) ITK_OVERRIDE;
286 bool GetInverse( Self *inverse ) const;
294 virtual ~MultiTransform() ITK_OVERRIDE;
295 virtual
void PrintSelf( std::ostream& os,
Indent indent ) const ITK_OVERRIDE;
299 this->m_TransformQueue.push_front( t );
305 this->m_TransformQueue.push_back( t );
311 this->m_TransformQueue.pop_front();
317 this->m_TransformQueue.pop_back();
335 #ifndef ITK_MANUAL_INSTANTIATION
336 #include "itkMultiTransform.hxx"
339 #endif // itkMultiTransform_h
unsigned long ModifiedTimeType
unsigned long SizeValueType
Control indentation during Print() invocation.