NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Deformable transform using a BSpline representation. More...
Public Types | |
typedef UCLBSplineTransform | Self |
typedef DeformableTransform < TFixedImage, TScalarType, NDimensions, TDeformationScalar > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::ScalarType | ScalarType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::DerivativeType | DerivativeType |
typedef Superclass::JacobianType | JacobianType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::OutputPointType | OutputPointType |
typedef Superclass::DeformationFieldPixelType | DeformationFieldPixelType |
typedef Superclass::DeformationFieldType | DeformationFieldType |
typedef Superclass::DeformationFieldPointer | DeformationFieldPointer |
typedef Superclass::DeformationFieldRegionType | DeformationFieldRegionType |
typedef Superclass::DeformationFieldIndexType | DeformationFieldIndexType |
typedef Superclass::DeformationFieldSizeType | DeformationFieldSizeType |
typedef Superclass::DeformationFieldSpacingType | DeformationFieldSpacingType |
typedef Superclass::DeformationFieldDirectionType | DeformationFieldDirectionType |
typedef Superclass::DeformationFieldOriginType | DeformationFieldOriginType |
typedef Vector < TDeformationScalar, NDimensions > | GridPixelType |
typedef Image< GridPixelType, NDimensions > | GridImageType |
typedef GridImageType::Pointer | GridImagePointer |
typedef ImageRegion< NDimensions > | GridRegionType |
typedef GridRegionType::IndexType | GridIndexType |
typedef GridRegionType::SizeType | GridSizeType |
typedef GridImageType::SpacingType | GridSpacingType |
typedef GridImageType::DirectionType | GridDirectionType |
typedef GridImageType::PointType | GridOriginType |
typedef TDeformationScalar | BendingEnergyPixelType |
typedef Image < TDeformationScalar, NDimensions > | BendingEnergyImageType |
typedef ImageRegion< NDimensions > | BendingEnergyImageRegionType |
typedef BendingEnergyImageRegionType::SizeType | BendingEnergyImageSizeType |
typedef BendingEnergyImageType::Pointer | BendingEnergyImagePointer |
typedef const BendingEnergyImageType * | BendingEnergyImageConstPointer |
typedef ImageRegionIterator < BendingEnergyImageType > | BendingEnergyIteratorType |
typedef ScalarImageToNormalizedGradientVectorImageFilter < BendingEnergyImageType, TDeformationScalar > | BendingEnergyDerivativeFilterType |
typedef BendingEnergyDerivativeFilterType::Pointer | BendingEnergyDerivativeFilterPointer |
typedef BendingEnergyDerivativeFilterType::OutputPixelType | BendingEnergyDerivativePixelType |
typedef BendingEnergyDerivativeFilterType::OutputImageType | BendingEnergyDerivativeImageType |
typedef ImageRegionConstIterator < BendingEnergyDerivativeImageType > | BendingEnergyDerivativeIteratorType |
typedef TFixedImage | FixedImageType |
typedef FixedImageType::ConstPointer | FixedImagePointer |
typedef itk::ContinuousIndex < TDeformationScalar, NDimensions > | GridVoxelCoordinateType |
typedef itk::ImageRegionIterator < DeformationFieldType > | DeformationFieldIteratorType |
typedef itk::ImageRegionConstIteratorWithIndex < GridImageType > | GridConstIteratorType |
typedef itk::ImageRegionIterator < GridImageType > | GridIteratorType |
typedef SingleValuedCostFunction::MeasureType | MeasureType |
Public Types inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar > | |
typedef DeformableTransform | Self |
typedef Transform< TScalarType, NDimensions, NDimensions > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::ScalarType | ScalarType |
typedef Superclass::NumberOfParametersType | NumberOfParametersType |
typedef Superclass::ParametersType | ParametersType |
typedef Superclass::ParametersValueType | ParametersValueType |
typedef Array < ParametersValueType > | DerivativeType |
typedef Superclass::OutputPointType | OutputPointType |
typedef Superclass::InputPointType | InputPointType |
typedef Superclass::InputVectorType | InputVectorType |
typedef Superclass::OutputVectorType | OutputVectorType |
typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
typedef Superclass::OutputCovariantVectorType | OutputCovariantVectorType |
typedef Superclass::InputVnlVectorType | InputVnlVectorType |
typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
typedef Vector < TDeformationScalar, NDimensions > | VectorFieldPixelType |
typedef Image < VectorFieldPixelType, NDimensions > | VectorFieldImageType |
typedef VectorFieldImageType::Pointer | VectorFieldImagePointer |
typedef VectorFieldImageType::SizeType | VectorFieldSizeType |
typedef ImageRegionIterator < VectorFieldImageType > | VectorFieldIteratorType |
typedef ImageRegionConstIterator < VectorFieldImageType > | VectorFieldConstIteratorType |
typedef VectorFieldPixelType | DeformationFieldPixelType |
typedef VectorFieldImageType | DeformationFieldType |
typedef DeformationFieldType::Pointer | DeformationFieldPointer |
typedef ImageRegion< NDimensions > | DeformationFieldRegionType |
typedef DeformationFieldRegionType::IndexType | DeformationFieldIndexType |
typedef DeformationFieldRegionType::SizeType | DeformationFieldSizeType |
typedef DeformationFieldType::SpacingType | DeformationFieldSpacingType |
typedef DeformationFieldType::DirectionType | DeformationFieldDirectionType |
typedef DeformationFieldType::PointType | DeformationFieldOriginType |
typedef Image < TDeformationScalar, NDimensions > | DeformationFieldComponentImageType |
typedef TFixedImage | FixedImageType |
typedef FixedImageType::ConstPointer | FixedImagePointer |
typedef Transform< TScalarType, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SpaceDimension)> | GlobalTransformType |
typedef GlobalTransformType::ConstPointer | GlobalTransformPointer |
typedef DisplacementFieldJacobianDeterminantFilter < DeformationFieldType, TScalarType > | JacobianDeterminantFilterType |
typedef JacobianDeterminantFilterType::Pointer | JacobianDeterminantFilterPointer |
typedef Superclass::JacobianType | JacobianType |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
UCLBSplineTransform () | |
virtual | ~UCLBSplineTransform () |
void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Member Functions inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar > | |
DeformableTransform () | |
virtual | ~DeformableTransform () |
void | PrintSelf (std::ostream &os, Indent indent) const |
unsigned long int | GetNumberOfParametersImpliedByImage (const VectorFieldImagePointer image) |
void | ResizeParametersArray (const VectorFieldImagePointer image) |
void | MarshallParametersToImage (VectorFieldImagePointer image) |
void | MarshallImageToParameters (const VectorFieldImagePointer image, ParametersType ¶meters) |
virtual JacobianDeterminantFilterType::OutputImageRegionType | GetValidJacobianRegion () const |
Additional Inherited Members | |
Protected Attributes inherited from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar > | |
DeformationFieldType::Pointer | m_DeformationField |
GlobalTransformPointer | m_GlobalTransform |
JacobianDeterminantFilterPointer | m_JacobianFilter |
double | m_InverseSearchRadius |
double | m_InverseVoxelTolerance |
double | m_InverseIterationTolerance |
double | m_MaxNumberOfInverseIterations |
DeformationFieldComponentImageType::Pointer | m_DeformationFieldComponent [NDimensions] |
Deformable transform using a BSpline representation.
SetParameters and GetParameters are used by the standard ITK optimizers. You should call Initialize() with your fixed image, which will set up the size of the deformation field, according to the grid spacing.
Alternatively, you can force the grid size/space/origin using SetGridSize, SetGridSpacing, SetGridOrigin. When you call these methods, the parameters array is resized, and reset.
Internally, Set/GetGridSize, Set/GetGridSpacing, Set/GetGridOrigin operate directly onto the control point grid.
typedef BendingEnergyDerivativeFilterType::Pointer itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyDerivativeFilterPointer |
typedef ScalarImageToNormalizedGradientVectorImageFilter<BendingEnergyImageType, TDeformationScalar> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyDerivativeFilterType |
typedef BendingEnergyDerivativeFilterType::OutputImageType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyDerivativeImageType |
typedef ImageRegionConstIterator<BendingEnergyDerivativeImageType> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyDerivativeIteratorType |
typedef BendingEnergyDerivativeFilterType::OutputPixelType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyDerivativePixelType |
typedef const BendingEnergyImageType* itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyImageConstPointer |
typedef BendingEnergyImageType::Pointer itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyImagePointer |
typedef ImageRegion<NDimensions> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyImageRegionType |
typedef BendingEnergyImageRegionType::SizeType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyImageSizeType |
typedef Image<TDeformationScalar, NDimensions> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyImageType |
typedef ImageRegionIterator<BendingEnergyImageType> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyIteratorType |
typedef TDeformationScalar itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::BendingEnergyPixelType |
typedefs for image of bending energy.
typedef SmartPointer<const Self> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ConstPointer |
typedef Superclass::DeformationFieldDirectionType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldDirectionType |
typedef Superclass::DeformationFieldIndexType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldIndexType |
typedef itk::ImageRegionIterator<DeformationFieldType> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldIteratorType |
typedef Superclass::DeformationFieldOriginType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldOriginType |
typedef Superclass::DeformationFieldPixelType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldPixelType |
Typedefs for the deformation field.
typedef Superclass::DeformationFieldPointer itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldPointer |
typedef Superclass::DeformationFieldRegionType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldRegionType |
typedef Superclass::DeformationFieldSizeType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldSizeType |
typedef Superclass::DeformationFieldSpacingType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldSpacingType |
typedef Superclass::DeformationFieldType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DeformationFieldType |
typedef Superclass::DerivativeType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::DerivativeType |
typedef FixedImageType::ConstPointer itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::FixedImagePointer |
typedef TFixedImage itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::FixedImageType |
The deformation field is defined over the fixed image.
typedef itk::ImageRegionConstIteratorWithIndex<GridImageType> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridConstIteratorType |
typedef GridImageType::DirectionType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridDirectionType |
typedef GridImageType::Pointer itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridImagePointer |
typedef Image<GridPixelType, NDimensions> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridImageType |
typedef GridRegionType::IndexType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridIndexType |
typedef itk::ImageRegionIterator<GridImageType> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridIteratorType |
typedef GridImageType::PointType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridOriginType |
typedef Vector< TDeformationScalar, NDimensions > itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridPixelType |
Typedefs for the grid of control points.
typedef ImageRegion<NDimensions> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridRegionType |
typedef GridRegionType::SizeType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridSizeType |
typedef GridImageType::SpacingType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridSpacingType |
typedef itk::ContinuousIndex<TDeformationScalar, NDimensions> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GridVoxelCoordinateType |
Typedefs for internal stuff.
typedef Superclass::InputPointType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::InputPointType |
Standard coordinate point type for this class.
typedef Superclass::JacobianType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::JacobianType |
typedef SingleValuedCostFunction::MeasureType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::MeasureType |
For returning the bending energy.
typedef Superclass::OutputPointType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::OutputPointType |
typedef Superclass::ParametersType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ParametersType |
Standard parameters container.
typedef SmartPointer<Self> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Pointer |
typedef Superclass::ScalarType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::ScalarType |
Standard scalar type for this class.
typedef UCLBSplineTransform itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Self |
Standard class typedefs.
typedef DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar> itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Superclass |
|
protected |
|
protectedvirtual |
MeasureType itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetBendingEnergy | ( | ) |
Returns the bending energy of the transformation.
void itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetBendingEnergyDerivative | ( | DerivativeType & | derivative | ) |
The writes the derivatives into the supplied array.
void itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetBendingEnergyDerivativeDaniel | ( | DerivativeType & | derivative | ) |
Get bending energy derivative in a method like Daniel Rueckerts.
void itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::GetBendingEnergyDerivativeMarc | ( | DerivativeType & | derivative | ) |
Get bending energy derivative like Marc Modat.
|
virtual |
This defaults to false, and will go to true, if bending energy is ever evaluated.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.
|
virtual |
Get the fixed parameters for saving.
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.
|
virtual |
Access to the Grid of control points.
void itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::Initialize | ( | FixedImagePointer | fixedImage, |
GridSpacingType | finalGridSpacingInMillimetres, | ||
int | numberOfLevels | ||
) |
Convenience method to set up internal images. Sets the internal deformation field to the same size as fixed image. Sets the grid size, and parameters array to the right size grid, and calls SetIdentity().
void itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::InterpolateNextGrid | ( | FixedImagePointer | fixedImage | ) |
Increases the resolution of the grid, for when you are doing multi-resolution.
itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned | int, | ||
NDimensions | |||
) |
Get the number of dimensions.
|
static |
New macro for creation of through the object factory.
|
protected |
Print contents of an BSplineDeformableTransform.
|
virtual |
Set the fixed paramters for loading
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.
|
virtual |
Set the deformation field to Identity, (no deformation). Doesn't affect the Global transform. Doesn't resize anything.
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.
|
virtual |
This method sets the parameters of the transform. For a BSpline deformation transform, the parameters are the control point displacements.
Imagine an N-D grid, with the same configuration as an N-D image (ie. same, x,y,z order.. with x increasing most quickly and z increasing least quickly.). At each point, you have 3 cooefficients which represent a vector at that point. So, the order of the parameters are the 3 cooefficients (x,y,z) for each point in turn.
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.
|
virtual |
Declared virtual in base class, transform points
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.
void itk::UCLBSplineTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >::WriteControlPointImage | ( | std::string | filename | ) |
Write out the current transformation as an image of vectors.
|
inlinevirtual |
Write parameters, so subclass can override if necessary. So when this is called on base class, we write control points instead of the deformation field.
Reimplemented from itk::DeformableTransform< TFixedImage, TScalarType, NDimensions, TDeformationScalar >.