SimpleITK
|
A deformable transform over a bounded spatial domain using a BSpline representation for a 2D or 3D coordinate space. More...
#include <sitkBSplineTransform.h>
A deformable transform over a bounded spatial domain using a BSpline representation for a 2D or 3D coordinate space.
Definition at line 33 of file sitkBSplineTransform.h.
Classes | |
struct | MyVisitor |
Public Types | |
using | Self = BSplineTransform |
using | Superclass = Transform |
Public Types inherited from itk::simple::Transform | |
using | Self = Transform |
Public Member Functions | |
BSplineTransform (const BSplineTransform &) | |
BSplineTransform (const std::vector< Image > &coefficientImages, unsigned int order=3) | |
BSplineTransform (const Transform &) | |
BSplineTransform (unsigned int dimensions, unsigned int order=3) | |
std::vector< Image > | GetCoefficientImages () const |
Get a vector of the coefficient images representing the BSpline. More... | |
std::string | GetName () const override |
unsigned int | GetOrder () const |
std::vector< double > | GetTransformDomainDirection () const |
std::vector< unsigned int > | GetTransformDomainMeshSize () const |
std::vector< double > | GetTransformDomainOrigin () const |
std::vector< double > | GetTransformDomainPhysicalDimensions () const |
BSplineTransform & | operator= (const BSplineTransform &) |
Self & | SetTransformDomainDirection (const std::vector< double > &) |
Self & | SetTransformDomainMeshSize (const std::vector< unsigned int > &) |
Self & | SetTransformDomainOrigin (const std::vector< double > &) |
Self & | SetTransformDomainPhysicalDimensions (const std::vector< double > &) |
~BSplineTransform () override | |
Public Member Functions inherited from itk::simple::Transform | |
unsigned int | GetDimension () const |
Transform | GetInverse () const |
Return a new inverse transform of the same type as this. More... | |
unsigned int | GetNumberOfFixedParameters () const |
unsigned int | GetNumberOfParameters () const |
TransformEnum | GetTransformEnum () const |
Get the TransformEnum of the underlying Transform. More... | |
virtual bool | IsLinear () const |
void | MakeUnique () |
Performs actually coping if needed to make object unique. More... | |
virtual void | SetIdentity () |
virtual bool | SetInverse () |
Try to change the current transform to it's inverse. More... | |
std::string | ToString () const |
Transform () | |
By default a 3-d identity transform is constructed. More... | |
Transform (Image &displacement, TransformEnum type=sitkDisplacementField) | |
Use an image to construct a transform. More... | |
template<unsigned int NDimension> | |
Transform (itk::CompositeTransform< double, NDimension > *compositeTransform) | |
Construct a SimpleITK Transform from a pointer to an ITK composite transform. More... | |
Transform (itk::TransformBase *transform) | |
Transform (unsigned int dimensions, TransformEnum type) | |
Construct a specific transformation. More... | |
std::vector< double > | TransformPoint (const std::vector< double > &point) const |
std::vector< double > | TransformVector (const std::vector< double > &vector, const std::vector< double > &point) const |
void | WriteTransform (const std::string &filename) const |
virtual | ~Transform () |
Transform & | operator= (const Transform &) |
Copy constructor and assignment operator. More... | |
Transform (const Transform &) | |
Copy constructor and assignment operator. More... | |
itk::TransformBase * | GetITKBase () |
const itk::TransformBase * | GetITKBase () const |
void | SetParameters (const std::vector< double > ¶meters) |
std::vector< double > | GetParameters () const |
void | SetFixedParameters (const std::vector< double > ¶meters) |
std::vector< double > | GetFixedParameters () const |
Protected Member Functions | |
void | SetPimpleTransform (std::unique_ptr< PimpleTransformBase > &&pimpleTransform) override |
Protected Member Functions inherited from itk::simple::Transform | |
Transform (PimpleTransformBase *pimpleTransform) | |
Private Member Functions | |
void | InternalInitialization (itk::TransformBase *transform) |
template<typename TransformType > | |
void | InternalInitialization (TransformType *transform) |
Static Private Member Functions | |
static PimpleTransformBase * | CreateBSplinePimpleTransform (unsigned int dimension, unsigned int order) |
template<unsigned int ND> | |
static PimpleTransformBase * | CreateBSplinePimpleTransform (unsigned int order) |
Private Attributes | |
std::function< std::vector< Image >)> | m_pfGetCoefficientImages |
std::function< unsigned int()> | m_pfGetOrder |
std::function< std::vector< double >)> | m_pfGetTransformDomainDirection |
std::function< std::vector< unsigned int >)> | m_pfGetTransformDomainMeshSize |
std::function< std::vector< double >)> | m_pfGetTransformDomainOrigin |
std::function< std::vector< double >)> | m_pfGetTransformDomainPhysicalDimensions |
std::function< void(const std::vector< Image > &)> | m_pfSetCoefficientImages |
std::function< void(const std::vector< double > &)> | m_pfSetTransformDomainDirection |
std::function< void(const std::vector< unsigned int > &)> | m_pfSetTransformDomainMeshSize |
std::function< void(const std::vector< double > &)> | m_pfSetTransformDomainOrigin |
std::function< void(const std::vector< double > &)> | m_pfSetTransformDomainPhysicalDimensions |
Definition at line 36 of file sitkBSplineTransform.h.
Definition at line 37 of file sitkBSplineTransform.h.
|
override |
|
explicit |
|
explicit |
Construct a BSpline from a set of coeefficientImages
The coefficient images must be of pixel type sitkFloat64, the number of images must equal the dimension of the transform ( 2 or 3 ), all must be the same dimensions. The image's spacing, origin, size and direction cosine matrix are used to define the transform domain. The transform domain is reduced by the spline order.
itk::simple::BSplineTransform::BSplineTransform | ( | const BSplineTransform & | ) |
|
explicit |
|
staticprivate |
|
staticprivate |
std::vector<Image> itk::simple::BSplineTransform::GetCoefficientImages | ( | ) | const |
Get a vector of the coefficient images representing the BSpline.
A lazy shallow copy of the images from ITK is performed. If they are modified in SimpleITK a deep copy will occur. However, if the coefficient images are modified in ITK, then no copy will occur and the images held by SimpleITK may unexpectedly change.
|
inlineoverridevirtual |
Name of this class
Reimplemented from itk::simple::Transform.
Definition at line 63 of file sitkBSplineTransform.h.
unsigned int itk::simple::BSplineTransform::GetOrder | ( | ) | const |
std::vector<double> itk::simple::BSplineTransform::GetTransformDomainDirection | ( | ) | const |
std::vector<unsigned int> itk::simple::BSplineTransform::GetTransformDomainMeshSize | ( | ) | const |
std::vector<double> itk::simple::BSplineTransform::GetTransformDomainOrigin | ( | ) | const |
std::vector<double> itk::simple::BSplineTransform::GetTransformDomainPhysicalDimensions | ( | ) | const |
|
private |
Referenced by itk::simple::BSplineTransform::MyVisitor::operator()().
|
private |
BSplineTransform& itk::simple::BSplineTransform::operator= | ( | const BSplineTransform & | ) |
|
overrideprotectedvirtual |
Reimplemented from itk::simple::Transform.
Self& itk::simple::BSplineTransform::SetTransformDomainDirection | ( | const std::vector< double > & | ) |
parameters fixed parameter
Self& itk::simple::BSplineTransform::SetTransformDomainMeshSize | ( | const std::vector< unsigned int > & | ) |
Self& itk::simple::BSplineTransform::SetTransformDomainOrigin | ( | const std::vector< double > & | ) |
Self& itk::simple::BSplineTransform::SetTransformDomainPhysicalDimensions | ( | const std::vector< double > & | ) |
|
private |
Definition at line 147 of file sitkBSplineTransform.h.
|
private |
Definition at line 148 of file sitkBSplineTransform.h.
|
private |
Definition at line 138 of file sitkBSplineTransform.h.
|
private |
Definition at line 140 of file sitkBSplineTransform.h.
|
private |
Definition at line 142 of file sitkBSplineTransform.h.
|
private |
Definition at line 144 of file sitkBSplineTransform.h.
|
private |
Definition at line 150 of file sitkBSplineTransform.h.
|
private |
Definition at line 139 of file sitkBSplineTransform.h.
|
private |
Definition at line 141 of file sitkBSplineTransform.h.
|
private |
Definition at line 143 of file sitkBSplineTransform.h.
|
private |
Definition at line 145 of file sitkBSplineTransform.h.