SimpleITK
2.0.0
|
A deformable transform over a bounded spatial domain using a BSpline representation for a 2D or 3D coordinate space. More...
#include <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 (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 |
A deformable transform over a bounded spatial domain using a BSpline representation for a 2D or 3D coordinate space.
Definition at line 35 of file sitkBSplineTransform.h.
Definition at line 39 of file sitkBSplineTransform.h.
Definition at line 40 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 64 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 131 of file sitkBSplineTransform.h.
|
private |
Definition at line 132 of file sitkBSplineTransform.h.
|
private |
Definition at line 122 of file sitkBSplineTransform.h.
|
private |
Definition at line 124 of file sitkBSplineTransform.h.
|
private |
Definition at line 126 of file sitkBSplineTransform.h.
|
private |
Definition at line 128 of file sitkBSplineTransform.h.
|
private |
Definition at line 134 of file sitkBSplineTransform.h.
|
private |
Definition at line 123 of file sitkBSplineTransform.h.
|
private |
Definition at line 125 of file sitkBSplineTransform.h.
|
private |
Definition at line 127 of file sitkBSplineTransform.h.
|
private |
Definition at line 129 of file sitkBSplineTransform.h.