![]() |
aimsalgo
5.0.5
Neuroimaging image processing
|
FFD vector field deformation transform. More...
#include <aims/registration/ffd.h>
Public Member Functions | |
FfdTransformation (int dimX=0, int dimY=1, int dimZ=1, float sizeX=1., float sizeY=1., float sizeZ=1.) | |
template<typename T > | |
FfdTransformation (int dimX, int dimY, int dimZ, const AimsData< T > &test_volume) | |
template<typename T > | |
FfdTransformation (int dimX, int dimY, int dimZ, const carto::Volume< T > &test_volume) | |
FfdTransformation (const FfdTransformation &other) | |
FfdTransformation (const AimsData< Point3df > &other) | |
FfdTransformation & | operator= (const FfdTransformation &other) |
operator const AimsData< Point3df > & () const | |
operator AimsData< Point3df > & () | |
bool | isIdentity () const CARTO_OVERRIDE |
Always false, because testing for identity is expensive. More... | |
Point3df | getCtrlKnot (int nx, int ny, int nz) const |
void | updateCtrlKnot (int nx, int ny, int nz, const Point3df &newCtrlKnot) |
void | updateAllCtrlKnot (const AimsData< Point3df > &newCtrlKnotGrid) |
void | updateAllCtrlKnotFromDeformation (const AimsData< Point3df > &newDeformationGrid) |
void | increaseResolution (const Point3d &addKnots) |
Point3dd | deformation (const Point3dd &p_mm) const |
Point3dd | ffdCoord (const Point3dd &p_mm) const |
int | dimX () const |
int | dimY () const |
int | dimZ () const |
int | getSizeX () const |
int | getSizeY () const |
int | getSizeZ () const |
std::vector< int > | getSize () const |
float | sizeX () const |
float | sizeY () const |
float | sizeZ () const |
std::vector< float > | getVoxelSize () const |
bool | isFlat (int i) const |
bool | isXFlat () const |
bool | isYFlat () const |
bool | isZFlat () const |
virtual void | updateDimensions () |
void | printControlPointsGrid () const |
void | writeDebugCtrlKnots (const std::string &filename) const |
void | writeDebugDeformations (const std::string &filename, int dimX, int dimY, int dimZ, float sizeX, float sizeY, float sizeZ) const |
void | write (const std::string &filename) const |
![]() | |
virtual | ~Transformation3d () |
Point3dd | transform (double x, double y, double z) const |
Point3dd | transform (const Point3dd &pos) const |
Point3df | transform (const Point3df &dir) const |
Point3df | transform (float x, float y, float z) const |
Point3d | transform (const Point3d &p) const |
virtual bool | invertible () const |
virtual std::unique_ptr< Transformation3d > | getInverse () const |
![]() | |
virtual | ~Transformation () |
![]() | |
RCObject () | |
RCObject (const RCObject &) | |
RCObject & | operator= (const RCObject &) |
virtual | ~RCObject () |
Protected Member Functions | |
Point3dd | splineVoxToMm (const Point3dd &p) const |
Point3dd | mmToSplineVox (const Point3dd &p) const |
void | updateGridResolution (const AimsData< Point3df > &newGrid) |
virtual Point3dd | _deformation (const Point3dd &p_mm) const =0 |
![]() | |
Transformation3d () | |
virtual Point3dd | transformDouble (double x, double y, double z) const=0 |
virtual Point3dd | transformPoint3dd (const Point3dd &pos) const |
virtual Point3df | transformPoint3df (const Point3df &dir) const |
virtual Point3d | transformPoint3d (const Point3d &p) const |
virtual Point3df | transformFloat (float x, float y, float z) const |
![]() | |
Transformation () | |
Protected Attributes | |
AimsData< Point3df > | _ctrlPointDelta |
int | _dimx |
int | _dimy |
int | _dimz |
float | _vsx |
float | _vsy |
float | _vsz |
bool | _flatx |
bool | _flaty |
bool | _flatz |
Additional Inherited Members | |
![]() | |
typedef int | RefCounterType |
FFD vector field deformation transform.
Free Form Deformation is the registration technique used to build the vector fields. This class is dedicated to the application of the vector field deformation to transform coordinates.
Vector fields are stored in volumes AimsData<Point3df>.
aims::FfdTransformation::FfdTransformation | ( | int | dimX = 0 , |
int | dimY = 1 , |
||
int | dimZ = 1 , |
||
float | sizeX = 1. , |
||
float | sizeY = 1. , |
||
float | sizeZ = 1. |
||
) |
|
inline |
Definition at line 142 of file ffd.h.
References _ctrlPointDelta, _flatx, _flaty, _flatz, AimsData< T >::dimX(), AimsData< T >::dimY(), AimsData< T >::dimZ(), AimsData< T >::sizeX(), AimsData< T >::sizeY(), AimsData< T >::sizeZ(), and updateDimensions().
|
inline |
Definition at line 159 of file ffd.h.
References _ctrlPointDelta, _flatx, _flaty, _flatz, carto::VolumeProxy< T >::getSizeX(), carto::VolumeProxy< T >::getSizeY(), carto::VolumeProxy< T >::getSizeZ(), carto::VolumeProxy< T >::getVoxelSize(), and updateDimensions().
aims::FfdTransformation::FfdTransformation | ( | const FfdTransformation & | other | ) |
|
protectedpure virtual |
Referenced by isZFlat(), and aims::SplineFfd::spline3().
Referenced by isIdentity().
|
inline |
|
inline |
|
inline |
Definition at line 82 of file ffd.h.
References mmToSplineVox().
Point3df aims::FfdTransformation::getCtrlKnot | ( | int | nx, |
int | ny, | ||
int | nz | ||
) | const |
Referenced by isIdentity().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void aims::FfdTransformation::increaseResolution | ( | const Point3d & | addKnots | ) |
Referenced by isIdentity().
|
inline |
|
inlinevirtual |
Always false, because testing for identity is expensive.
Reimplemented from soma::Transformation.
Definition at line 67 of file ffd.h.
References deformation(), getCtrlKnot(), increaseResolution(), updateAllCtrlKnot(), updateAllCtrlKnotFromDeformation(), and updateCtrlKnot().
|
inline |
|
inline |
|
inline |
Definition at line 113 of file ffd.h.
References _deformation(), _flatz, mmToSplineVox(), printControlPointsGrid(), sizeX(), sizeY(), sizeZ(), splineVoxToMm(), updateDimensions(), updateGridResolution(), write(), writeDebugCtrlKnots(), and writeDebugDeformations().
Definition at line 64 of file ffd.h.
References _ctrlPointDelta.
Definition at line 63 of file ffd.h.
References _ctrlPointDelta.
FfdTransformation& aims::FfdTransformation::operator= | ( | const FfdTransformation & | other | ) |
void aims::FfdTransformation::printControlPointsGrid | ( | ) | const |
Referenced by isZFlat().
|
inline |
Definition at line 95 of file ffd.h.
References _vsx.
Referenced by isZFlat(), mmToSplineVox(), and splineVoxToMm().
|
inline |
Definition at line 96 of file ffd.h.
References _vsy.
Referenced by isZFlat(), mmToSplineVox(), and splineVoxToMm().
|
inline |
Definition at line 97 of file ffd.h.
References _vsz.
Referenced by isZFlat(), mmToSplineVox(), and splineVoxToMm().
Referenced by isIdentity().
void aims::FfdTransformation::updateAllCtrlKnotFromDeformation | ( | const AimsData< Point3df > & | newDeformationGrid | ) |
Referenced by isIdentity().
void aims::FfdTransformation::updateCtrlKnot | ( | int | nx, |
int | ny, | ||
int | nz, | ||
const Point3df & | newCtrlKnot | ||
) |
Referenced by isIdentity().
|
virtual |
Reimplemented in aims::SplineFfd.
Referenced by FfdTransformation(), and isZFlat().
|
protected |
Referenced by isZFlat().
void aims::FfdTransformation::write | ( | const std::string & | filename | ) | const |
Referenced by isZFlat(), and aims::Writer< aims::FfdTransformation >::~Writer().
void aims::FfdTransformation::writeDebugCtrlKnots | ( | const std::string & | filename | ) | const |
Referenced by isZFlat().
void aims::FfdTransformation::writeDebugDeformations | ( | const std::string & | filename, |
int | dimX, | ||
int | dimY, | ||
int | dimZ, | ||
float | sizeX, | ||
float | sizeY, | ||
float | sizeZ | ||
) | const |
Referenced by isZFlat().
Definition at line 134 of file ffd.h.
Referenced by FfdTransformation(), operator AimsData< Point3df > &(), and operator const AimsData< Point3df > &().
|
protected |
Definition at line 135 of file ffd.h.
Referenced by dimX(), getSize(), and getSizeX().
|
protected |
Definition at line 135 of file ffd.h.
Referenced by dimY(), getSize(), and getSizeY().
|
protected |
Definition at line 135 of file ffd.h.
Referenced by dimZ(), getSize(), and getSizeZ().
|
protected |
Definition at line 137 of file ffd.h.
Referenced by FfdTransformation(), isFlat(), and isXFlat().
|
protected |
Definition at line 137 of file ffd.h.
Referenced by FfdTransformation(), isFlat(), and isYFlat().
|
protected |
Definition at line 137 of file ffd.h.
Referenced by FfdTransformation(), isFlat(), and isZFlat().
|
protected |
Definition at line 136 of file ffd.h.
Referenced by getVoxelSize(), and sizeX().
|
protected |
Definition at line 136 of file ffd.h.
Referenced by getVoxelSize(), and sizeY().
|
protected |
Definition at line 136 of file ffd.h.
Referenced by getVoxelSize(), and sizeZ().