go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
elastix::BSplineTransformWithDiffusion< TElastix > Class Template Reference

#include <elxBSplineTransformWithDiffusion.h>

Detailed Description

template<class TElastix>
class elastix::BSplineTransformWithDiffusion< TElastix >

This class combines a B-spline transform with the diffusion/filtering of the deformation field.

Every n iterations the deformation field is diffused using the VectorMeanDiffusionImageFilter. The total transformation of a point is determined by adding the B-spline deformation to the deformation field arrow. Filtering of the deformation field is based on some 'stiffness coefficient' image.

Todo:
: this Transform has not been tested for images with Direction cosines matrix other than the identity matrix.
Warning
Using this transform in with the option (HowToCombineTranforms "Compose"). May give unpredictable results. Especially if the initial transformation is large. This is because the coefficient grid is not properly initialized. Better use (HowToCombineTranforms "Add").

The parameters used in this class are:

Parameters:

Transform: Select this transform as follows:
(Transform "BSplineTransformWithDiffusion")

FinalGridSpacing: the grid spacing of the B-spline transform part of this transform for each dimension.
example: (FinalGridSpacing 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 8.0 in every dimension.

UpsampleGridOption: whether or not the B-spline grid should be upsampled from one resolution level to another. Choose from {true, false}.
example: (UpsampleGridOption "true") The default is "true".

FilterPattern: defines according to what schedule/pattern the deformation field should be filtered. Choose from {1,2}, where FilterPattern 1 is diffusion every "DiffusionEachNIterations" iterations, and where FilterPattern 2 filters more frequent in the beginning and less frequent at the end of a resolution.
example: (FilterPattern 1) The default is filter pattern 1.

DiffusionEachNIterations: defines for FilterPattern 1 after how many iterations of the optimiser there should be a filtering step.
example: (DiffusionEachNIterations 5) The default is 1.

AfterIterations: defines for FilterPattern 2 after how many iterations of the optimiser the filter frequency should be increased.
example: (AfterIterations 100 200) The default is 50 and 100.

HowManyIterations: defines to what frequency the filtering should be increased.
example: (HowManyIterations 1 5 10) The default is 1, 5 and 10.

NumberOfDiffusionIterations: defines the number of times the adaptive filtering is performed.
example: (NumberOfDiffusionIterations 10) The default is 1.

Radius: defines the radius of the filter.
example: (Radius 1) The default is 1.

ThresholdBool: defines whether or not the stiffness coefficient image should be thresholded. Choose from {true, false}.
example: (ThresholdBool "true") The default is "true".

ThresholdHU: if it is thresholded, this defines the threshold in Houndsfield units.
example: (ThresholdHU 150) The default is 150.

WriteDiffusionFiles: defines whether or not the stiffness coefficient image, the deformation field and the filtered field should be written to file. Choose from {true, false}.
example: (WriteDiffusionFiles "true") The default is "false".

GrayValueImageAlsoBasedOnFixedImage: defines whether or not the stiffness coefficient image should also be based on the fixed image. Choose from {true, false}.
example: (GrayValueImageAlsoBasedOnFixedImage "true") The default is "true".

UseFixedSegmentation: defines whether or not the stiffness coefficient image should be based on some prior defined segmentation of rigid structures in the fixed image, instead on a thresholding. Choose from {true, false}.
example: (UseFixedSegmentation "true") The default is "false".

FixedSegmentationFileName: the filename of this segmentation.
example: (FixedSegmentationFileName "somestring")

UseMovingSegmentation: defines whether or not the stiffness coefficient image should be based on some prior defined segmentation of rigid structures in the moving image, instead on a thresholding. Choose from {true, false}.
example: (UseMovingSegmentation "true") The default is "false".

MovingSegmentationFileName: the filename of this segmentation.
example: (MovingSegmentationFileName "somestring")

DefaultPixelValueForGVI: the default pixel value, when resampling the grayvalueimage. example: (DefaultPixelValueForGVI 0) The default is 0.

The transform parameters necessary for transformix, additionally defined by this class, are:

Transform Parameters:

DeformationFieldFileName: stores the name of the deformation field.
example: (DeformationFieldFileName "defField.mhd")

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)

Definition at line 159 of file elxBSplineTransformWithDiffusion.h.

Inheritance diagram for elastix::BSplineTransformWithDiffusion< TElastix >:
Inheritance graph
[legend]

Public Types

using BSplineTransformPointer = typename BSplineTransformType::Pointer
 
using BSplineTransformType = itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, 3 >
 
using CombinationTransformType = typename Superclass2::CombinationTransformType
 
using ConstPointer = itk::SmartPointer< const Self >
 
using ContinuousIndexType = typename BSplineTransformType::ContinuousIndexType
 
using CoordRepType = ElastixBase::CoordRepType
 
using DiffusionFilterPointer = typename DiffusionFilterType::Pointer
 
using DiffusionFilterType = itk::VectorMeanDiffusionImageFilter< VectorImageType, GrayValueImageType >
 
using DummyImageType = itk::Image< short, Self::SpaceDimension >
 
using DummyIteratorType = itk::ImageRegionConstIterator< DummyImageType >
 
using FixedImageELXType = typename ElastixType::FixedImageType
 
using FixedImageType = typename TElastix::FixedImageType
 
using GenericDeformationFieldRegulizer = typename Superclass1::Superclass
 
using GrayValueImageIteratorType = itk::ImageRegionIterator< GrayValueImageType >
 
using GrayValueImagePointer = typename GrayValueImageType::Pointer
 
using GrayValueImageReaderPointer = typename GrayValueImageReaderType::Pointer
 
using GrayValueImageReaderType = itk::ImageFileReader< GrayValueImageType >
 
using GrayValueImageType = FixedImageELXType
 
using GrayValuePixelType = typename GrayValueImageType::PixelType
 
using ImagePointer = typename BSplineTransformType::ImagePointer
 
using ImageType = typename BSplineTransformType::ImageType
 
using IndexType = typename BSplineTransformType::IndexType
 
using IntermediaryDFTransformType = DeformationVectorFieldTransform< ScalarType, Self::InputSpaceDimension >
 
using InterpolatorPointer = typename InterpolatorType::Pointer
 
using InterpolatorType = itk::BSplineInterpolateImageFunction< GrayValueImageType >
 
using ITKBaseType = typename Superclass2::ITKBaseType
 
using MaximumImageFilterType = itk::MaximumImageFilter< GrayValueImageType, GrayValueImageType, GrayValueImageType >
 
using MovingImageELXType = typename ElastixType::MovingImageType
 
using MovingImageType = typename TElastix::MovingImageType
 
using OriginType = typename BSplineTransformType::OriginType
 
using ParameterIndexArrayType = typename BSplineTransformType::ParameterIndexArrayType
 
using ParameterMapType = typename TElastix::ParameterMapType
 
using Pointer = itk::SmartPointer< Self >
 
using RadiusType = typename VectorImageType::SizeType
 
using RegionType = typename BSplineTransformType::RegionType
 
using ResamplerPointer1 = typename ResamplerType1::Pointer
 
using ResamplerPointer2 = typename ResamplerType2::Pointer
 
using ResamplerType1 = itk::ResampleImageFilter< MovingImageELXType, GrayValueImageType, CoordRepType >
 
using ResamplerType2 = itk::ResampleImageFilter< GrayValueImageType, GrayValueImageType, CoordRepType >
 
using Self = BSplineTransformWithDiffusion
 
using SizeType = typename BSplineTransformType::SizeType
 
using SpacingType = typename BSplineTransformType::SpacingType
 
using Superclass1 = itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
 
using Superclass2 = elx::TransformBase< TElastix >
 
using VectorImageIteratorType = itk::ImageRegionIterator< VectorImageType >
 
using VectorImagePointer = typename VectorImageType::Pointer
 
using VectorImageType = typename IntermediaryDFTransformType ::CoefficientVectorImageType
 
using VectorReaderType = itk::ImageFileReader< VectorImageType >
 
using VectorType = typename VectorImageType::PixelType
 
using WeightsFunctionType = typename BSplineTransformType::WeightsFunctionType
 
using WeightsType = typename BSplineTransformType::WeightsType
 
- Public Types inherited from itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
using ConstPointer = SmartPointer< const Self >
 
using IntermediaryDFTransformPointer = typename IntermediaryDFTransformType::Pointer
 
using IntermediaryDFTransformType = DeformationVectorFieldTransform< ScalarType, Self::InputSpaceDimension >
 
using IteratorType = ImageRegionIterator< VectorImageType >
 
using OriginType = typename VectorImageType::PointType
 
using Pointer = SmartPointer< Self >
 
using RegionType = typename VectorImageType::RegionType
 
using Self = DeformationFieldRegulizer
 
using SpacingType = typename VectorImageType::SpacingType
 
using Superclass = itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
 
using VectorImageType = typename IntermediaryDFTransformType ::CoefficientVectorImageType
 
using VectorPixelType = typename VectorImageType::PixelType
 
- Public Types inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
using ConstPointer = SmartPointer< const Self >
 
using CurrentTransformConstPointer = typename CurrentTransformType::ConstPointer
 
using CurrentTransformInverseTransformBasePointer = typename CurrentTransformType::InverseTransformBasePointer
 
using CurrentTransformInverseTransformBaseType = typename CurrentTransformType::InverseTransformBaseType
 
using CurrentTransformPointer = typename CurrentTransformType::Pointer
 
using CurrentTransformType = Superclass
 
using InitialTransformConstPointer = typename InitialTransformType::ConstPointer
 
