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 | Private Member Functions | Private Attributes
elastix::MultiBSplineTransformWithNormal< TElastix > Class Template Reference

#include <elxMultiBSplineTransformWithNormal.h>

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

Public Types

typedef
BSplineTransformBaseType::Pointer 
BSplineTransformBasePointer
 
typedef
itk::AdvancedBSplineDeformableTransformBase
< typename elx::TransformBase
< TElastix >::CoordRepType,
itkGetStaticConstMacro(SpaceDimension)> 
BSplineTransformBaseType
 
typedef
Superclass2::CombinationTransformType 
CombinationTransformType
 
typedef
Superclass2::ConfigurationPointer 
ConfigurationPointer
 
typedef
Superclass2::ConfigurationType 
ConfigurationType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
BSplineTransformBaseType::ContinuousIndexType 
ContinuousIndexType
 
typedef Superclass2::CoordRepType CoordRepType
 
typedef
BSplineTransformBaseType::DirectionType 
DirectionType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass2::FixedImageType FixedImageType
 
typedef
GridScheduleComputerType::Pointer 
GridScheduleComputerPointer
 
typedef
itk::GridScheduleComputer
< CoordRepType, SpaceDimension > 
GridScheduleComputerType
 
typedef
GridScheduleComputerType::VectorGridSpacingFactorType 
GridScheduleType
 
typedef GridUpsamplerType::Pointer GridUpsamplerPointer
 
typedef
itk::UpsampleBSplineParametersFilter
< ParametersType, ImageType
GridUpsamplerType
 
typedef ImageLabelType::Pointer ImageLabelPointer
 
typedef itk::Image< unsigned
char, itkGetStaticConstMacro(SpaceDimension)> 
ImageLabelType
 
typedef
BSplineTransformBaseType::ImagePointer 
ImagePointer
 
typedef
BSplineTransformBaseType::ImageType 
ImageType
 
typedef
BSplineTransformBaseType::IndexType 
IndexType
 
typedef
Superclass1::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass1::InputPointType InputPointType
 
typedef
Superclass1::InputVectorType 
InputVectorType
 
typedef
Superclass1::InputVnlVectorType 
InputVnlVectorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::JacobianType JacobianType
 
typedef
Superclass2::MovingImageType 
MovingImageType
 
typedef
itk::MultiBSplineDeformableTransformWithNormal
< typename elx::TransformBase
< TElastix >::CoordRepType,
itkGetStaticConstMacro(SpaceDimension), 3 > 
MultiBSplineTransformWithNormalCubicType
 
typedef
itk::MultiBSplineDeformableTransformWithNormal
< typename elx::TransformBase
< TElastix >::CoordRepType,
itkGetStaticConstMacro(SpaceDimension), 1 > 
MultiBSplineTransformWithNormalLinearType
 
typedef
itk::MultiBSplineDeformableTransformWithNormal
< typename elx::TransformBase
< TElastix >::CoordRepType,
itkGetStaticConstMacro(SpaceDimension), 2 > 
MultiBSplineTransformWithNormalQuadraticType
 
typedef
Superclass1::NumberOfParametersType 
NumberOfParametersType
 
typedef
BSplineTransformBaseType::OriginType 
OriginType
 
typedef
Superclass1::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef
Superclass1::OutputPointType 
OutputPointType
 
typedef
Superclass1::OutputVectorType 
OutputVectorType
 
typedef
Superclass1::OutputVnlVectorType 
OutputVnlVectorType
 
typedef
BSplineTransformBaseType::ParameterIndexArrayType 
ParameterIndexArrayType
 
typedef Superclass1::ParametersType ParametersType
 
typedef
BSplineTransformBaseType::PixelType 
PixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
BSplineTransformBaseType::RegionType 
RegionType
 
typedef
Superclass2::RegistrationPointer 
RegistrationPointer
 
typedef
Superclass2::RegistrationType 
RegistrationType
 
typedef Superclass1::ScalarType ScalarType
 
typedef
MultiBSplineTransformWithNormal 
Self
 
