|
|
Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxMultiBSplineTransformWithNormal.h>
A transform based on the itkMultiBSplineDeformableTransformWithNormal.
This transform is a composition of B-spline transformations, allowing sliding motion between different labels.
The parameters used in this class are:
Transform: Select this transform as follows:
(Transform "MultiBSplineTransformWithNormal")
BSplineTransformSplineOrder: choose a B-spline order 1,2, or 3.
example: (BSplineTransformSplineOrder 3)
Default value: 3 (cubic B-splines).
FinalGridSpacingInVoxels: the grid spacing of the B-spline transform for each dimension.
example: (FinalGridSpacingInVoxels 8.0 8.0 8.0)
If only one argument is given, that factor is used for each dimension. The spacing is not in millimeters, but in "voxel size units". The default is 16.0 in every dimension.
FinalGridSpacingInPhysicalUnits: the grid spacing of the B-spline transform for each dimension.
example: (FinalGridSpacingInPhysicalUnits 8.0 8.0 8.0)
If only one argument is given, that factor is used for each dimension. The spacing is specified in millimeters. If not specified, the FinalGridSpacingInVoxels is used, or the FinalGridSpacing, to compute a FinalGridSpacingInPhysicalUnits. If those are not specified, the default value for FinalGridSpacingInVoxels is used to compute a FinalGridSpacingInPhysicalUnits. If an affine transformation is provided as initial transformation, the control grid will be scaled to cover the fixed image domain in the space defined by the initial transformation.
GridSpacingSchedule: the grid spacing downsampling factors for the B-spline transform for each dimension and each resolution.
example: (GridSpacingSchedule 4.0 4.0 2.0 2.0 1.0 1.0)
Which is an example for a 2D image, using 3 resolutions.
For convenience, you may also specify only one value for each resolution:
example: (GridSpacingSchedule 4.0 2.0 1.0 )
which is equivalent to the example above.
The transform parameters necessary for transformix, additionally defined by this class, are:
GridSize: stores the size of the B-spline grid.
example: (GridSize 16 16 16)
GridIndex: stores the index of the B-spline grid.
example: (GridIndex 0 0 0)
GridSpacing: stores the spacing of the B-spline grid.
example: (GridSpacing 16.0 16.0 16.0)
GridOrigin: stores the origin of the B-spline grid.
example: (GridOrigin 0.0 0.0 0.0)
GridDirection: stores the direction cosines of the B-spline grid.
The matrix elements must be specified in column-major order.
example: (GridDirection 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.1)
BSplineTransformSplineOrder: stores the B-spline order 1,2, or 3.
example: (BSplineTransformSplineOrder 3) Default value: 3 (cubic B-splines).
Definition at line 91 of file elxMultiBSplineTransformWithNormal.h.
Public Member Functions | |
| int | BeforeAll () override |
| void | BeforeEachResolution () override |
| void | BeforeRegistration () override |
| elxClassNameMacro ("MultiBSplineTransformWithNormal") | |
| virtual void | IncreaseScale () |
| ITK_DISALLOW_COPY_AND_MOVE (MultiBSplineTransformWithNormal) | |
| itkOverrideGetNameOfClassMacro (MultiBSplineTransformWithNormal) | |
| itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension) | |
| void | ReadFromFile () override |
| virtual void | SetOptimizerScales (const unsigned int edgeWidth) |
| Public Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions > | |
| void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
| const FixedParametersType & | GetFixedParameters () const override |
| bool | GetHasNonZeroSpatialHessian () const override |
| bool | GetInverse (Self *inverse) const |
| void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) 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 |
| const TransformTypePointer | GetNthTransform (SizeValueType n) const |
| NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const override |
| NumberOfParametersType | GetNumberOfParameters () const override |
| SizeValueType | GetNumberOfTransforms () const |
| const ParametersType & | GetParameters () const override |
| void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override |
| void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override |
| TransformCategoryEnum | GetTransformCategory () const override |
| virtual bool | GetUseAddition () const |
| virtual bool | GetUseComposition () const |
| bool | HasNonZeroJacobianOfSpatialHessian () const |
| bool | IsLinear () const override |
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedCombinationTransform) | |
| itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType) | |
| itkGetModifiableObjectMacro (InitialTransform, InitialTransformType) | |
| itkOverrideGetNameOfClassMacro (AdvancedCombinationTransform) | |
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) | |
| void | SetCurrentTransform (CurrentTransformType *_arg) |
| void | SetFixedParameters (const FixedParametersType &fixedParam) override |
| void | SetInitialTransform (InitialTransformType *_arg) |
| void | SetParameters (const ParametersType ¶m) override |
| void | SetParametersByValue (const ParametersType ¶m) override |
| void | SetUseAddition (bool _arg) |
| void | SetUseComposition (bool _arg) |
| OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override |
| OutputPointType | TransformPoint (const InputPointType &point) 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 bool | GetHasNonZeroJacobianOfSpatialHessian () const |
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
| itkOverrideGetNameOfClassMacro (AdvancedTransform) | |
| itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
| Public Member Functions inherited from elastix::TransformBase< TElastix > | |
| int | BeforeAllTransformix () |
| void | ComputeAndWriteSpatialJacobianDeterminantImage () const |
| void | ComputeAndWriteSpatialJacobianMatrixImage () const |
| SpatialJacobianDeterminantImageType::Pointer | ComputeSpatialJacobianDeterminantImage () const |
| SpatialJacobianMatrixImageType::Pointer | ComputeSpatialJacobianMatrixImage () const |
| void | CreateTransformParameterMap (const ParametersType ¶m, ParameterMapType ¶meterMap, const bool includeDerivedTransformParameters=true) const |
| ITKBaseType * | GetAsITKBaseType () |
| const ITKBaseType * | GetAsITKBaseType () const |
| ITK_DISALLOW_COPY_AND_MOVE (TransformBase) | |
| itkOverrideGetNameOfClassMacro (TransformBase) | |
| itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) | |
| itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) | |
| void | ReadInitialTransformFromFile (const std::string &transformParameterFileName) |
| void | SetFinalParameters () |
| void | SetInitialTransform (InitialTransformType *_arg) |
| void | SetReadWriteTransformParameters (const bool _arg) |
| void | SetTransformParameterFileName (const std::string &filename) |
| template<typename TMesh> | |
| TMesh::Pointer | TransformMesh (const TMesh &mesh) const |
| void | TransformPoints () const |
| void | WriteToFile (std::ostream &transformationParameterInfo, const ParametersType ¶m) const |
| Public Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
| void | AddTargetCellToIterationInfo (const char *const name) |
| const Configuration * | GetConfiguration () const |
| ElastixType * | GetElastix () const |
| auto & | GetIterationInfoAt (const char *const name) |
| itk::Statistics::MersenneTwisterRandomVariateGenerator & | GetRandomVariateGenerator () |
| RegistrationType * | GetRegistration () const |
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) | |
| void | RemoveTargetCellFromIterationInfo (const char *const name) |
| void | SetConfiguration (const Configuration *_arg) |
| void | SetElastix (ElastixType *_arg) |
| Public Member Functions inherited from elastix::BaseComponent | |
| virtual void | AfterEachIteration () |
| virtual void | AfterEachIterationBase () |
| virtual void | AfterEachResolution () |
| virtual void | AfterEachResolutionBase () |
| virtual void | AfterRegistration () |
| virtual void | BeforeEachResolutionBase () |
| virtual const char * | elxGetClassName () const |
| const char * | GetComponentLabel () const |
| ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) | |
| itkVirtualGetNameOfClassMacro (BaseComponent) | |
| void | SetComponentLabel (const char *label, unsigned int idx) |
Static Public Member Functions | |
| static Pointer | New () |
| Static Public Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions > | |
| static Pointer | New () |
| Static Public Member Functions inherited from elastix::BaseComponent | |
| template<typename TBaseComponent> | |
| static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
| static void | InitializeElastixExecutable () |
| static bool | IsElastixLibrary () |
Private Member Functions | |
| ParameterMapType | CreateDerivedTransformParameterMap () const override |
| unsigned int | InitializeBSplineTransform () |
| void | InitializeTransform () |
Private Attributes | |
| elxOverrideGetSelfMacro | |
| GridScheduleComputerPointer | m_GridScheduleComputer |
| GridUpsamplerPointer | m_GridUpsampler |
| ImageLabelPointer | m_Labels |
| std::string | m_LabelsPath |
| MultiBSplineTransformWithNormalCubicType::Pointer | m_MultiBSplineTransformWithNormal |
| unsigned int | m_SplineOrder |
Additional Inherited Members | |
| Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 > | |
| bool | m_HasNonZeroJacobianOfSpatialHessian |
| bool | m_HasNonZeroSpatialHessian |
| Protected Attributes inherited from elastix::BaseComponentSE< TElastix > | |
| Configuration::ConstPointer | m_Configuration {} |
| itk::WeakPointer< TElastix > | m_Elastix {} |
| RegistrationType * | m_Registration {} |
| using elastix::MultiBSplineTransformWithNormal< TElastix >::BSplineTransformBasePointer = typename BSplineTransformBaseType::Pointer |
Definition at line 128 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::BSplineTransformBaseType |
The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform.
Definition at line 125 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType |
Definition at line 179 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 105 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ContinuousIndexType = typename BSplineTransformBaseType::ContinuousIndexType |
Definition at line 168 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::TransformBase< TElastix >::CoordinateType |
Elastix typedef's.
Definition at line 163 of file elxTransformBase.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::DirectionType = typename BSplineTransformBaseType::DirectionType |
Definition at line 167 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::TransformBase< TElastix >::FixedImageType |
Definition at line 164 of file elxTransformBase.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::GridScheduleComputerPointer = typename GridScheduleComputerType::Pointer |
Definition at line 183 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::GridScheduleComputerType = itk::GridScheduleComputer<CoordinateType, SpaceDimension> |
Typedef's for the GridScheduleComputer and the UpsampleBSplineParametersFilter.
Definition at line 182 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::GridScheduleType = typename GridScheduleComputerType ::VectorGridSpacingFactorType |
Definition at line 184 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::GridUpsamplerPointer = typename GridUpsamplerType::Pointer |
Definition at line 186 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::GridUpsamplerType = itk::UpsampleBSplineParametersFilter<ParametersType, ImageType> |
Definition at line 185 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ImageLabelPointer = typename ImageLabelType::Pointer |
Definition at line 190 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ImageLabelType = itk::Image<unsigned char, Self::SpaceDimension> |
Typdef's for the Image of Labels
Definition at line 189 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ImagePointer = typename BSplineTransformBaseType::ImagePointer |
Definition at line 161 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ImageType = typename BSplineTransformBaseType::ImageType |
Definition at line 160 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::IndexType = typename BSplineTransformBaseType::IndexType |
Definition at line 163 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 178 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::TransformBase< TElastix >::MovingImageType |
Definition at line 165 of file elxTransformBase.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::MultiBSplineTransformWithNormalCubicType |
Definition at line 139 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::MultiBSplineTransformWithNormalLinearType |
Typedef for supported BSplineTransform types.
Definition at line 131 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::MultiBSplineTransformWithNormalQuadraticType |
Definition at line 135 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::OriginType = typename BSplineTransformBaseType::OriginType |
Definition at line 166 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::ParameterIndexArrayType = typename BSplineTransformBaseType::ParameterIndexArrayType |
Definition at line 169 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::TransformBase< TElastix >::ParameterMapType |
Typedef that is used in the elastix dll version.
Definition at line 206 of file elxTransformBase.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 104 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::RegionType = typename BSplineTransformBaseType::RegionType |
Definition at line 162 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::Self = MultiBSplineTransformWithNormal |
Standard ITK-stuff.
Definition at line 100 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::SizeType = typename BSplineTransformBaseType::SizeType |
Definition at line 164 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::SpacingType = typename BSplineTransformBaseType::SpacingType |
Definition at line 165 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::Superclass1 |
Definition at line 101 of file elxMultiBSplineTransformWithNormal.h.
| using elastix::MultiBSplineTransformWithNormal< TElastix >::Superclass2 = elx::TransformBase<TElastix> |
Definition at line 103 of file elxMultiBSplineTransformWithNormal.h.
|
protecteddefault |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Execute stuff before anything else is done:
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Execute stuff before each new pyramid resolution:
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Execute stuff before the actual registration:
Reimplemented from elastix::BaseComponent.
|
overrideprivatevirtual |
Creates a map of the parameters specific for this (derived) transform type.
Implements elastix::TransformBase< TElastix >.
| elastix::MultiBSplineTransformWithNormal< TElastix >::elxClassNameMacro | ( | "MultiBSplineTransformWithNormal< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "BSplineTransform")
|
virtual |
Method to increase the density of the BSpline grid.
|
private |
Initialize the right BSplineTransfrom based on the spline order and periodicity.
|
private |
Method to set the initial BSpline grid and initialize the parameters (to 0).
| elastix::MultiBSplineTransformWithNormal< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | MultiBSplineTransformWithNormal< TElastix > | ) |
| elastix::MultiBSplineTransformWithNormal< TElastix >::itkOverrideGetNameOfClassMacro | ( | MultiBSplineTransformWithNormal< TElastix > | ) |
Run-time type information (and related methods).
| elastix::MultiBSplineTransformWithNormal< TElastix >::itkStaticConstMacro | ( | SpaceDimension | , |
| unsigned int | , | ||
| Superclass2::FixedImageDimension | ) |
Dimension of the fixed image.
|
static |
Method for creation through the object factory.
|
protectedvirtual |
Read user-specified gridspacing and call the itkGridScheduleComputer.
|
overridevirtual |
Function to read transform-parameters from a file.
Reimplemented from elastix::TransformBase< TElastix >.
|
virtual |
Set the scales of the edge B-spline coefficients to zero.
|
private |
Definition at line 248 of file elxMultiBSplineTransformWithNormal.h.
|
private |
Definition at line 264 of file elxMultiBSplineTransformWithNormal.h.
|
private |
Definition at line 265 of file elxMultiBSplineTransformWithNormal.h.
|
private |
Definition at line 266 of file elxMultiBSplineTransformWithNormal.h.
|
private |
Definition at line 267 of file elxMultiBSplineTransformWithNormal.h.
|
private |
Private variables.
Definition at line 263 of file elxMultiBSplineTransformWithNormal.h.
|
private |
Variable to remember order of MultiBSplineTransformWithNormal.
Definition at line 270 of file elxMultiBSplineTransformWithNormal.h.
Generated on 1774142652 for elastix by 1.15.0 |