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 >:

Public Types

typedef BSplineTransformType::Pointer BSplineTransformPointer
 
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, __VSplineOrderBSplineTransformType
 
typedef Superclass2::CombinationTransformType CombinationTransformType
 
typedef Superclass2::ConfigurationPointer ConfigurationPointer
 
typedef Superclass2::ConfigurationType ConfigurationType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BSplineTransformType::ContinuousIndexType ContinuousIndexType
 
typedef Superclass2::CoordRepType CoordRepType
 
typedef itk::ImageFileWriter< VectorImageTypeDeformationFieldWriterType
 
typedef DiffusionFilterType::Pointer DiffusionFilterPointer
 
typedef itk::VectorMeanDiffusionImageFilter< VectorImageType, GrayValueImageTypeDiffusionFilterType
 
typedef itk::Image< short, itkGetStaticConstMacro(SpaceDimension) > DummyImageType
 
typedef itk::ImageRegionConstIterator< DummyImageTypeDummyIteratorType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef ElastixType::FixedImageType FixedImageELXType
 
typedef Superclass2::FixedImageType FixedImageType
 
typedef Superclass1::Superclass GenericDeformationFieldRegulizer
 
typedef itk::ImageRegionIterator< GrayValueImageTypeGrayValueImageIteratorType
 
typedef GrayValueImageType::Pointer GrayValueImagePointer
 
typedef GrayValueImageReaderType::Pointer GrayValueImageReaderPointer
 
typedef itk::ImageFileReader< GrayValueImageTypeGrayValueImageReaderType
 
typedef FixedImageELXType GrayValueImageType
 
typedef itk::ImageFileWriter< GrayValueImageTypeGrayValueImageWriterType
 
typedef GrayValueImageType::PixelType GrayValuePixelType
 
typedef BSplineTransformType::ImagePointer ImagePointer
 
typedef BSplineTransformType::ImageType ImageType
 
typedef BSplineTransformType::IndexType IndexType
 
typedef Superclass1::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass1::InputPointType InputPointType
 
typedef Superclass1::InputVectorType InputVectorType
 
typedef Superclass1::InputVnlVectorType InputVnlVectorType
 
typedef Superclass1::IntermediaryDFTransformType IntermediaryDFTransformType
 
typedef InterpolatorType::Pointer InterpolatorPointer
 
typedef itk::BSplineInterpolateImageFunction< GrayValueImageTypeInterpolatorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::JacobianType JacobianType
 
typedef itk::MaximumImageFilter< GrayValueImageType, GrayValueImageType, GrayValueImageTypeMaximumImageFilterType
 
typedef ElastixType::MovingImageType MovingImageELXType
 
typedef Superclass2::MovingImageType MovingImageType
 
typedef BSplineTransformType::OriginType OriginType
 
typedef Superclass1::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass1::OutputPointType OutputPointType
 
typedef Superclass1::OutputVectorType OutputVectorType
 
typedef Superclass1::OutputVnlVectorType OutputVnlVectorType
 
typedef BSplineTransformType::ParameterIndexArrayType ParameterIndexArrayType
 
typedef Superclass1::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef VectorImageType::SizeType RadiusType
 
typedef BSplineTransformType::RegionType RegionType
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef ResamplerType1::Pointer ResamplerPointer1
 
typedef ResamplerType2::Pointer ResamplerPointer2
 
typedef itk::ResampleImageFilter< MovingImageELXType, GrayValueImageType, CoordRepTypeResamplerType1
 
typedef itk::ResampleImageFilter< GrayValueImageType, GrayValueImageType, CoordRepTypeResamplerType2
 
typedef Superclass1::ScalarType ScalarType
 
typedef BSplineTransformWithDiffusion Self
 
typedef BSplineTransformType::SizeType SizeType
 
typedef BSplineTransformType::SpacingType SpacingType
 
typedef itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > > Superclass1
 
typedef elx::TransformBase< TElastix > Superclass2
 
typedef itk::ImageRegionIterator< VectorImageTypeVectorImageIteratorType
 
typedef VectorImageType::Pointer VectorImagePointer
 
typedef Superclass1::VectorImageType VectorImageType
 
typedef itk::ImageFileReader< VectorImageTypeVectorReaderType
 
typedef VectorImageType::PixelType VectorType
 
typedef BSplineTransformType::WeightsFunctionType WeightsFunctionType
 
typedef BSplineTransformType::WeightsType WeightsType
 
- Public Types inherited from itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef IntermediaryDFTransformType::Pointer IntermediaryDFTransformPointer
 
typedef DeformationVectorFieldTransform< ScalarType, itkGetStaticConstMacro(InputSpaceDimension) > IntermediaryDFTransformType
 
typedef ImageRegionIterator< VectorImageTypeIteratorType
 
typedef Superclass::JacobianType JacobianType
 
typedef VectorImageType::PointType OriginType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef VectorImageType::RegionType RegionType
 
typedef Superclass::ScalarType ScalarType
 
typedef DeformationFieldRegulizer Self
 
typedef VectorImageType::SpacingType SpacingType
 
typedef itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass
 
typedef IntermediaryDFTransformType::CoefficientVectorImageType VectorImageType
 
typedef VectorImageType::PixelType VectorPixelType
 
- Public Types inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
typedef SmartPointer< const SelfConstPointer
 
typedef CurrentTransformType::ConstPointer CurrentTransformConstPointer
 
typedef CurrentTransformType::InverseTransformBasePointer CurrentTransformInverseTransformBasePointer
 
typedef CurrentTransformType::InverseTransformBaseType CurrentTransformInverseTransformBaseType
 
typedef CurrentTransformType::Pointer CurrentTransformPointer
 
typedef Superclass CurrentTransformType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef void(Self::* EvaluateJacobianWithImageGradientProductFunctionPointer) (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer) (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer2) (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer) (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer2) (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSparseJacobianFunctionPointer) (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSpatialHessianFunctionPointer) (const InputPointType &, SpatialHessianType &) const
 
typedef void(Self::* GetSpatialJacobianFunctionPointer) (const InputPointType &, SpatialJacobianType &) const
 
typedef InitialTransformType::ConstPointer InitialTransformConstPointer
 
typedef InitialTransformType::InverseTransformBasePointer InitialTransformInverseTransformBasePointer
 
typedef InitialTransformType::InverseTransformBaseType InitialTransformInverseTransformBaseType
 
typedef InitialTransformType::Pointer InitialTransformPointer
 
typedef Superclass InitialTransformType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
 
typedef Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MovingImageGradientType MovingImageGradientType
 
typedef Superclass::MovingImageGradientValueType MovingImageGradientValueType
 
typedef Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedCombinationTransform Self
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > Superclass
 
typedef Superclass::TransformCategoryEnum TransformCategoryEnum
 
typedef OutputPointType(Self::* TransformPointFunctionPointer) (const InputPointType &) const
 
typedef Superclass::TransformType TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef SpatialJacobianType::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
 
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef OutputCovariantVectorType MovingImageGradientType
 
typedef MovingImageGradientType::ValueType MovingImageGradientValueType
 
typedef std::vector< unsigned long > NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedTransform Self
 
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
 
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
 
typedef Transform< elx::TransformBase< TElastix >::CoordRepType, NInputDimensions, NOutputDimensions > Superclass
 
typedef Transform< elx::TransformBase< TElastix >::CoordRepType, NInputDimensions, NOutputDimensions > TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from elastix::TransformBase< TElastix >
typedef itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension) > CombinationTransformType
 
typedef ConfigurationType::CommandLineArgumentMapType CommandLineArgumentMapType
 
typedef ConfigurationType::CommandLineEntryType CommandLineEntryType
 
typedef ComponentDatabase ComponentDatabaseType
 
typedef ComponentDatabaseType::ComponentDescriptionType ComponentDescriptionType
 
typedef Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef ElastixType::CoordRepType CoordRepType
 
typedef itk::Image< VectorPixelType, FixedImageDimension > DeformationFieldImageType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix ElastixType
 
typedef ElastixType::FixedImageType FixedImageType
 
typedef CombinationTransformType::InitialTransformType InitialTransformType
 
typedef ITKBaseType::InputPointType InputPointType
 
typedef itk::AdvancedTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension), itkGetStaticConstMacro(MovingImageDimension) > ITKBaseType
 
