#include <itkStackTransform.h>
Implements stack of transforms: one for every last dimension index.
A list of transforms with dimension of Dimension - 1 is maintained: one for every last dimension index. This transform selects the right transform based on the last dimension index of the input point.
Definition at line 40 of file itkStackTransform.h.
Public Member Functions | |
virtual const char * | GetClassName () const |
void | GetJacobian (const InputPointType &inputPoint, JacobianType &jac, NonZeroJacobianIndicesType &nzji) const override |
NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const override |
NumberOfParametersType | GetNumberOfParameters () const override |
auto | GetNumberOfSubTransforms () const |
const ParametersType & | GetParameters () const override |
virtual TScalarType | GetStackOrigin () const |
virtual TScalarType | GetStackSpacing () const |
SubTransformPointer | GetSubTransform (unsigned int i) |
ITK_DISALLOW_COPY_AND_MOVE (StackTransform) | |
itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
itkStaticConstMacro (ReducedInputSpaceDimension, unsigned int, NInputDimensions - 1) | |
itkStaticConstMacro (ReducedOutputSpaceDimension, unsigned int, NOutputDimensions - 1) | |
void | SetAllSubTransforms (const SubTransformType &transform) |
void | SetFixedParameters (const FixedParametersType &fixedParameters) override |
void | SetNumberOfSubTransforms (const unsigned int num) |
void | SetParameters (const ParametersType ¶m) override |
virtual void | SetStackOrigin (TScalarType _arg) |
virtual void | SetStackSpacing (TScalarType _arg) |
void | SetSubTransform (unsigned int i, SubTransformType *transform) |
OutputPointType | TransformPoint (const InputPointType &inputPoint) const override |
void | UpdateFixedParameters () |
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 |
ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
Protected Types | |
enum | { IndexOfNumberOfSubTransforms , IndexOfStackSpacing , IndexOfStackOrigin , NumberOfGeneralFixedParametersOfStack } |
Protected Member Functions | |
void | CreateSubTransforms (const FixedParametersType &fixedParametersOfSubTransform) |
StackTransform ()=default | |
virtual void | UpdateFixedParametersInternally (const FixedParametersType &fixedParametersOfSubTransform) |
void | UpdateStackSpacingAndOrigin () |
~StackTransform () override=default | |
Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
AdvancedTransform ()=default | |
~AdvancedTransform () override=default | |
Private Member Functions | |
virtual SubTransformPointer | CreateSubTransform () const =0 |
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 |
void | GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override |
void | GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override |
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override |
OutputVectorType | TransformVector (const InputVectorType &) const override |
OutputVnlVectorType | TransformVector (const InputVnlVectorType &) const override |
Private Attributes | |
TScalarType | m_StackOrigin { 0.0 } |
TScalarType | m_StackSpacing { 1.0 } |
std::vector< SubTransformPointer > | m_SubTransformContainer {} |
Static Private Attributes | |
static constexpr const char * | unimplementedOverrideMessage = "Not implemented for StackTransform" |
Additional Inherited Members | |
Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > | |
bool | m_HasNonZeroJacobianOfSpatialHessian |
bool | m_HasNonZeroSpatialHessian |
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 49 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersArrayType = typename ParametersType::ArrayType |
Array type for parameter vector instantiation.
Definition at line 94 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::Pointer = SmartPointer<Self> |
Definition at line 48 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::Self = StackTransform |
Standard class typedefs.
Definition at line 46 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformInputPointType = typename SubTransformType::InputPointType |
Dimension - 1 point types.
Definition at line 90 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformJacobianType = typename SubTransformType::JacobianType |
Definition at line 87 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformOutputPointType = typename SubTransformType::OutputPointType |
Definition at line 91 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformPointer = typename SubTransformType::Pointer |
Definition at line 86 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformType |
Sub transform types, having a reduced dimension.
Definition at line 84 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::Superclass = AdvancedTransform<TScalarType, NInputDimensions, NOutputDimensions> |
Definition at line 47 of file itkStackTransform.h.
|
protected |
Enumerator | |
---|---|
IndexOfNumberOfSubTransforms | |
IndexOfStackSpacing | |
IndexOfStackOrigin | |
NumberOfGeneralFixedParametersOfStack |
Definition at line 241 of file itkStackTransform.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
privatepure virtual |
Each override of this pure virtual member function should create a subtransform for the specific (derived) stack transform type. For example, for an TranslationStackTransform
it should create an AdvancedTranslationTransform
, and for an EulerStackTransform
it should create an EulerTransform
.
Implemented in itk::AffineLogStackTransform< NDimension >, itk::BSplineStackTransform< NDimension >, itk::EulerStackTransform< NDimension >, and itk::TranslationStackTransform< NDimension >.
|
inlineprotected |
Definition at line 250 of file itkStackTransform.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Reimplemented in itk::AffineLogStackTransform< NDimension >, itk::BSplineStackTransform< NDimension >, itk::EulerStackTransform< NDimension >, and itk::TranslationStackTransform< NDimension >.
|
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 threadsafe, unlike the normal GetJacobian function.
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 371 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 380 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 354 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 362 of file itkStackTransform.h.
|
overridevirtual |
Get number of nonzero Jacobian indices.
Reimplemented from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
|
inlineoverride |
Return the number of sub transforms that have been set.
Definition at line 143 of file itkStackTransform.h.
|
inline |
Definition at line 170 of file itkStackTransform.h.
|
override |
Get the parameters. Concatenates the parameters of the sub transforms.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 348 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Must be provided.
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 342 of file itkStackTransform.h.
|
virtual |
|
virtual |
|
inline |
Get a sub transform.
Definition at line 226 of file itkStackTransform.h.
itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::ITK_DISALLOW_COPY_AND_MOVE | ( | StackTransform< TScalarType, NInputDimensions, NOutputDimensions > | ) |
itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | InputSpaceDimension | , |
unsigned int | , | ||
NInputDimensions | ) |
(Reduced) dimension of the domain space.
itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | OutputSpaceDimension | , |
unsigned int | , | ||
NOutputDimensions | ) |
itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | ReducedInputSpaceDimension | , |
unsigned int | , | ||
NInputDimensions - | 1 ) |
itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro | ( | ReducedOutputSpaceDimension | , |
unsigned int | , | ||
NOutputDimensions - | 1 ) |
|
inline |
Set all sub transforms to transform.
Definition at line 205 of file itkStackTransform.h.
|
inlineoverride |
Set the fixed parameters.
Definition at line 120 of file itkStackTransform.h.
|
inline |
Set/get number of transforms needed.
Definition at line 158 of file itkStackTransform.h.
|
override |
Set the parameters. Checks if the number of parameters is correct and sets parameters of sub transforms.
|
virtual |
|
virtual |
Set/get stack transform parameters.
|
inline |
Set the initial transform for sub transform i.
Definition at line 184 of file itkStackTransform.h.
|
inlineoverrideprivate |
Definition at line 334 of file itkStackTransform.h.
|
override |
Method to transform a point.
|
inlineoverrideprivate |
These vector transforms are not implemented for this transform.
Definition at line 322 of file itkStackTransform.h.
|
inlineoverrideprivate |
Definition at line 328 of file itkStackTransform.h.
|
inline |
Sets the fixed parameters to the general fixed parameters of the stack + the fixed parameters of the first sub-transform (if any).
Definition at line 194 of file itkStackTransform.h.
|
inlineprotectedvirtual |
Sets the fixed parameters to the general fixed parameters of the stack + the specified fixed parameters of a sub-transform.
Reimplemented in itk::BSplineStackTransform< NDimension >.
Definition at line 285 of file itkStackTransform.h.
|
inlineprotected |
Definition at line 274 of file itkStackTransform.h.
|
private |
Definition at line 394 of file itkStackTransform.h.
|
private |
Definition at line 393 of file itkStackTransform.h.
|
private |
Definition at line 390 of file itkStackTransform.h.
|
staticconstexprprivate |
Definition at line 318 of file itkStackTransform.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |