![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#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 38 of file itkStackTransform.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | ParametersArrayType = typename ParametersType::ArrayType |
using | Pointer = SmartPointer< Self > |
using | Self = StackTransform |
using | SubTransformInputPointType = typename SubTransformType::InputPointType |
using | SubTransformJacobianType = typename SubTransformType::JacobianType |
using | SubTransformOutputPointType = typename SubTransformType::OutputPointType |
using | SubTransformPointer = typename SubTransformType::Pointer |
using | SubTransformType = AdvancedTransform< TScalarType, Self::ReducedInputSpaceDimension, Self::ReducedOutputSpaceDimension > |
using | Superclass = 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 |
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 () |
![]() | |
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) | |
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 | |
![]() | |
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 | |
![]() | |
bool | m_HasNonZeroJacobianOfSpatialHessian |
bool | m_HasNonZeroSpatialHessian |
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 47 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::ParametersArrayType = typename ParametersType::ArrayType |
Array type for parameter vector instantiation.
Definition at line 92 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::Pointer = SmartPointer<Self> |
Definition at line 46 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::Self = StackTransform |
Standard class typedefs.
Definition at line 44 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformInputPointType = typename SubTransformType::InputPointType |
Dimension - 1 point types.
Definition at line 88 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformJacobianType = typename SubTransformType::JacobianType |
Definition at line 85 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformOutputPointType = typename SubTransformType::OutputPointType |
Definition at line 89 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformPointer = typename SubTransformType::Pointer |
Definition at line 84 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::SubTransformType = AdvancedTransform<TScalarType, Self::ReducedInputSpaceDimension, Self::ReducedOutputSpaceDimension> |
Sub transform types, having a reduced dimension.
Definition at line 82 of file itkStackTransform.h.
using itk::StackTransform< TScalarType, NInputDimensions, NOutputDimensions >::Superclass = AdvancedTransform<TScalarType, NInputDimensions, NOutputDimensions> |
Definition at line 45 of file itkStackTransform.h.
|
protected |
Enumerator | |
---|---|
IndexOfNumberOfSubTransforms | |
IndexOfStackSpacing | |
IndexOfStackOrigin | |
NumberOfGeneralFixedParametersOfStack |
Definition at line 239 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 248 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 365 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 374 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 348 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 356 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 141 of file itkStackTransform.h.
|
inline |
Definition at line 168 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 342 of file itkStackTransform.h.
|
inlineoverrideprivatevirtual |
Must be provided.
Implements itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >.
Definition at line 336 of file itkStackTransform.h.
|
virtual |
|
virtual |
|
inline |
Get a sub transform.
Definition at line 224 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 203 of file itkStackTransform.h.
|
inlineoverride |
Set the fixed parameters.
Definition at line 118 of file itkStackTransform.h.
|
inline |
Set/get number of transforms needed.
Definition at line 156 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 182 of file itkStackTransform.h.
|
inlineoverrideprivate |
Definition at line 328 of file itkStackTransform.h.
|
override |
Method to transform a point.
|
inlineoverrideprivate |
These vector transforms are not implemented for this transform.
Definition at line 316 of file itkStackTransform.h.
|
inlineoverrideprivate |
Definition at line 322 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 192 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 283 of file itkStackTransform.h.
|
inlineprotected |
Definition at line 272 of file itkStackTransform.h.
|
private |
Definition at line 388 of file itkStackTransform.h.
|
private |
Definition at line 387 of file itkStackTransform.h.
|
private |
Definition at line 384 of file itkStackTransform.h.
|
staticconstexprprivate |
Definition at line 312 of file itkStackTransform.h.
Generated on Wed 12 Apr 2023
for elastix by ![]() |
![]() |