18#ifndef itkWeightedCombinationTransform_h
19#define itkWeightedCombinationTransform_h
41template <
class TScalarType,
unsigned int NInputDimensions = 3,
unsigned int NOutputDimensions = 3>
65 using typename Superclass::ScalarType;
66 using typename Superclass::ParametersType;
67 using typename Superclass::NumberOfParametersType;
68 using typename Superclass::JacobianType;
69 using typename Superclass::InputVectorType;
70 using typename Superclass::OutputVectorType;
71 using typename Superclass::InputCovariantVectorType;
72 using typename Superclass::OutputCovariantVectorType;
73 using typename Superclass::InputVnlVectorType;
74 using typename Superclass::OutputVnlVectorType;
75 using typename Superclass::InputPointType;
76 using typename Superclass::OutputPointType;
84 using TransformType = Transform<TScalarType, NInputDimensions, NOutputDimensions>;
97 itkExceptionMacro(
"TransformVector(const InputVectorType &) is not implemented for WeightedCombinationTransform");
105 "TransformVector(const InputVnlVectorType &) is not implemented for WeightedCombinationTransform");
109 OutputCovariantVectorType
112 itkExceptionMacro(
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented for "
113 "WeightedCombinationTransform");
140 const ParametersType &
144 return this->m_FixedParameters;
149 NumberOfParametersType
152 return this->m_TransformContainer.size();
158 itkSetMacro(NormalizeWeights,
bool);
159 itkGetConstMacro(NormalizeWeights,
bool);
165 this->m_TransformContainer = transformContainer;
179 const TransformContainerType &
182 return this->m_TransformContainer;
190 itkExceptionMacro(
"Not implemented for WeightedCombinationTransform");
197 itkExceptionMacro(
"Not implemented for WeightedCombinationTransform");
206 itkExceptionMacro(
"Not implemented for WeightedCombinationTransform");
216 itkExceptionMacro(
"Not implemented for WeightedCombinationTransform");
225 itkExceptionMacro(
"Not implemented for WeightedCombinationTransform");
235 itkExceptionMacro(
"Not implemented for WeightedCombinationTransform");
244 double m_SumOfWeights{};
251 using Superclass::TransformCovariantVector;
252 using Superclass::TransformVector;
254 bool m_NormalizeWeights{};
259#ifndef ITK_MANUAL_INSTANTIATION
260# include "itkWeightedCombinationTransform.hxx"