using InitialTransformInverseTransformBasePointer = typename InitialTransformType::InverseTransformBasePointer
 
using InitialTransformInverseTransformBaseType = typename InitialTransformType::InverseTransformBaseType
 
using InitialTransformPointer = typename InitialTransformType::Pointer
 
using InitialTransformType = Superclass
 
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
 
using Pointer = SmartPointer< Self >
 
using Self = AdvancedCombinationTransform
 
using Superclass = AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
 
using TransformType = typename Superclass::TransformType
 
using TransformTypeConstPointer = typename TransformType::ConstPointer
 
using TransformTypePointer = typename TransformType::Pointer
 
- Public Types inherited from itk::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 Types inherited from elastix::TransformBase< TElastix >
using CombinationTransformType = itk::AdvancedCombinationTransform< CoordRepType, Self::FixedImageDimension >
 
using CommandLineArgumentMapType = Configuration ::CommandLineArgumentMapType
 
using CommandLineEntryType = Configuration ::CommandLineEntryType
 
using ComponentDescriptionType = ComponentDatabase::ComponentDescriptionType
 
using CoordRepType = ElastixBase::CoordRepType
 
using DeformationFieldImageType = itk::Image< VectorPixelType, FixedImageDimension >
 
using FixedImageType = typename TElastix::FixedImageType
 
using InitialTransformType = typename CombinationTransformType::InitialTransformType
 
using InputPointType = typename ITKBaseType::InputPointType
 
using ITKBaseType = CombinationTransformType
 
using ITKRegistrationType = typename RegistrationType::ITKBaseType
 
using MovingImageType = typename TElastix::MovingImageType
 
using OptimizerType = typename ITKRegistrationType::OptimizerType
 
using OutputPointType = typename ITKBaseType::OutputPointType
 
using ParameterMapType = typename TElastix::ParameterMapType
 
using ParametersType = itk::OptimizerParameters< ValueType >
 
using ProgressCommandType = elx::ProgressCommand
 
using PtrToCreator = ComponentDatabase::PtrToCreator
 
using RegistrationType = typename ElastixType::RegistrationBaseType
 
using ScalesType = typename OptimizerType::ScalesType
 
using Self = TransformBase
 
using SpatialJacobianDeterminantImageType = itk::Image< float, FixedImageDimension >
 
using SpatialJacobianMatrixImageType = itk::Image< itk::Matrix< float, MovingImageDimension, FixedImageDimension >, FixedImageDimension >
 
using Superclass = BaseComponentSE< TElastix >
 
using ValueType = double
 
using VectorPixelType = itk::Vector< float, FixedImageDimension >
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
using ConfigurationPointer = Configuration::Pointer
 
using ElastixType = TElastix
 
using RegistrationType = typename ElastixType::RegistrationBaseType
 
using Self = BaseComponentSE
 
using Superclass = BaseComponent
 

Public Member Functions

void AfterEachIteration () override
 
void AfterRegistration () override
 
void BeforeEachResolution () override
 
void BeforeRegistration () override
 
void DiffuseDeformationField ()
 
 elxClassNameMacro ("BSplineTransformWithDiffusion")
 
virtual const char * GetClassName () const
 
virtual void IncreaseScale ()
 
 ITK_DISALLOW_COPY_AND_MOVE (BSplineTransformWithDiffusion)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
 itkStaticConstMacro (SplineOrder, unsigned int, __VSplineOrder)
 
void ReadFromFile () override
 
virtual void SetInitialGrid (bool upsampleGridOption)
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
virtual const char * GetClassName () const
 
virtual const IntermediaryDFTransformTypeGetIntermediaryDeformationFieldTransform ()
 
void InitializeDeformationFields ()
 
 ITK_DISALLOW_COPY_AND_MOVE (DeformationFieldRegulizer)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, Superclass::InputSpaceDimension)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, Superclass::OutputSpaceDimension)
 
virtual void SetDeformationFieldOrigin (OriginType _arg)
 
virtual void SetDeformationFieldRegion (RegionType _arg)
 
virtual void SetDeformationFieldSpacing (SpacingType _arg)
 
OutputPointType TransformPoint (const InputPointType &inputPoint) const override
 
virtual void UpdateIntermediaryDeformationFieldTransform (typename VectorImageType::Pointer vecImage)
 
- Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
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)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
void SetCurrentTransform (CurrentTransformType *_arg)
 
void SetFixedParameters (const FixedParametersType &fixedParam) override
 
void SetInitialTransform (InitialTransformType *_arg)
 
void SetParameters (const ParametersType &param) override
 
void SetParametersByValue (const ParametersType &param) 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, NInputDimensions, NOutputDimensions >
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)
 
- 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 CreateTransformParametersMap (const ParametersType &param, ParameterMapType &parameterMap, const bool includeDerivedTransformParameters=true) const
 
ITKBaseTypeGetAsITKBaseType ()
 
const ITKBaseTypeGetAsITKBaseType () const
 
virtual const char * GetClassName () const
 
 ITK_DISALLOW_COPY_AND_MOVE (TransformBase)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void ReadFromFile ()
 
void ReadInitialTransformFromFile (const char *transformParameterFileName)
 
void SetFinalParameters ()
 
void SetInitialTransform (InitialTransformType *_arg)
 
void SetReadWriteTransformParameters (const bool _arg)
 
void SetTransformParametersFileName (const char *filename)
 
template<typename TMesh >
TMesh::Pointer TransformMesh (const TMesh &mesh) const
 
void TransformPoints () const
 
void WriteToFile (xl::xoutsimple &transformationParameterInfo, const ParametersType &param) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void AddTargetCellToIterationInfo (const char *const name)
 
ConfigurationGetConfiguration () const
 
ElastixTypeGetElastix () const
 
xl::xoutbaseGetIterationInfoAt (const char *const name)
 
RegistrationTypeGetRegistration () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
 
int RemoveTargetCellFromIterationInfo (const char *const name)
 
void SetConfiguration (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 AfterRegistrationBase ()
 
virtual int BeforeAll ()
 
virtual int BeforeAllBase ()
 
virtual void BeforeEachResolution ()
 
virtual void BeforeEachResolutionBase ()
 
virtual void BeforeRegistration ()
 
virtual void BeforeRegistrationBase ()
 
virtual const char * elxGetClassName () const
 
const char * GetComponentLabel () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
 
 itkTypeMacroNoParent (BaseComponent)
 
void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
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 ()
 

Protected Member Functions

 BSplineTransformWithDiffusion ()
 
 ~BSplineTransformWithDiffusion () override=default
 
- Protected Member Functions inherited from itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
 DeformationFieldRegulizer ()
 
 ~DeformationFieldRegulizer () override=default
 
- Protected Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
 AdvancedCombinationTransform ()
 
void EvaluateJacobianWithImageGradientProductNoCurrentTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductNoInitialTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductUseAddition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void EvaluateJacobianWithImageGradientProductUseComposition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianNoCurrentTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianNoInitialTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianUseAddition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetJacobianUseComposition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
void GetSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, SpatialHessianType &sh) const
 
void GetSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh) const
 
void GetSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh) const
 
void GetSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh) const
 
void GetSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
 
void GetSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseComposition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
 
OutputPointType TransformPointNoCurrentTransform (const InputPointType &point) const
 
OutputPointType TransformPointNoInitialTransform (const InputPointType &point) const
 
OutputPointType TransformPointUseAddition (const InputPointType &point) const
 
OutputPointType TransformPointUseComposition (const InputPointType &point) const
 
void UpdateCombinationMethod ()
 
 ~AdvancedCombinationTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 
- Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
 
void AutomaticScalesEstimationStackTransform (const unsigned int numSubTransforms, ScalesType &scales) const
 
bool HasITKTransformParameters () const
 
 TransformBase ()=default
 
 ~TransformBase () override=default
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()=default
 
 ~BaseComponentSE () override=default
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()=default
 
virtual ~BaseComponent ()=default
 

Protected Attributes

SpacingType m_GridSpacingFactor
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian { true }
 
bool m_HasNonZeroSpatialHessian { true }
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration {}
 
itk::WeakPointer< TElastix > m_Elastix {}
 
RegistrationTypem_Registration {}
 

Private Member Functions

ParameterMapType CreateDerivedTransformParametersMap () const override
 
void WriteDerivedTransformDataToFile () const override
 

Private Attributes

 elxOverrideGetSelfMacro
 
bool m_AlsoFixed
 
ParametersType m_BSplineParameters
 
BSplineTransformPointer m_BSplineTransform
 
VectorImagePointer m_DeformationField
 
OriginType m_DeformationOrigin
 
RegionType m_DeformationRegion
 
SpacingType m_DeformationSpacing
 
VectorImagePointer m_DiffusedField
 
DiffusionFilterPointer m_Diffusion
 
std::string m_FixedSegmentationFileName
 
GrayValueImagePointer m_FixedSegmentationImage
 
GrayValueImageReaderPointer m_FixedSegmentationReader
 
GrayValueImagePointer m_GrayValueImage1
 
GrayValueImagePointer m_GrayValueImage2
 
InterpolatorPointer m_Interpolator
 
std::string m_MovingSegmentationFileName
 
GrayValueImagePointer m_MovingSegmentationImage
 
GrayValueImageReaderPointer m_MovingSegmentationReader
 
ResamplerPointer1 m_Resampler1
 
ResamplerPointer2 m_Resampler2
 
bool m_ThresholdBool
 
GrayValuePixelType m_ThresholdHU
 
