18 #ifndef __itkMultiTransform_h
19 #define __itkMultiTransform_h
63 <
class TScalar = double,
unsigned int NDimensions = 3,
unsigned int NSubDimensions = NDimensions>
65 public Transform<TScalar, NDimensions, NDimensions>
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 );
174 virtual void RemoveTransform()
176 this->PopBackTransform();
183 return this->m_TransformQueue.front();
189 return this->m_TransformQueue.back();
197 return this->m_TransformQueue[n];
203 return this->m_TransformQueue;
207 virtual bool IsTransformQueueEmpty()
const
209 return this->m_TransformQueue.empty();
215 return this->m_TransformQueue.size();
219 virtual void ClearTransformQueue()
221 this->m_TransformQueue.clear();
227 virtual bool IsLinear()
const;
231 virtual TransformCategoryType GetTransformCategory()
const;
240 virtual const ParametersType & GetParameters(
void)
const;
244 virtual void SetParameters(
const ParametersType & p);
248 virtual const ParametersType & GetFixedParameters(
void)
const;
252 virtual void SetFixedParameters(
const ParametersType & fixedParameters);
255 virtual NumberOfParametersType GetNumberOfParameters(
void)
const;
258 virtual NumberOfParametersType GetNumberOfLocalParameters(
void)
const;
261 virtual NumberOfParametersType GetNumberOfFixedParameters(
void)
const;
265 virtual void UpdateTransformParameters(
const DerivativeType & update, ScalarType factor = 1.0 );
272 bool GetInverse( Self *inverse )
const;
281 void PrintSelf( std::ostream& os,
Indent indent )
const;
285 this->m_TransformQueue.push_front( t );
291 this->m_TransformQueue.push_back( t );
295 virtual void PopFrontTransform()
297 this->m_TransformQueue.pop_front();
301 virtual void PopBackTransform()
303 this->m_TransformQueue.pop_back();
316 void operator=(
const Self & );
322 #ifndef ITK_MANUAL_INSTANTIATION
323 #include "itkMultiTransform.hxx"
326 #endif // __itkMultiTransform_h