|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkWeightedCombinationTransform.h>
Implements a weighted linear combination of multiple transforms.
This transform implements:
![\[T(x) = x + \sum_i w_i ( T_i(x) - x )\]](form_160.png)
where 
Alternatively, if the NormalizeWeights parameter is set to true, the transformation is as follows:
![\[T(x) = \sum_i w_i T_i(x) / \sum_i w_i\]](form_161.png)
Definition at line 42 of file itkWeightedCombinationTransform.h.
Inheritance diagram for itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >:Public Types | |
| using | ConstPointer = SmartPointer< const Self > |
| using | Pointer = SmartPointer< Self > |
| using | Self = WeightedCombinationTransform |
| using | Superclass = AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > |
| using | TransformContainerType = std::vector< TransformPointer > |
| using | TransformPointer = typename TransformType::Pointer |
| using | TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
Public Types inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| using | ConstPointer = SmartPointer< const Self > |
| using | InternalMatrixType = typename SpatialJacobianType::InternalMatrixType |
| using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
| using | JacobianOfSpatialHessianType = std::vector< SpatialHessianType > |
| using | JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType > |
| using | MovingImageGradientType = OutputCovariantVectorType |
| using | MovingImageGradientValueType = typename MovingImageGradientType::ValueType |
| using | NonZeroJacobianIndicesType = std::vector< unsigned long > |
| using | Pointer = SmartPointer< Self > |
| using | Self = AdvancedTransform |
| using | SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > |
| using | SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > |
| using | Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
| using | TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
| using | TransformTypeConstPointer = typename TransformType::ConstPointer |
| using | TransformTypePointer = typename TransformType::Pointer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| const ParametersType & | GetFixedParameters () const override |
| void | GetJacobian (const InputPointType &inputPoint, JacobianType &jac, NonZeroJacobianIndicesType &nzji) const override |
| void | GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override |
| void | GetJacobianOfSpatialHessian (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override |
| void | GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override |
| void | GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override |
| virtual bool | GetNormalizeWeights () const |
| NumberOfParametersType | GetNumberOfParameters () const override |
| void | GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override |
| void | GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override |
| const TransformContainerType & | GetTransformContainer () const |
| ITK_DISALLOW_COPY_AND_MOVE (WeightedCombinationTransform) | |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
| void | SetFixedParameters (const ParametersType &) override |
| virtual void | SetNormalizeWeights (bool _arg) |
| void | SetParameters (const ParametersType ¶m) override |
| virtual void | SetTransformContainer (const TransformContainerType &transformContainer) |
| OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override |
| OutputPointType | TransformPoint (const InputPointType &inputPoint) const override |
| OutputVectorType | TransformVector (const InputVectorType &) const override |
| OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override |
Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
| virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
| virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
| virtual bool | GetHasNonZeroSpatialHessian () const |
| virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
| itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| WeightedCombinationTransform () | |
| ~WeightedCombinationTransform () override=default | |
Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| AdvancedTransform ()=default | |
| ~AdvancedTransform () override=default | |
Protected Attributes | |
| NonZeroJacobianIndicesType | m_NonZeroJacobianIndices {} |
| double | m_SumOfWeights {} |
| TransformContainerType | m_TransformContainer {} |
Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
| bool | m_HasNonZeroJacobianOfSpatialHessian { true } |
| bool | m_HasNonZeroSpatialHessian { true } |
Private Attributes | |
| bool | m_NormalizeWeights {} |
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 52 of file itkWeightedCombinationTransform.h.
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::Pointer = SmartPointer<Self> |
Definition at line 51 of file itkWeightedCombinationTransform.h.
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::Self = WeightedCombinationTransform |
Standard class typedefs.
Definition at line 49 of file itkWeightedCombinationTransform.h.
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::Superclass = AdvancedTransform<TScalarType, NInputDimensions, NOutputDimensions> |
Definition at line 50 of file itkWeightedCombinationTransform.h.
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformContainerType = std::vector<TransformPointer> |
Definition at line 87 of file itkWeightedCombinationTransform.h.
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformPointer = typename TransformType::Pointer |
Definition at line 86 of file itkWeightedCombinationTransform.h.
| using itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::TransformType = Transform<TScalarType, NInputDimensions, NOutputDimensions> |
New typedefs in this class:
Definition at line 84 of file itkWeightedCombinationTransform.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
inlineoverride |
Get the Fixed Parameters.
Definition at line 141 of file itkWeightedCombinationTransform.h.
|
overridevirtual |
This returns a sparse version of the Jacobian of the transformation. In this class however, the Jacobian is not sparse. However, it is a useful function, since the Jacobian is passed by reference, which makes it thread-safe, unlike the normal GetJacobian function.
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 221 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 230 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 202 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 211 of file itkWeightedCombinationTransform.h.
|
virtual |
|
inlineoverride |
Return the number of sub-transforms that have been set.
Definition at line 150 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 195 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Must be provided.
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 188 of file itkWeightedCombinationTransform.h.
|
inline |
Return the vector of sub-transforms by const reference. So, if you want to add a sub-transform, you should do something like this: TransformContainerType vec = transform->GetTransformContainer(); vec.push_back( newsubtransformPointer ); transform->SetTransformContainer( vec ); Although perhaps not really efficient, this makes sure that this->Modified() is called when the transform container is updated.
Definition at line 180 of file itkWeightedCombinationTransform.h.
| itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::ITK_DISALLOW_COPY_AND_MOVE | ( | WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions > | ) |
| itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | InputSpaceDimension | , |
| unsigned int | , | ||
| NInputDimensions | |||
| ) |
Dimension of the domain space.
| itk::WeightedCombinationTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | OutputSpaceDimension | , |
| unsigned int | , | ||
| NOutputDimensions | |||
| ) |
|
static |
New method for creating an object using a factory.
|
inlineoverride |
Set the fixed parameters.
Definition at line 133 of file itkWeightedCombinationTransform.h.
|
virtual |
Set/get if the weights (parameters) should be normalized. Default: false.
|
override |
Set the parameters. Computes the sum of weights (which is the normalization term). And checks if the number of parameters is correct
|
inlinevirtual |
Set the vector of subtransforms. Calls a this->Modified()
Definition at line 163 of file itkWeightedCombinationTransform.h.
|
inlineoverride |
Definition at line 110 of file itkWeightedCombinationTransform.h.
|
override |
Method to transform a point.
|
inlineoverride |
These vector transforms are not implemented for this transform.
Definition at line 95 of file itkWeightedCombinationTransform.h.
|
inlineoverride |
Definition at line 102 of file itkWeightedCombinationTransform.h.
|
protected |
Precomputed nonzero Jacobian indices (simply all params)
Definition at line 247 of file itkWeightedCombinationTransform.h.
|
private |
Definition at line 254 of file itkWeightedCombinationTransform.h.
|
protected |
Definition at line 244 of file itkWeightedCombinationTransform.h.
|
protected |
Definition at line 243 of file itkWeightedCombinationTransform.h.
Generated on 1739326392 for elastix by 1.9.8 |