bool m_UseFixedSegmentation
 
bool m_UseMovingSegmentation
 
bool m_WriteDiffusionFiles
 

Member Typedef Documentation

◆ BSplineTransformPointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::BSplineTransformPointer = typename BSplineTransformType::Pointer

Definition at line 256 of file elxBSplineTransformWithDiffusion.h.

◆ BSplineTransformType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::BSplineTransformType = itk::AdvancedBSplineDeformableTransform<typename elx::TransformBase<TElastix>::CoordRepType, elx::TransformBase<TElastix>::FixedImageDimension, 3>

The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform.

Definition at line 181 of file elxBSplineTransformWithDiffusion.h.

◆ CombinationTransformType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType

Definition at line 242 of file elxBSplineTransformWithDiffusion.h.

◆ ConstPointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 187 of file elxBSplineTransformWithDiffusion.h.

◆ ContinuousIndexType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ContinuousIndexType = typename BSplineTransformType::ContinuousIndexType

Definition at line 231 of file elxBSplineTransformWithDiffusion.h.

◆ CoordRepType

template<class TElastix >
using elastix::TransformBase< TElastix >::CoordRepType = ElastixBase::CoordRepType

Elastix typedef's.

Definition at line 153 of file elxTransformBase.h.

◆ DiffusionFilterPointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::DiffusionFilterPointer = typename DiffusionFilterType::Pointer

Definition at line 269 of file elxBSplineTransformWithDiffusion.h.

◆ DiffusionFilterType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::DiffusionFilterType = itk::VectorMeanDiffusionImageFilter<VectorImageType, GrayValueImageType>

Definition at line 268 of file elxBSplineTransformWithDiffusion.h.

◆ DummyImageType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::DummyImageType = itk::Image<short, Self::SpaceDimension>

Other typedef's.

Definition at line 254 of file elxBSplineTransformWithDiffusion.h.

◆ DummyIteratorType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::DummyIteratorType = itk::ImageRegionConstIterator<DummyImageType>

Definition at line 255 of file elxBSplineTransformWithDiffusion.h.

◆ FixedImageELXType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::FixedImageELXType = typename ElastixType::FixedImageType

References to the fixed and moving image types.

Definition at line 250 of file elxBSplineTransformWithDiffusion.h.

◆ FixedImageType

template<class TElastix >
using elastix::TransformBase< TElastix >::FixedImageType = typename TElastix::FixedImageType

Definition at line 154 of file elxTransformBase.h.

◆ GenericDeformationFieldRegulizer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GenericDeformationFieldRegulizer = typename Superclass1::Superclass

Definition at line 257 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageIteratorType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageIteratorType = itk::ImageRegionIterator<GrayValueImageType>

Definition at line 266 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImagePointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImagePointer = typename GrayValueImageType::Pointer

Definition at line 264 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageReaderPointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageReaderPointer = typename GrayValueImageReaderType::Pointer

Definition at line 278 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageReaderType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageReaderType = itk::ImageFileReader<GrayValueImageType>

Definition at line 277 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageType = FixedImageELXType

Definition at line 263 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValuePixelType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::GrayValuePixelType = typename GrayValueImageType::PixelType

Definition at line 265 of file elxBSplineTransformWithDiffusion.h.

◆ ImagePointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ImagePointer = typename BSplineTransformType::ImagePointer

Definition at line 223 of file elxBSplineTransformWithDiffusion.h.

◆ ImageType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ImageType = typename BSplineTransformType::ImageType

Definition at line 222 of file elxBSplineTransformWithDiffusion.h.

◆ IndexType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::IndexType = typename BSplineTransformType::IndexType

Definition at line 225 of file elxBSplineTransformWithDiffusion.h.

◆ IntermediaryDFTransformType

template<class TElastix >
using itk::DeformationFieldRegulizer< TAnyITKTransform >::IntermediaryDFTransformType = DeformationVectorFieldTransform<ScalarType, Self::InputSpaceDimension>

Typedef's needed in this class.

Definition at line 77 of file itkDeformationFieldRegulizer.h.

◆ InterpolatorPointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::InterpolatorPointer = typename InterpolatorType::Pointer

Definition at line 276 of file elxBSplineTransformWithDiffusion.h.

◆ InterpolatorType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::InterpolatorType = itk::BSplineInterpolateImageFunction<GrayValueImageType>

Definition at line 275 of file elxBSplineTransformWithDiffusion.h.

◆ ITKBaseType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 241 of file elxBSplineTransformWithDiffusion.h.

◆ MaximumImageFilterType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::MaximumImageFilterType = itk::MaximumImageFilter<GrayValueImageType, GrayValueImageType, GrayValueImageType>

Definition at line 267 of file elxBSplineTransformWithDiffusion.h.

◆ MovingImageELXType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::MovingImageELXType = typename ElastixType::MovingImageType

Definition at line 251 of file elxBSplineTransformWithDiffusion.h.

◆ MovingImageType

template<class TElastix >
using elastix::TransformBase< TElastix >::MovingImageType = typename TElastix::MovingImageType

Definition at line 155 of file elxTransformBase.h.

◆ OriginType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::OriginType = typename BSplineTransformType::OriginType

Definition at line 228 of file elxBSplineTransformWithDiffusion.h.

◆ ParameterIndexArrayType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ParameterIndexArrayType = typename BSplineTransformType::ParameterIndexArrayType

Definition at line 232 of file elxBSplineTransformWithDiffusion.h.

◆ ParameterMapType

template<class TElastix >
using elastix::TransformBase< TElastix >::ParameterMapType = typename TElastix::ParameterMapType

Typedef that is used in the elastix dll version.

Definition at line 199 of file elxTransformBase.h.

◆ Pointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 186 of file elxBSplineTransformWithDiffusion.h.

◆ RadiusType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::RadiusType = typename VectorImageType::SizeType

Definition at line 270 of file elxBSplineTransformWithDiffusion.h.

◆ RegionType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::RegionType = typename BSplineTransformType::RegionType

Definition at line 224 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerPointer1

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ResamplerPointer1 = typename ResamplerType1::Pointer

Definition at line 272 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerPointer2

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ResamplerPointer2 = typename ResamplerType2::Pointer

Definition at line 274 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerType1

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ResamplerType1 = itk::ResampleImageFilter<MovingImageELXType, GrayValueImageType, CoordRepType>

Definition at line 271 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerType2

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::ResamplerType2 = itk::ResampleImageFilter<GrayValueImageType, GrayValueImageType, CoordRepType>

Definition at line 273 of file elxBSplineTransformWithDiffusion.h.

◆ Self

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::Self = BSplineTransformWithDiffusion

Standard ITK-stuff.

Definition at line 172 of file elxBSplineTransformWithDiffusion.h.

◆ SizeType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::SizeType = typename BSplineTransformType::SizeType

Definition at line 226 of file elxBSplineTransformWithDiffusion.h.

◆ SpacingType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::SpacingType = typename BSplineTransformType::SpacingType

Definition at line 227 of file elxBSplineTransformWithDiffusion.h.

◆ Superclass1

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::Superclass1 = itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType, elx::TransformBase<TElastix>::FixedImageDimension> >

Definition at line 173 of file elxBSplineTransformWithDiffusion.h.

◆ Superclass2

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::Superclass2 = elx::TransformBase<TElastix>

Definition at line 176 of file elxBSplineTransformWithDiffusion.h.

◆ VectorImageIteratorType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::VectorImageIteratorType = itk::ImageRegionIterator<VectorImageType>

Definition at line 262 of file elxBSplineTransformWithDiffusion.h.

◆ VectorImagePointer

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::VectorImagePointer = typename VectorImageType::Pointer

Definition at line 247 of file elxBSplineTransformWithDiffusion.h.

◆ VectorImageType

template<class TElastix >
using itk::DeformationFieldRegulizer< TAnyITKTransform >::VectorImageType = typename IntermediaryDFTransformType ::CoefficientVectorImageType

Definition at line 79 of file itkDeformationFieldRegulizer.h.

◆ VectorReaderType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::VectorReaderType = itk::ImageFileReader<VectorImageType>

Typedef's for the diffusion of the deformation field.

Definition at line 260 of file elxBSplineTransformWithDiffusion.h.

◆ VectorType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::VectorType = typename VectorImageType::PixelType

Definition at line 261 of file elxBSplineTransformWithDiffusion.h.

◆ WeightsFunctionType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::WeightsFunctionType = typename BSplineTransformType::WeightsFunctionType

Definition at line 229 of file elxBSplineTransformWithDiffusion.h.

◆ WeightsType

template<class TElastix >
using elastix::BSplineTransformWithDiffusion< TElastix >::WeightsType = typename BSplineTransformType::WeightsType

Definition at line 230 of file elxBSplineTransformWithDiffusion.h.

Constructor & Destructor Documentation

◆ BSplineTransformWithDiffusion()

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::BSplineTransformWithDiffusion ( )
protected

Method to transform a point with extra arguments. Just calls the Superclass1's implementation. Has to be present here since it is an overloaded function.

virtual void TransformPoint( const InputPointType & inputPoint, OutputPointType & outputPoint, WeightsType & weights, ParameterIndexArrayType & indices, bool & inside ) const; The constructor.

◆ ~BSplineTransformWithDiffusion()

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::~BSplineTransformWithDiffusion ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ AfterEachIteration()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::AfterEachIteration ( )
overridevirtual

Execute stuff after each iteration:

  • Do a diffusion of the deformation field.

Reimplemented from elastix::BaseComponent.

◆ AfterRegistration()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::AfterRegistration ( )
overridevirtual

Execute stuff after registration:

  • Destroy things that are not needed anymore in order to free memory.

Reimplemented from elastix::BaseComponent.

◆ BeforeEachResolution()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::BeforeEachResolution ( )
overridevirtual

Execute stuff before each new pyramid resolution:

  • upsample the B-spline grid.

Reimplemented from elastix::BaseComponent.

◆ BeforeRegistration()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::BeforeRegistration ( )
overridevirtual

Execute stuff before the actual registration:

  • Create an initial B-spline grid.
  • Create initial registration parameters.
  • Setup stuff for the diffusion of the deformation field.

Reimplemented from elastix::BaseComponent.

◆ CreateDerivedTransformParametersMap()

template<class TElastix >
ParameterMapType elastix::BSplineTransformWithDiffusion< TElastix >::CreateDerivedTransformParametersMap ( ) const
overrideprivatevirtual

Creates a map of the parameters specific for this (derived) transform type.

Implements elastix::TransformBase< TElastix >.

◆ DiffuseDeformationField()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::DiffuseDeformationField ( )

Diffuse the deformation field.

◆ elxClassNameMacro()

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::elxClassNameMacro ( "BSplineTransformWithDiffusion< TElastix >"  )

Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "BSplineTransformWithDiffusion")

◆ GetClassName()

template<class TElastix >
virtual const char * elastix::BSplineTransformWithDiffusion< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

◆ IncreaseScale()

template<class TElastix >
virtual void elastix::BSplineTransformWithDiffusion< TElastix >::IncreaseScale ( )
virtual

Upsample the B-spline grid.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( BSplineTransformWithDiffusion< TElastix >  )

◆ itkStaticConstMacro() [1/2]

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::itkStaticConstMacro ( SpaceDimension  ,
unsigned int  ,
Superclass2::FixedImageDimension   
)

Dimension of the domain space.

◆ itkStaticConstMacro() [2/2]

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::itkStaticConstMacro ( SplineOrder  ,
unsigned int  ,
__VSplineOrder   
)

The B-spline order.

◆ New()

template<class TElastix >
static Pointer elastix::BSplineTransformWithDiffusion< TElastix >::New ( )
static

Method for creation through the object factory.

◆ ReadFromFile()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::ReadFromFile ( )
overridevirtual

Function to read transform-parameters from a file.

Reimplemented from elastix::TransformBase< TElastix >.

◆ SetInitialGrid()

template<class TElastix >
virtual void elastix::BSplineTransformWithDiffusion< TElastix >::SetInitialGrid ( bool  upsampleGridOption)
virtual

Set the initial B-spline grid.

◆ TransformPoint()

template<class TElastix >
OutputPointType elastix::BSplineTransformWithDiffusion< TElastix >::TransformPoint ( const InputPointType point) const
override

Method to transform a point. This method just calls the implementation from the GenericDeformationFieldRegulizer. This is necessary, since: The DeformationFieldRegulizerFor is used which expects that its template argument is a BSplineDeformableTransform. This is not the case, because we gave it a BSplineCombinationTransform. This last class has a slightly different behavior of the TransformPoint() method (it does not call the TransformPoint() with with 5 arguments, as the BSplineDeformableTransform does).

◆ WriteDerivedTransformDataToFile()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::WriteDerivedTransformDataToFile ( ) const
overrideprivatevirtual

Writes its deformation field to a file.

Reimplemented from elastix::TransformBase< TElastix >.

Field Documentation

◆ elxOverrideGetSelfMacro

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::elxOverrideGetSelfMacro
private

Definition at line 356 of file elxBSplineTransformWithDiffusion.h.

◆ m_AlsoFixed

template<class TElastix >
bool elastix::BSplineTransformWithDiffusion< TElastix >::m_AlsoFixed
private

Definition at line 387 of file elxBSplineTransformWithDiffusion.h.

◆ m_BSplineParameters

template<class TElastix >
ParametersType elastix::BSplineTransformWithDiffusion< TElastix >::m_BSplineParameters
private

The B-spline parameters, which is going to be filled with zeros.

Definition at line 394 of file elxBSplineTransformWithDiffusion.h.

◆ m_BSplineTransform

template<class TElastix >
BSplineTransformPointer elastix::BSplineTransformWithDiffusion< TElastix >::m_BSplineTransform
private

The internal BSplineTransform, set as a current transform in the combination transform.

Definition at line 399 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationField

template<class TElastix >
VectorImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::m_DeformationField
private

Definition at line 368 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationOrigin

template<class TElastix >
OriginType elastix::BSplineTransformWithDiffusion< TElastix >::m_DeformationOrigin
private

Definition at line 382 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationRegion

