18#ifndef itkCompositeTransform_h
19#define itkCompositeTransform_h
86template <
typename TParametersValueType =
double,
unsigned int VDimension = 3>
106 using typename Superclass::TransformTypePointer;
109 using typename Superclass::InverseTransformBasePointer;
112 using typename Superclass::ScalarType;
115 using typename Superclass::FixedParametersType;
116 using typename Superclass::FixedParametersValueType;
117 using typename Superclass::ParametersType;
118 using typename Superclass::ParametersValueType;
121 using typename Superclass::DerivativeType;
124 using typename Superclass::JacobianType;
125 using typename Superclass::JacobianPositionType;
126 using typename Superclass::InverseJacobianPositionType;
129 using typename Superclass::TransformCategoryEnum;
132 using typename Superclass::InputPointType;
133 using typename Superclass::OutputPointType;
136 using typename Superclass::InputVectorType;
137 using typename Superclass::OutputVectorType;
140 using typename Superclass::InputCovariantVectorType;
141 using typename Superclass::OutputCovariantVectorType;
144 using typename Superclass::InputVnlVectorType;
145 using typename Superclass::OutputVnlVectorType;
148 using typename Superclass::InputVectorPixelType;
149 using typename Superclass::OutputVectorPixelType;
152 using typename Superclass::InputDiffusionTensor3DType;
153 using typename Superclass::OutputDiffusionTensor3DType;
156 using typename Superclass::InputSymmetricSecondRankTensorType;
157 using typename Superclass::OutputSymmetricSecondRankTensorType;
160 using typename Superclass::TransformQueueType;
163 using typename Superclass::NumberOfParametersType;
169 static constexpr unsigned int InputDimension = VDimension;
170 static constexpr unsigned int OutputDimension = VDimension;
177 this->m_TransformsToOptimizeFlags.at(i) = state;
184 this->SetNthTransformToOptimize(i,
true);
190 this->SetNthTransformToOptimize(i,
false);
196 this->m_TransformsToOptimizeFlags.assign(this->m_TransformsToOptimizeFlags.size(), state);
203 this->SetAllTransformsToOptimize(
true);
209 this->SetAllTransformsToOptimize(
false);
218 this->SetAllTransformsToOptimize(
false);
219 this->SetNthTransformToOptimizeOn(this->GetNumberOfTransforms() - 1);
229 return this->m_TransformsToOptimizeFlags.at(i);
233 virtual const TransformsToOptimizeFlagsType &
236 return this->m_TransformsToOptimizeFlags;
242 Superclass::ClearTransformQueue();
243 this->m_TransformsToOptimizeFlags.clear();
275 using Superclass::TransformVector;
295 using Superclass::TransformCovariantVector;
310 using Superclass::TransformDiffusionTensor3D;
326 using Superclass::TransformSymmetricSecondRankTensor;
436 Superclass::PushFrontTransform(t);
438 this->m_TransformsToOptimizeFlags.push_front(
true);
444 Superclass::PushBackTransform(t);
446 this->m_TransformsToOptimizeFlags.push_back(
true);
452 Superclass::PopFrontTransform();
453 this->m_TransformsToOptimizeFlags.pop_front();
459 Superclass::PopBackTransform();
460 this->m_TransformsToOptimizeFlags.pop_back();
464 const TransformQueueType &
476#ifndef ITK_MANUAL_INSTANTIATION
477# include "itkCompositeTransform.hxx"
Array2D class representing a 2D array.
Array class with size defined at construction time.
A templated class holding a n-Dimensional covariant vector.
Represent a diffusion tensor as used in DTI images.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Class to hold and manage different parameter types used during optimization.
A templated class holding a geometric point in n-Dimensional space.
Represent a symmetric tensor of second rank.
A templated class holding a n-Dimensional vector.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType ModifiedTimeType
unsigned long SizeValueType