typedef RegistrationType::ITKBaseType ITKRegistrationType
 
typedef ElastixType::MovingImageType MovingImageType
 
typedef itk::Object ObjectType
 
typedef ITKRegistrationType::OptimizerType OptimizerType
 
typedef ITKBaseType::OutputPointType OutputPointType
 
typedef ElastixType::ParameterMapType ParameterMapType
 
typedef ITKBaseType::ParametersType ParametersType
 
typedef elx::ProgressCommand ProgressCommandType
 
typedef ComponentDatabase::PtrToCreator PtrToCreator
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef OptimizerType::ScalesType ScalesType
 
typedef TransformBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
typedef ParametersType::ValueType ValueType
 
typedef itk::Vector< float, FixedImageDimension > VectorPixelType
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

void AfterEachIteration (void) override
 
void AfterRegistration (void) override
 
void BeforeEachResolution (void) override
 
void BeforeRegistration (void) override
 
void DiffuseDeformationField (void)
 
 elxClassNameMacro ("BSplineTransformWithDiffusion")
 
virtual const char * GetClassName () const
 
virtual void IncreaseScale (void)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
 itkStaticConstMacro (SplineOrder, unsigned int, __VSplineOrder)
 
void ReadFromFile (void) override
 
virtual void SetInitialGrid (bool upsampleGridOption)
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
void WriteToFile (const ParametersType &param) 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 (void)
 
 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 &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
const FixedParametersTypeGetFixedParameters (void) const override
 
bool GetHasNonZeroSpatialHessian (void) const override
 
virtual bool GetInverse (Self *inverse) const
 
void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const TransformTypePointer GetNthTransform (SizeValueType n) const
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const override
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
virtual SizeValueType GetNumberOfTransforms (void) const
 
const ParametersTypeGetParameters (void) const override
 
void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual bool GetUseAddition () const
 
virtual bool GetUseComposition () const
 
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 
bool IsLinear (void) const override
 
 itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
 
 itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCurrentTransform (CurrentTransformType *_arg)
 
void SetFixedParameters (const FixedParametersType &fixedParam) override
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
void SetParameters (const ParametersType &param) override
 
void SetParametersByValue (const ParametersType &param) override
 
virtual void SetUseAddition (bool _arg)
 
virtual 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< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, 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 &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const=0
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const=0
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 
- Public Member Functions inherited from elastix::TransformBase< TElastix >
void AfterRegistrationBase (void) override
 
int BeforeAllBase (void) override
 
virtual int BeforeAllTransformix (void)
 
void BeforeRegistrationBase (void) override
 
virtual void ComputeDeterminantOfSpatialJacobian (void) const
 
virtual void ComputeSpatialJacobian (void) const
 
virtual void CreateTransformParametersMap (const ParametersType &param, ParameterMapType *paramsMap) const
 
DeformationFieldImageType::Pointer GenerateDeformationFieldImage (void) const
 
virtual CombinationTransformTypeGetAsCombinationTransform (void)
 
virtual const CombinationTransformTypeGetAsCombinationTransform (void) const
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
virtual const char * GetClassName () const
 
virtual const InitialTransformTypeGetInitialTransform (void) const
 
virtual const char * GetTransformParametersFileName () const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (TransformBase)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void ReadFromFile (void)
 
virtual void ReadInitialTransformFromFile (const char *transformParameterFileName)
 
virtual void ReadInitialTransformFromVector (const vcl_size_t index)
 
virtual void SetFinalParameters (void)
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
virtual void SetReadWriteTransformParameters (const bool _arg)
 
virtual void SetTransformParametersFileName (const char *filename)
 
virtual void TransformPoints (void) const
 
virtual void TransformPointsAllPoints (void) const
 
virtual void TransformPointsSomePoints (const std::string filename) const
 
virtual void TransformPointsSomePointsVTK (const std::string filename) const
 
void WriteDeformationFieldImage (typename DeformationFieldImageType::Pointer) const
 
virtual void WriteToFile (const ParametersType &param) const
 
virtual void WriteToFile (void) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
ConfigurationTypeGetConfiguration (void) const
 
ElastixTypeGetElastix (void) const
 
RegistrationPointer GetRegistration (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponentSE)
 
void SetConfiguration (ConfigurationType *_arg)
 
void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration (void)
 
virtual void AfterEachIterationBase (void)
 
virtual void AfterEachResolution (void)
 
virtual void AfterEachResolutionBase (void)
 
virtual void AfterRegistration (void)
 
virtual void AfterRegistrationBase (void)
 
virtual int BeforeAll (void)
 
virtual int BeforeAllBase (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeEachResolutionBase (void)
 
virtual void BeforeRegistration (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual const char * elxGetClassName (void) const
 
const char * GetComponentLabel (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (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
static std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision)
 
static void InitializeElastixExecutable ()
 
static bool IsElastixLibrary ()
 

Protected Member Functions

 BSplineTransformWithDiffusion ()
 
 ~BSplineTransformWithDiffusion () override
 
- Protected Member Functions inherited from itk::DeformationFieldRegulizer< itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > >
 DeformationFieldRegulizer ()
 
 ~DeformationFieldRegulizer () override
 
- 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 &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, 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 &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseComposition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual void NoCurrentTransformSet (void) 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
 
virtual void UpdateCombinationMethod (void)
 
 ~AdvancedCombinationTransform () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 
- Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
 
void AutomaticScalesEstimationStackTransform (const unsigned int &numSubTransforms, ScalesType &scales) 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::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
CurrentTransformPointer m_CurrentTransform
 
InitialTransformPointer m_InitialTransform
 
EvaluateJacobianWithImageGradientProductFunctionPointer m_SelectedEvaluateJacobianWithImageGradientProductFunction
 
GetJacobianOfSpatialHessianFunctionPointer m_SelectedGetJacobianOfSpatialHessianFunction
 
GetJacobianOfSpatialHessianFunctionPointer2 m_SelectedGetJacobianOfSpatialHessianFunction2
 
GetJacobianOfSpatialJacobianFunctionPointer m_SelectedGetJacobianOfSpatialJacobianFunction
 
GetJacobianOfSpatialJacobianFunctionPointer2 m_SelectedGetJacobianOfSpatialJacobianFunction2
 
GetSparseJacobianFunctionPointer m_SelectedGetSparseJacobianFunction
 
GetSpatialHessianFunctionPointer m_SelectedGetSpatialHessianFunction
 
GetSpatialJacobianFunctionPointer m_SelectedGetSpatialJacobianFunction
 
TransformPointFunctionPointer m_SelectedTransformPointFunction
 
bool m_UseAddition
 
bool m_UseComposition
 
- Protected Attributes inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration {}
 
ElastixPointer m_Elastix {}
 
RegistrationPointer m_Registration {}
 

Private Member Functions

 BSplineTransformWithDiffusion (const Self &)
 
void operator= (const Self &)
 

Private Attributes

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 >
typedef BSplineTransformType::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::BSplineTransformPointer

Definition at line 266 of file elxBSplineTransformWithDiffusion.h.

◆ BSplineTransformType

template<class TElastix >
typedef itk::AdvancedBSplineDeformableTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension, __VSplineOrder > elastix::BSplineTransformWithDiffusion< TElastix >::BSplineTransformType

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

Definition at line 189 of file elxBSplineTransformWithDiffusion.h.

◆ CombinationTransformType

template<class TElastix >
typedef Superclass2::CombinationTransformType elastix::BSplineTransformWithDiffusion< TElastix >::CombinationTransformType

Definition at line 250 of file elxBSplineTransformWithDiffusion.h.

◆ ConfigurationPointer

template<class TElastix >
typedef Superclass2::ConfigurationPointer elastix::BSplineTransformWithDiffusion< TElastix >::ConfigurationPointer

Definition at line 243 of file elxBSplineTransformWithDiffusion.h.

◆ ConfigurationType

template<class TElastix >
typedef Superclass2::ConfigurationType elastix::BSplineTransformWithDiffusion< TElastix >::ConfigurationType

Definition at line 242 of file elxBSplineTransformWithDiffusion.h.

◆ ConstPointer

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

Definition at line 192 of file elxBSplineTransformWithDiffusion.h.

◆ ContinuousIndexType

template<class TElastix >
typedef BSplineTransformType::ContinuousIndexType elastix::BSplineTransformWithDiffusion< TElastix >::ContinuousIndexType

Definition at line 236 of file elxBSplineTransformWithDiffusion.h.

◆ CoordRepType

template<class TElastix >
typedef Superclass2::CoordRepType elastix::BSplineTransformWithDiffusion< TElastix >::CoordRepType

Definition at line 246 of file elxBSplineTransformWithDiffusion.h.

◆ DeformationFieldWriterType

template<class TElastix >
typedef itk::ImageFileWriter< VectorImageType > elastix::BSplineTransformWithDiffusion< TElastix >::DeformationFieldWriterType

Definition at line 300 of file elxBSplineTransformWithDiffusion.h.

◆ DiffusionFilterPointer

template<class TElastix >
typedef DiffusionFilterType::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::DiffusionFilterPointer

Definition at line 284 of file elxBSplineTransformWithDiffusion.h.

◆ DiffusionFilterType

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

Definition at line 283 of file elxBSplineTransformWithDiffusion.h.

◆ DummyImageType

template<class TElastix >
typedef itk::Image< short, itkGetStaticConstMacro( SpaceDimension ) > elastix::BSplineTransformWithDiffusion< TElastix >::DummyImageType

Other typedef's.

Definition at line 263 of file elxBSplineTransformWithDiffusion.h.

◆ DummyIteratorType

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

Definition at line 265 of file elxBSplineTransformWithDiffusion.h.

◆ ElastixPointer

template<class TElastix >
typedef Superclass2::ElastixPointer elastix::BSplineTransformWithDiffusion< TElastix >::ElastixPointer

Definition at line 241 of file elxBSplineTransformWithDiffusion.h.

◆ ElastixType

template<class TElastix >
typedef Superclass2::ElastixType elastix::BSplineTransformWithDiffusion< TElastix >::ElastixType

Typedef's from TransformBase.

Definition at line 240 of file elxBSplineTransformWithDiffusion.h.

◆ FixedImageELXType

template<class TElastix >
typedef ElastixType::FixedImageType elastix::BSplineTransformWithDiffusion< TElastix >::FixedImageELXType

References to the fixed and moving image types.

Definition at line 258 of file elxBSplineTransformWithDiffusion.h.

◆ FixedImageType

template<class TElastix >
typedef Superclass2::FixedImageType elastix::BSplineTransformWithDiffusion< TElastix >::FixedImageType

Definition at line 247 of file elxBSplineTransformWithDiffusion.h.

◆ GenericDeformationFieldRegulizer

template<class TElastix >
typedef Superclass1::Superclass elastix::BSplineTransformWithDiffusion< TElastix >::GenericDeformationFieldRegulizer

Definition at line 267 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageIteratorType

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

Definition at line 278 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImagePointer

template<class TElastix >
typedef GrayValueImageType::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImagePointer

Definition at line 275 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageReaderPointer

template<class TElastix >
typedef GrayValueImageReaderType::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageReaderPointer

Definition at line 298 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageReaderType

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

Definition at line 297 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageType

template<class TElastix >
typedef FixedImageELXType elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageType

Definition at line 274 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValueImageWriterType

template<class TElastix >
typedef itk::ImageFileWriter< GrayValueImageType > elastix::BSplineTransformWithDiffusion< TElastix >::GrayValueImageWriterType

Definition at line 299 of file elxBSplineTransformWithDiffusion.h.

◆ GrayValuePixelType

template<class TElastix >
typedef GrayValueImageType::PixelType elastix::BSplineTransformWithDiffusion< TElastix >::GrayValuePixelType

Definition at line 276 of file elxBSplineTransformWithDiffusion.h.

◆ ImagePointer

template<class TElastix >
typedef BSplineTransformType::ImagePointer elastix::BSplineTransformWithDiffusion< TElastix >::ImagePointer

Definition at line 228 of file elxBSplineTransformWithDiffusion.h.

◆ ImageType

template<class TElastix >
typedef BSplineTransformType::ImageType elastix::BSplineTransformWithDiffusion< TElastix >::ImageType

Definition at line 227 of file elxBSplineTransformWithDiffusion.h.

◆ IndexType

template<class TElastix >
typedef BSplineTransformType::IndexType elastix::BSplineTransformWithDiffusion< TElastix >::IndexType

Definition at line 230 of file elxBSplineTransformWithDiffusion.h.

◆ InputCovariantVectorType

template<class TElastix >
typedef Superclass1::InputCovariantVectorType elastix::BSplineTransformWithDiffusion< TElastix >::InputCovariantVectorType

Definition at line 218 of file elxBSplineTransformWithDiffusion.h.

◆ InputPointType

template<class TElastix >
typedef Superclass1::InputPointType elastix::BSplineTransformWithDiffusion< TElastix >::InputPointType

Definition at line 222 of file elxBSplineTransformWithDiffusion.h.

◆ InputVectorType

template<class TElastix >
typedef Superclass1::InputVectorType elastix::BSplineTransformWithDiffusion< TElastix >::InputVectorType

Definition at line 216 of file elxBSplineTransformWithDiffusion.h.

◆ InputVnlVectorType

template<class TElastix >
typedef Superclass1::InputVnlVectorType elastix::BSplineTransformWithDiffusion< TElastix >::InputVnlVectorType

Definition at line 220 of file elxBSplineTransformWithDiffusion.h.

◆ IntermediaryDFTransformType

template<class TElastix >
typedef Superclass1::IntermediaryDFTransformType elastix::BSplineTransformWithDiffusion< TElastix >::IntermediaryDFTransformType

Other typedef's inherited from Superclass1.

Definition at line 253 of file elxBSplineTransformWithDiffusion.h.

◆ InterpolatorPointer

template<class TElastix >
typedef InterpolatorType::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::InterpolatorPointer

Definition at line 296 of file elxBSplineTransformWithDiffusion.h.

◆ InterpolatorType

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

Definition at line 295 of file elxBSplineTransformWithDiffusion.h.

◆ ITKBaseType

template<class TElastix >
typedef Superclass2::ITKBaseType elastix::BSplineTransformWithDiffusion< TElastix >::ITKBaseType

Definition at line 249 of file elxBSplineTransformWithDiffusion.h.

◆ JacobianType

template<class TElastix >
typedef Superclass1::JacobianType elastix::BSplineTransformWithDiffusion< TElastix >::JacobianType

Definition at line 215 of file elxBSplineTransformWithDiffusion.h.

◆ MaximumImageFilterType

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

Definition at line 281 of file elxBSplineTransformWithDiffusion.h.

◆ MovingImageELXType

template<class TElastix >
typedef ElastixType::MovingImageType elastix::BSplineTransformWithDiffusion< TElastix >::MovingImageELXType

Definition at line 259 of file elxBSplineTransformWithDiffusion.h.

◆ MovingImageType

template<class TElastix >
typedef Superclass2::MovingImageType elastix::BSplineTransformWithDiffusion< TElastix >::MovingImageType

Definition at line 248 of file elxBSplineTransformWithDiffusion.h.

◆ OriginType

template<class TElastix >
typedef BSplineTransformType::OriginType elastix::BSplineTransformWithDiffusion< TElastix >::OriginType

Definition at line 233 of file elxBSplineTransformWithDiffusion.h.

◆ OutputCovariantVectorType

template<class TElastix >
typedef Superclass1::OutputCovariantVectorType elastix::BSplineTransformWithDiffusion< TElastix >::OutputCovariantVectorType

Definition at line 219 of file elxBSplineTransformWithDiffusion.h.

◆ OutputPointType

template<class TElastix >
typedef Superclass1::OutputPointType elastix::BSplineTransformWithDiffusion< TElastix >::OutputPointType

Definition at line 223 of file elxBSplineTransformWithDiffusion.h.

◆ OutputVectorType

template<class TElastix >
typedef Superclass1::OutputVectorType elastix::BSplineTransformWithDiffusion< TElastix >::OutputVectorType

Definition at line 217 of file elxBSplineTransformWithDiffusion.h.

◆ OutputVnlVectorType

template<class TElastix >
typedef Superclass1::OutputVnlVectorType elastix::BSplineTransformWithDiffusion< TElastix >::OutputVnlVectorType

Definition at line 221 of file elxBSplineTransformWithDiffusion.h.

◆ ParameterIndexArrayType

template<class TElastix >
typedef BSplineTransformType::ParameterIndexArrayType elastix::BSplineTransformWithDiffusion< TElastix >::ParameterIndexArrayType

Definition at line 237 of file elxBSplineTransformWithDiffusion.h.

◆ ParametersType

template<class TElastix >
typedef Superclass1::ParametersType elastix::BSplineTransformWithDiffusion< TElastix >::ParametersType

Definition at line 214 of file elxBSplineTransformWithDiffusion.h.

◆ Pointer

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

Definition at line 191 of file elxBSplineTransformWithDiffusion.h.

◆ RadiusType

template<class TElastix >
typedef VectorImageType::SizeType elastix::BSplineTransformWithDiffusion< TElastix >::RadiusType

Definition at line 285 of file elxBSplineTransformWithDiffusion.h.

◆ RegionType

template<class TElastix >
typedef BSplineTransformType::RegionType elastix::BSplineTransformWithDiffusion< TElastix >::RegionType

Definition at line 229 of file elxBSplineTransformWithDiffusion.h.

◆ RegistrationPointer

template<class TElastix >
typedef Superclass2::RegistrationPointer elastix::BSplineTransformWithDiffusion< TElastix >::RegistrationPointer

Definition at line 245 of file elxBSplineTransformWithDiffusion.h.

◆ RegistrationType

template<class TElastix >
typedef Superclass2::RegistrationType elastix::BSplineTransformWithDiffusion< TElastix >::RegistrationType

Definition at line 244 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerPointer1

template<class TElastix >
typedef ResamplerType1::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::ResamplerPointer1

Definition at line 289 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerPointer2

template<class TElastix >
typedef ResamplerType2::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::ResamplerPointer2

Definition at line 293 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerType1

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

Definition at line 288 of file elxBSplineTransformWithDiffusion.h.

◆ ResamplerType2

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

Definition at line 292 of file elxBSplineTransformWithDiffusion.h.

◆ ScalarType

template<class TElastix >
typedef Superclass1::ScalarType elastix::BSplineTransformWithDiffusion< TElastix >::ScalarType

Typedefs inherited from the superclass.

Definition at line 213 of file elxBSplineTransformWithDiffusion.h.

◆ Self

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

Standard ITK-stuff.

Definition at line 173 of file elxBSplineTransformWithDiffusion.h.

◆ SizeType

template<class TElastix >
typedef BSplineTransformType::SizeType elastix::BSplineTransformWithDiffusion< TElastix >::SizeType

Definition at line 231 of file elxBSplineTransformWithDiffusion.h.

◆ SpacingType

template<class TElastix >
typedef BSplineTransformType::SpacingType elastix::BSplineTransformWithDiffusion< TElastix >::SpacingType

Definition at line 232 of file elxBSplineTransformWithDiffusion.h.

◆ Superclass1

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

Definition at line 180 of file elxBSplineTransformWithDiffusion.h.

◆ Superclass2

template<class TElastix >
typedef elx::TransformBase< TElastix > elastix::BSplineTransformWithDiffusion< TElastix >::Superclass2

Definition at line 181 of file elxBSplineTransformWithDiffusion.h.

◆ VectorImageIteratorType

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

Definition at line 273 of file elxBSplineTransformWithDiffusion.h.

◆ VectorImagePointer

template<class TElastix >
typedef VectorImageType::Pointer elastix::BSplineTransformWithDiffusion< TElastix >::VectorImagePointer

Definition at line 255 of file elxBSplineTransformWithDiffusion.h.

◆ VectorImageType

template<class TElastix >
typedef Superclass1::VectorImageType elastix::BSplineTransformWithDiffusion< TElastix >::VectorImageType

Definition at line 254 of file elxBSplineTransformWithDiffusion.h.

◆ VectorReaderType

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

Typedef's for the diffusion of the deformation field.

Definition at line 270 of file elxBSplineTransformWithDiffusion.h.

◆ VectorType

template<class TElastix >
typedef VectorImageType::PixelType elastix::BSplineTransformWithDiffusion< TElastix >::VectorType

Definition at line 271 of file elxBSplineTransformWithDiffusion.h.

◆ WeightsFunctionType

template<class TElastix >
typedef BSplineTransformType::WeightsFunctionType elastix::BSplineTransformWithDiffusion< TElastix >::WeightsFunctionType

Definition at line 234 of file elxBSplineTransformWithDiffusion.h.

◆ WeightsType

template<class TElastix >
typedef BSplineTransformType::WeightsType elastix::BSplineTransformWithDiffusion< TElastix >::WeightsType

Definition at line 235 of file elxBSplineTransformWithDiffusion.h.

Constructor & Destructor Documentation

◆ BSplineTransformWithDiffusion() [1/2]

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 ( )
inlineoverrideprotected

The destructor.

Definition at line 367 of file elxBSplineTransformWithDiffusion.h.

◆ BSplineTransformWithDiffusion() [2/2]

template<class TElastix >
elastix::BSplineTransformWithDiffusion< TElastix >::BSplineTransformWithDiffusion ( const Self )
private

The private constructor.

Member Function Documentation

◆ AfterEachIteration()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::AfterEachIteration ( void  )
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 ( void  )
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 ( void  )
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 ( void  )
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.

◆ DiffuseDeformationField()

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

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 ( void  )
virtual

Upsample the B-spline grid.

◆ 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.

◆ operator=()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::operator= ( const Self )
private

The private copy constructor.

◆ ReadFromFile()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::ReadFromFile ( void  )
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).

◆ WriteToFile()

template<class TElastix >
void elastix::BSplineTransformWithDiffusion< TElastix >::WriteToFile ( const ParametersType param) const
overridevirtual

Function to write transform-parameters to a file.

Reimplemented from elastix::TransformBase< TElastix >.

Field Documentation

◆ m_AlsoFixed

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

Definition at line 400 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 407 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 412 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationField

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

Definition at line 381 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationOrigin

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

Definition at line 395 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationRegion

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

Definition at line 394 of file elxBSplineTransformWithDiffusion.h.

◆ m_DeformationSpacing

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

Definition at line 396 of file elxBSplineTransformWithDiffusion.h.

◆ m_DiffusedField

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

Definition at line 382 of file elxBSplineTransformWithDiffusion.h.

◆ m_Diffusion

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

Member variables for diffusion.

Definition at line 380 of file elxBSplineTransformWithDiffusion.h.

◆ m_FixedSegmentationFileName

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

Definition at line 390 of file elxBSplineTransformWithDiffusion.h.

◆ m_FixedSegmentationImage

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

Definition at line 386 of file elxBSplineTransformWithDiffusion.h.

◆ m_FixedSegmentationReader

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

Definition at line 388 of file elxBSplineTransformWithDiffusion.h.

◆ m_GrayValueImage1

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

Definition at line 383 of file elxBSplineTransformWithDiffusion.h.

◆ m_GrayValueImage2

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

Definition at line 384 of file elxBSplineTransformWithDiffusion.h.

◆ m_GridSpacingFactor

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

Member variables.

Definition at line 370 of file elxBSplineTransformWithDiffusion.h.

◆ m_Interpolator

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

Definition at line 393 of file elxBSplineTransformWithDiffusion.h.

◆ m_MovingSegmentationFileName

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

Definition at line 389 of file elxBSplineTransformWithDiffusion.h.

◆ m_MovingSegmentationImage

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

Definition at line 385 of file elxBSplineTransformWithDiffusion.h.

◆ m_MovingSegmentationReader

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

Definition at line 387 of file elxBSplineTransformWithDiffusion.h.

◆ m_Resampler1

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

Definition at line 391 of file elxBSplineTransformWithDiffusion.h.

◆ m_Resampler2

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

Definition at line 392 of file elxBSplineTransformWithDiffusion.h.

◆ m_ThresholdBool

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

Definition at line 401 of file elxBSplineTransformWithDiffusion.h.

◆ m_ThresholdHU

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

Definition at line 402 of file elxBSplineTransformWithDiffusion.h.

◆ m_UseFixedSegmentation

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

Definition at line 404 of file elxBSplineTransformWithDiffusion.h.

◆ m_UseMovingSegmentation

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

Definition at line 403 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 399 of file elxBSplineTransformWithDiffusion.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo