![]() |
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:
where
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 > |
![]() | |
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 &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
virtual bool | GetNormalizeWeights () const |
NumberOfParametersType | GetNumberOfParameters () const override |
void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override |
void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) 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 |
![]() | |
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
virtual const char * | GetClassName () const |
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
virtual bool | GetHasNonZeroSpatialHessian () const |
virtual void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
virtual void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const =0 |
virtual void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const =0 |
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 | |
![]() | |
AdvancedTransform ()=default | |
~AdvancedTransform () override=default | |
Protected Attributes | |
NonZeroJacobianIndicesType | m_NonZeroJacobianIndices |
double | m_SumOfWeights |
TransformContainerType | m_TransformContainer |
![]() | |
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 142 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 222 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 231 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 203 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 212 of file itkWeightedCombinationTransform.h.
|
virtual |
|
inlineoverride |
Return the number of sub-transforms that have been set.
Definition at line 151 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 196 of file itkWeightedCombinationTransform.h.
|
inlineoverridevirtual |
Must be provided.
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 189 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 181 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 134 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 164 of file itkWeightedCombinationTransform.h.
|
inlineoverride |
Definition at line 111 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 103 of file itkWeightedCombinationTransform.h.
|
protected |
Precomputed nonzero Jacobian indices (simply all params)
Definition at line 248 of file itkWeightedCombinationTransform.h.
|
private |
Definition at line 251 of file itkWeightedCombinationTransform.h.
|
protected |
Definition at line 245 of file itkWeightedCombinationTransform.h.
|
protected |
Definition at line 244 of file itkWeightedCombinationTransform.h.
Generated on 2023-01-13
for elastix by ![]() |
![]() |