typedef
BSplineTransformBaseType::SizeType 
SizeType
 
typedef
BSplineTransformBaseType::SpacingType 
SpacingType
 
typedef
itk::AdvancedCombinationTransform
< typename elx::TransformBase
< TElastix >::CoordRepType,
elx::TransformBase< TElastix >
::FixedImageDimension > 
Superclass1
 
typedef elx::TransformBase
< TElastix > 
Superclass2
 
- Public Types inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
typedef SmartPointer< const SelfConstPointer
 
typedef
CurrentTransformType::InverseTransformBasePointer 
CurrentTransformInverseTransformBasePointer
 
typedef
CurrentTransformType::InverseTransformBaseType 
CurrentTransformInverseTransformBaseType
 
typedef
CurrentTransformType::Pointer 
CurrentTransformPointer
 
typedef Superclass CurrentTransformType
 
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::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 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 OutputPointType(Self::* TransformPointFunctionPointer )(const InputPointType &) const
 
- Public Types inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
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
< SpatialHessianType
JacobianOfSpatialHessianType
 
typedef std::vector
< SpatialJacobianType
JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
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 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
 
- 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
Superclass::ConfigurationPointer 
ConfigurationPointer
 
typedef
Superclass::ConfigurationType 
ConfigurationType
 
typedef ElastixType::CoordRepType CoordRepType
 
typedef Superclass::ElastixPointer ElastixPointer
 
typedef Superclass::ElastixType 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 ITKBaseType::ParametersType ParametersType
 
typedef elx::ProgressCommand ProgressCommandType
 
typedef
ComponentDatabase::PtrToCreator 
PtrToCreator
 
typedef
Superclass::RegistrationPointer 
RegistrationPointer
 
typedef
Superclass::RegistrationType 
RegistrationType
 
typedef OptimizerType::ScalesType ScalesType
 
typedef TransformBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
typedef ParametersType::ValueType ValueType
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef
ElastixType::ConfigurationPointer 
ConfigurationPointer
 
typedef
ElastixType::ConfigurationType 
ConfigurationType
 
typedef ElastixType::Pointer ElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef
ElastixType::RegistrationBaseType 
RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

virtual int BeforeAll (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeRegistration (void)
 
 elxClassNameMacro ("MultiBSplineTransformWithNormal")
 
virtual const char * GetClassName () const
 
virtual void IncreaseScale (void)
 
virtual void InitializeTransform (void)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
virtual void ReadFromFile (void)
 
virtual void SetOptimizerScales (const unsigned int edgeWidth)
 
virtual void WriteToFile (const ParametersType &param) const
 
- Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
virtual CurrentTransformTypeGetCurrentTransform ()
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual bool GetHasNonZeroSpatialHessian (void) const
 
virtual const
InitialTransformType
GetInitialTransform ()
 
virtual bool GetInverse (Self *inverse) const
 
virtual void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual unsigned long GetNumberOfNonZeroJacobianIndices (void) const
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual bool GetUseAddition () const
 
virtual bool GetUseComposition () const
 
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 
virtual bool IsLinear (void) const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCurrentTransform (CurrentTransformType *_arg)
 
virtual void SetFixedParameters (const ParametersType &fixedParam)
 
virtual void SetInitialTransform (const InitialTransformType *_arg)
 
virtual void SetParameters (const ParametersType &param)
 
virtual void SetParametersByValue (const ParametersType &param)
 
virtual void SetUseAddition (bool _arg)
 
virtual void SetUseComposition (bool _arg)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputPointType TransformPoint (const InputPointType &point) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
- Public Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () 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 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 >
virtual void AfterRegistrationBase (void)
 
virtual int BeforeAllBase (void)
 
virtual int BeforeAllTransformix (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual void ComputeDeterminantOfSpatialJacobian (void) const
 
virtual void ComputeSpatialJacobian (void) const
 
virtual const
CombinationTransformType
GetAsCombinationTransform (void) const
 
virtual CombinationTransformTypeGetAsCombinationTransform (void)
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
virtual const
InitialTransformType
GetInitialTransform (void) const
 
virtual const char * GetTransformParametersFileName () const
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void ReadInitialTransformFromFile (const char *transformParameterFileName)
 
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
 
virtual void WriteToFile (void) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
virtual ConfigurationTypeGetConfiguration (void) const
 
virtual ElastixTypeGetElastix (void) const
 
virtual RegistrationPointer GetRegistration (void) const
 
virtual void SetConfiguration (ConfigurationType *_arg)
 
virtual 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 BeforeEachResolutionBase (void)
 
virtual const char * elxGetClassName (void) const
 
virtual const char * GetComponentLabel (void) const
 
virtual void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
static Pointer New ()
 

Protected Member Functions

 MultiBSplineTransformWithNormal ()
 
virtual void PreComputeGridInformation (void)
 
virtual ~MultiBSplineTransformWithNormal ()
 
- Protected Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
 AdvancedCombinationTransform ()
 
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 throw (ExceptionObject)
 
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)
 
virtual ~AdvancedCombinationTransform ()
 
- Protected Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
virtual ~AdvancedTransform ()
 
- Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
 
 TransformBase ()
 
virtual ~TransformBase ()
 
- Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()
 
virtual ~BaseComponentSE ()
 
- Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()
 
virtual ~BaseComponent ()
 

Private Member Functions

unsigned int InitializeBSplineTransform ()
 
 MultiBSplineTransformWithNormal (const Self &)
 
void operator= (const Self &)
 

Private Attributes

GridScheduleComputerPointer m_GridScheduleComputer
 
GridUpsamplerPointer m_GridUpsampler
 
ImageLabelPointer m_Labels
 
std::string m_LabelsPath
 
MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal
 
unsigned int m_SplineOrder
 

Additional Inherited Members

- Protected Attributes inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
CurrentTransformPointer m_CurrentTransform
 
InitialTransformConstPointer m_InitialTransform
 
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::TransformBase< TElastix >
ParametersType m_FinalParameters
 
std::string m_TransformParametersFileName
 
ParametersTypem_TransformParametersPointer
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration
 
ElastixPointer m_Elastix
 
RegistrationPointer m_Registration
 

Detailed Description

template<class TElastix>
class elastix::MultiBSplineTransformWithNormal< TElastix >

A transform based on the itkMultiBSplineDeformableTransformWithNormal.

This transform is a composition of B-spline transformations, allowing sliding motion between different labels.

The parameters used in this class are:

Parameters:

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

BSplineTransformSplineOrder: choose a B-spline order 1,2, or 3.
example: (BSplineTransformSplineOrder 3)
Default value: 3 (cubic B-splines).

FinalGridSpacingInVoxels: the grid spacing of the B-spline transform for each dimension.
example: (FinalGridSpacingInVoxels 8.0 8.0 8.0)
If only one argument is given, that factor is used for each dimension. The spacing is not in millimeters, but in "voxel size units". The default is 16.0 in every dimension.

FinalGridSpacingInPhysicalUnits: the grid spacing of the B-spline transform for each dimension.
example: (FinalGridSpacingInPhysicalUnits 8.0 8.0 8.0)
If only one argument is given, that factor is used for each dimension. The spacing is specified in millimeters. If not specified, the FinalGridSpacingInVoxels is used, or the FinalGridSpacing, to compute a FinalGridSpacingInPhysicalUnits. If those are not specified, the default value for FinalGridSpacingInVoxels is used to compute a FinalGridSpacingInPhysicalUnits.

GridSpacingSchedule: the grid spacing downsampling factors for the B-spline transform for each dimension and each resolution.
example: (GridSpacingSchedule 4.0 4.0 2.0 2.0 1.0 1.0)
Which is an example for a 2D image, using 3 resolutions.
For convenience, you may also specify only one value for each resolution:
example: (GridSpacingSchedule 4.0 2.0 1.0 )
which is equivalent to the example above.

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

Transform Parameters:

GridSize: stores the size of the B-spline grid.
example: (GridSize 16 16 16)

GridIndex: stores the index of the B-spline grid.
example: (GridIndex 0 0 0)

GridSpacing: stores the spacing of the B-spline grid.
example: (GridSpacing 16.0 16.0 16.0)

GridOrigin: stores the origin of the B-spline grid.
example: (GridOrigin 0.0 0.0 0.0)

GridDirection: stores the direction cosines of the B-spline grid.
example: (GridDirection 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.1)

BSplineTransformSplineOrder: stores the B-spline order 1,2, or 3.
example: (BSplineTransformSplineOrder 3) Default value: 3 (cubic B-splines).

Todo:
It is unsure what happens when one of the image dimensions has length 1.
Author
Vivien Delmon

Definition at line 86 of file elxMultiBSplineTransformWithNormal.h.

Member Typedef Documentation

Definition at line 126 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase<TElastix>::CoordRepType, itkGetStaticConstMacro( SpaceDimension )> elastix::MultiBSplineTransformWithNormal< TElastix >::BSplineTransformBaseType

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

Definition at line 125 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 182 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 175 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 174 of file elxMultiBSplineTransformWithNormal.h.

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

Definition at line 103 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 167 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 178 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 165 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 173 of file elxMultiBSplineTransformWithNormal.h.

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

Typedef's from TransformBase.

Definition at line 172 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 179 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 187 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef itk::GridScheduleComputer< CoordRepType, SpaceDimension > elastix::MultiBSplineTransformWithNormal< TElastix >::GridScheduleComputerType

Typedef's for the GridScheduleComputer and the UpsampleBSplineParametersFilter.

Definition at line 186 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef GridScheduleComputerType ::VectorGridSpacingFactorType elastix::MultiBSplineTransformWithNormal< TElastix >::GridScheduleType

Definition at line 189 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 192 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 191 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef ImageLabelType::Pointer elastix::MultiBSplineTransformWithNormal< TElastix >::ImageLabelPointer

Definition at line 197 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef itk::Image<unsigned char, itkGetStaticConstMacro( SpaceDimension )> elastix::MultiBSplineTransformWithNormal< TElastix >::ImageLabelType

Typdef's for the Image of Labels

Definition at line 196 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 159 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 158 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 161 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 149 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 153 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 147 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 151 of file elxMultiBSplineTransformWithNormal.h.

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

Definition at line 181 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 146 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 180 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase<TElastix>::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 3 > elastix::MultiBSplineTransformWithNormal< TElastix >::MultiBSplineTransformWithNormalCubicType

Definition at line 140 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase<TElastix>::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 1 > elastix::MultiBSplineTransformWithNormal< TElastix >::MultiBSplineTransformWithNormalLinearType

Typedef for supported BSplineTransform types.

Definition at line 132 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
typedef itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase<TElastix>::CoordRepType, itkGetStaticConstMacro( SpaceDimension ), 2 > elastix::MultiBSplineTransformWithNormal< TElastix >::MultiBSplineTransformWithNormalQuadraticType

Definition at line 136 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 145 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 164 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 150 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 154 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 148 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 152 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 169 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 144 of file elxMultiBSplineTransformWithNormal.h.

Typedef's specific for the BSplineTransform.

Definition at line 157 of file elxMultiBSplineTransformWithNormal.h.

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

Definition at line 102 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 160 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 177 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 176 of file elxMultiBSplineTransformWithNormal.h.

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

Typedefs inherited from the superclass.

Definition at line 143 of file elxMultiBSplineTransformWithNormal.h.

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

Standard ITK-stuff.

Definition at line 97 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 162 of file elxMultiBSplineTransformWithNormal.h.

Definition at line 163 of file elxMultiBSplineTransformWithNormal.h.

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

Definition at line 100 of file elxMultiBSplineTransformWithNormal.h.

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

Definition at line 101 of file elxMultiBSplineTransformWithNormal.h.

Constructor & Destructor Documentation

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

The constructor.

template<class TElastix >
virtual elastix::MultiBSplineTransformWithNormal< TElastix >::~MultiBSplineTransformWithNormal ( )
inlineprotectedvirtual

The destructor.

Definition at line 253 of file elxMultiBSplineTransformWithNormal.h.

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

The private constructor.

Member Function Documentation

template<class TElastix >
virtual int elastix::MultiBSplineTransformWithNormal< TElastix >::BeforeAll ( void  )
virtual

Execute stuff before anything else is done:

  • Initialize the right BSplineTransform.
  • Initialize the right grid schedule computer.

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::BeforeEachResolution ( void  )
virtual

Execute stuff before each new pyramid resolution:

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::BeforeRegistration ( void  )
virtual

Execute stuff before the actual registration:

  • Create an initial B-spline grid.
  • Create initial registration parameters.
  • PrecomputeGridInformation Initially, the transform is set to use a 1x1x1 grid, with deformation (0,0,0). In the method BeforeEachResolution() this will be replaced by the right grid size. This seems not logical, but it is required, since the registration class checks if the number of parameters in the transform is equal to the number of parameters in the registration class. This check is done before calling the BeforeEachResolution() methods.

Reimplemented from elastix::BaseComponent.

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

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

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

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

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

Method to increase the density of the BSpline grid.

  • Determine the new B-spline coefficients that describe the current deformation field.
  • Set these coefficients as InitialParametersOfNextLevel in the registration object. Called by BeforeEachResolution().
template<class TElastix >
unsigned int elastix::MultiBSplineTransformWithNormal< TElastix >::InitializeBSplineTransform ( )
private

Initialize the right BSplineTransfrom based on the spline order and periodicity.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::InitializeTransform ( void  )
virtual

Method to set the initial BSpline grid and initialize the parameters (to 0).

  • Define the initial grid region, origin and spacing, using the precomputed grid information.
  • Set the initial parameters to zero and set then as InitialParametersOfNextLevel in the registration object. Called by BeforeEachResolution().
template<class TElastix >
elastix::MultiBSplineTransformWithNormal< TElastix >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
Superclass2::FixedImageDimension   
)

Dimension of the fixed image.

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

Method for creation through the object factory.

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

The private copy constructor.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::PreComputeGridInformation ( void  )
protectedvirtual

Read user-specified gridspacing and call the itkGridScheduleComputer.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::ReadFromFile ( void  )
virtual

Function to read transform-parameters from a file.

Reimplemented from elastix::TransformBase< TElastix >.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::SetOptimizerScales ( const unsigned int  edgeWidth)
virtual

Set the scales of the edge B-spline coefficients to zero.

template<class TElastix >
virtual void elastix::MultiBSplineTransformWithNormal< TElastix >::WriteToFile ( const ParametersType param) const
virtual

Function to write transform-parameters to a file.

Reimplemented from elastix::TransformBase< TElastix >.

Field Documentation

template<class TElastix >
GridScheduleComputerPointer elastix::MultiBSplineTransformWithNormal< TElastix >::m_GridScheduleComputer
private

Definition at line 267 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
GridUpsamplerPointer elastix::MultiBSplineTransformWithNormal< TElastix >::m_GridUpsampler
private

Definition at line 268 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
ImageLabelPointer elastix::MultiBSplineTransformWithNormal< TElastix >::m_Labels
private

Definition at line 269 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
std::string elastix::MultiBSplineTransformWithNormal< TElastix >::m_LabelsPath
private

Definition at line 270 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
MultiBSplineTransformWithNormalCubicType::Pointer elastix::MultiBSplineTransformWithNormal< TElastix >::m_MultiBSplineTransformWithNormal
private

Private variables.

Definition at line 266 of file elxMultiBSplineTransformWithNormal.h.

template<class TElastix >
unsigned int elastix::MultiBSplineTransformWithNormal< TElastix >::m_SplineOrder
private

Variable to remember order of MultiBSplineTransformWithNormal.

Definition at line 273 of file elxMultiBSplineTransformWithNormal.h.



Generated on 05-01-2014 for elastix by doxygen 1.8.5 elastix logo