template<class TElastix >
RegionType elastix::BSplineTransformWithDiffusion< TElastix >::m_DeformationRegion
private

Definition at line 381 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationSpacing

template<class TElastix >
SpacingType elastix::BSplineTransformWithDiffusion< TElastix >::m_DeformationSpacing
private

Definition at line 383 of file elxBSplineTransformWithDiffusion.h.

◆ m_DiffusedField

template<class TElastix >
VectorImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::m_DiffusedField
private

Definition at line 369 of file elxBSplineTransformWithDiffusion.h.

◆ m_Diffusion

template<class TElastix >
DiffusionFilterPointer elastix::BSplineTransformWithDiffusion< TElastix >::m_Diffusion
private

Member variables for diffusion.

Definition at line 367 of file elxBSplineTransformWithDiffusion.h.

◆ m_FixedSegmentationFileName

template<class TElastix >
std::string elastix::BSplineTransformWithDiffusion< TElastix >::m_FixedSegmentationFileName
private

Definition at line 377 of file elxBSplineTransformWithDiffusion.h.

◆ m_FixedSegmentationImage

template<class TElastix >
GrayValueImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::m_FixedSegmentationImage
private

Definition at line 373 of file elxBSplineTransformWithDiffusion.h.

◆ m_FixedSegmentationReader

template<class TElastix >
GrayValueImageReaderPointer elastix::BSplineTransformWithDiffusion< TElastix >::m_FixedSegmentationReader
private

Definition at line 375 of file elxBSplineTransformWithDiffusion.h.

◆ m_GrayValueImage1

template<class TElastix >
GrayValueImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::m_GrayValueImage1
private

Definition at line 370 of file elxBSplineTransformWithDiffusion.h.

◆ m_GrayValueImage2

template<class TElastix >
GrayValueImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::m_GrayValueImage2
private

Definition at line 371 of file elxBSplineTransformWithDiffusion.h.

◆ m_GridSpacingFactor

template<class TElastix >
SpacingType elastix::BSplineTransformWithDiffusion< TElastix >::m_GridSpacingFactor
protected

Member variables.

Definition at line 353 of file elxBSplineTransformWithDiffusion.h.

◆ m_Interpolator

template<class TElastix >
InterpolatorPointer elastix::BSplineTransformWithDiffusion< TElastix >::m_Interpolator
private

Definition at line 380 of file elxBSplineTransformWithDiffusion.h.

◆ m_MovingSegmentationFileName

template<class TElastix >
std::string elastix::BSplineTransformWithDiffusion< TElastix >::m_MovingSegmentationFileName
private

Definition at line 376 of file elxBSplineTransformWithDiffusion.h.

◆ m_MovingSegmentationImage

template<class TElastix >
GrayValueImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::m_MovingSegmentationImage
private

Definition at line 372 of file elxBSplineTransformWithDiffusion.h.

◆ m_MovingSegmentationReader

template<class TElastix >
GrayValueImageReaderPointer elastix::BSplineTransformWithDiffusion< TElastix >::m_MovingSegmentationReader
private

Definition at line 374 of file elxBSplineTransformWithDiffusion.h.

◆ m_Resampler1

template<class TElastix >
ResamplerPointer1 elastix::BSplineTransformWithDiffusion< TElastix >::m_Resampler1
private

Definition at line 378 of file elxBSplineTransformWithDiffusion.h.

◆ m_Resampler2

template<class TElastix >
ResamplerPointer2 elastix::BSplineTransformWithDiffusion< TElastix >::m_Resampler2
private

Definition at line 379 of file elxBSplineTransformWithDiffusion.h.

◆ m_ThresholdBool

template<class TElastix >
bool elastix::BSplineTransformWithDiffusion< TElastix >::m_ThresholdBool
private

Definition at line 388 of file elxBSplineTransformWithDiffusion.h.

◆ m_ThresholdHU

template<class TElastix >
GrayValuePixelType elastix::BSplineTransformWithDiffusion< TElastix >::m_ThresholdHU
private

Definition at line 389 of file elxBSplineTransformWithDiffusion.h.

◆ m_UseFixedSegmentation

template<class TElastix >
bool elastix::BSplineTransformWithDiffusion< TElastix >::m_UseFixedSegmentation
private

Definition at line 391 of file elxBSplineTransformWithDiffusion.h.

◆ m_UseMovingSegmentation

template<class TElastix >
bool elastix::BSplineTransformWithDiffusion< TElastix >::m_UseMovingSegmentation
private

Definition at line 390 of file elxBSplineTransformWithDiffusion.h.

◆ m_WriteDiffusionFiles

template<class TElastix >
bool elastix::BSplineTransformWithDiffusion< TElastix >::m_WriteDiffusionFiles
private

Member variables for writing diffusion files.

Definition at line 386 of file elxBSplineTransformWithDiffusion.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo