#include <itkWeightedCombinationTransform.h>
Implements a weighted linear combination of multiple transforms.
This transform implements:
where are the weights, which are the transform's parameters, and can be set/get by Set/GetParameters().
Alternatively, if the NormalizeWeights parameter is set to true, the transformation is as follows:
Definition at line 42 of file itkWeightedCombinationTransform.h.
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, 3, 3 > | |
using | ConstPointer |
using | InternalMatrixType |
using | InverseTransformBaseType |
using | JacobianOfSpatialHessianType |
using | JacobianOfSpatialJacobianType |
using | MovingImageGradientType |
using | MovingImageGradientValueType |
using | NonZeroJacobianIndicesType |
using | Pointer |
using | Self |
using | SpatialHessianType |
using | SpatialJacobianType |
using | Superclass |
using | TransformType |
using | TransformTypeConstPointer |
using | TransformTypePointer |
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, 3, 3 > | |
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, 3, 3 > | |
AdvancedTransform ()=default | |
~AdvancedTransform () override=default | |
Protected Attributes | |
NonZeroJacobianIndicesType | m_NonZeroJacobianIndices {} |
double | m_SumOfWeights {} |
TransformContainerType | m_TransformContainer {} |
Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 > | |
bool | m_HasNonZeroJacobianOfSpatialHessian |
bool | m_HasNonZeroSpatialHessian |
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, 3, 3 >.
|
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, 3, 3 >.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, 3, 3 >.
Definition at line 221 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, 3, 3 >.
Definition at line 230 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, 3, 3 >.
Definition at line 202 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, 3, 3 >.
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, 3, 3 >.
Definition at line 195 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Must be provided.
Implements itk::AdvancedTransform< TScalarType, 3, 3 >.
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 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |