Slicer
4.10
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
vtkOrientedBSplineTransform - arbitrarily oriented cubic b-spline deformation transformation. More...
#include <Libs/vtkAddon/vtkOrientedBSplineTransform.h>
Public Types | |
typedef vtkBSplineTransform | Superclass |
Public Member Functions | |
virtual vtkMatrix4x4 * | GetBulkTransformMatrix () |
virtual const char * | GetClassName () |
virtual vtkMatrix4x4 * | GetGridDirectionMatrix () |
virtual int | IsA (const char *type) |
vtkAbstractTransform * | MakeTransform () VTK_OVERRIDE |
virtual void | PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE |
virtual void | SetBulkTransformMatrix (vtkMatrix4x4 *) |
virtual void | SetGridDirectionMatrix (vtkMatrix4x4 *) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkOrientedBSplineTransform * | New () |
static vtkOrientedBSplineTransform * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
void | ForwardTransformDerivative (const double in[3], double out[3], double derivative[3][3]) VTK_OVERRIDE |
void | ForwardTransformPoint (const double in[3], double out[3]) VTK_OVERRIDE |
void | InternalDeepCopy (vtkAbstractTransform *transform) VTK_OVERRIDE |
void | InternalUpdate () VTK_OVERRIDE |
void | InverseTransformDerivative (const double in[3], double out[3], double derivative[3][3]) VTK_OVERRIDE |
vtkOrientedBSplineTransform () | |
~vtkOrientedBSplineTransform () | |
Protected Attributes | |
vtkMatrix4x4 * | BulkTransformMatrix |
vtkMatrix4x4 * | GridDirectionMatrix |
vtkMatrix4x4 * | GridIndexToOutputTransformMatrixCached |
vtkMatrix4x4 * | InverseBulkTransformMatrixCached |
vtkMatrix4x4 * | OutputToGridIndexTransformMatrixCached |
vtkOrientedBSplineTransform - arbitrarily oriented cubic b-spline deformation transformation.
This transforms extends vtkBSplineTransform to arbitrary grid orientation. Optional affine bulk transform component can be added to the transform so that it can fully represent a itk::BSplineDeformableTransform.
Unfortunately, the bulk transform cannot be replaced by a multiplication with a linear transform because in itk::BSplineDeformableTransform not the BSpline-transformed point is transformed (outputPoint=affineTransform(bsplineTransform(inputPoint)) but the affine transform is added to the output: outputPoint = affineTransform(inputPoint)+bsplineTransform(inputPoint). This choice does not seem reasonable and this bulk transform has been already removed from the more recent itk::BSplineTransform transform but we need to support this for backward compatibility.
Definition at line 34 of file vtkOrientedBSplineTransform.h.
typedef vtkBSplineTransform vtkOrientedBSplineTransform::Superclass |
Definition at line 38 of file vtkOrientedBSplineTransform.h.
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
|
virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
virtual |
|
static |
vtkAbstractTransform* vtkOrientedBSplineTransform::MakeTransform | ( | ) |
|
static |
|
virtual |
|
static |
|
virtual |
|
virtual |
|
protected |
Definition at line 90 of file vtkOrientedBSplineTransform.h.
|
protected |
Definition at line 86 of file vtkOrientedBSplineTransform.h.
|
protected |
Definition at line 92 of file vtkOrientedBSplineTransform.h.
|
protected |
Definition at line 94 of file vtkOrientedBSplineTransform.h.
|
protected |
Definition at line 93 of file vtkOrientedBSplineTransform.h.