Public Member Functions |
| | vtkThinPlateSplineTransform (IntPtr rawCppThis, bool callDisposalMethod, bool strong) |
| | Automatically generated constructor - called from generated code. DO NOT call directly.
|
| | vtkThinPlateSplineTransform () |
| | *Undocumented Block
|
| virtual int | GetBasis () |
| | Specify the radial basis function to use. The default is R2LogR which is appropriate for 2D. Use |R| (SetBasisToR) if your data is 3D. Alternatively specify your own basis function, however this will mean that the transform will no longer be a true thin-plate spline.
|
| string | GetBasisAsString () |
| | Specify the radial basis function to use. The default is R2LogR which is appropriate for 2D. Use |R| (SetBasisToR) if your data is 3D. Alternatively specify your own basis function, however this will mean that the transform will no longer be a true thin-plate spline.
|
| override uint | GetMTime () |
| | Get the MTime.
|
| virtual double | GetSigma () |
| | Specify the 'stiffness' of the spline. The default is 1.0.
|
| virtual vtkPoints | GetSourceLandmarks () |
| | Set the source landmarks for the warp. If you add or change the vtkPoints object, you must call Modified() on it or the transformation might not update.
|
| virtual vtkPoints | GetTargetLandmarks () |
| | Set the target landmarks for the warp. If you add or change the vtkPoints object, you must call Modified() on it or the transformation might not update.
|
| override int | IsA (string type) |
| | *Undocumented Block
|
| override vtkAbstractTransform | MakeTransform () |
| | Make another transform of the same type.
|
| new vtkThinPlateSplineTransform | NewInstance () |
| | *Undocumented Block
|
| void | SetBasis (int basis) |
| | Specify the radial basis function to use. The default is R2LogR which is appropriate for 2D. Use |R| (SetBasisToR) if your data is 3D. Alternatively specify your own basis function, however this will mean that the transform will no longer be a true thin-plate spline.
|
| void | SetBasisToR () |
| | Specify the radial basis function to use. The default is R2LogR which is appropriate for 2D. Use |R| (SetBasisToR) if your data is 3D. Alternatively specify your own basis function, however this will mean that the transform will no longer be a true thin-plate spline.
|
| void | SetBasisToR2LogR () |
| | Specify the radial basis function to use. The default is R2LogR which is appropriate for 2D. Use |R| (SetBasisToR) if your data is 3D. Alternatively specify your own basis function, however this will mean that the transform will no longer be a true thin-plate spline.
|
| virtual void | SetSigma (double _arg) |
| | Specify the 'stiffness' of the spline. The default is 1.0.
|
| void | SetSourceLandmarks (vtkPoints source) |
| | Set the source landmarks for the warp. If you add or change the vtkPoints object, you must call Modified() on it or the transformation might not update.
|
| void | SetTargetLandmarks (vtkPoints target) |
| | Set the target landmarks for the warp. If you add or change the vtkPoints object, you must call Modified() on it or the transformation might not update.
|
| | vtkWarpTransform (IntPtr rawCppThis, bool callDisposalMethod, bool strong) |
| | Automatically generated constructor - called from generated code. DO NOT call directly.
|
| virtual int | GetInverseFlag () |
| | Get the inverse flag of the transformation. This flag is set to zero when the transformation is first created, and is flipped each time Inverse() is called.
|
| virtual int | GetInverseIterations () |
| | Set the maximum number of iterations for the inverse transformation. The default is 500, but usually only 2 to 5 iterations are used. The inversion method is fairly robust, and it should converge for nearly all smooth transformations that do not fold back on themselves.
|
| virtual double | GetInverseTolerance () |
| | Set the tolerance for inverse transformation. The default is 0.001.
|
| override void | InternalTransformPoint (IntPtr arg0, IntPtr arg1) |
| | This will calculate the transformation without calling Update. Meant for use only within other VTK classes.
|
| override void | Inverse () |
| | Invert the transformation. Warp transformations are usually inverted using an iterative technique such as Newton's method. The inverse transform is usually around five or six times as computationally expensive as the forward transform.
|
| virtual void | SetInverseIterations (int _arg) |
| | Set the maximum number of iterations for the inverse transformation. The default is 500, but usually only 2 to 5 iterations are used. The inversion method is fairly robust, and it should converge for nearly all smooth transformations that do not fold back on themselves.
|
| virtual void | SetInverseTolerance (double _arg) |
| | Set the tolerance for inverse transformation. The default is 0.001.
|
| void | TemplateTransformInverse (IntPtr arg0, IntPtr arg1) |
| | Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)
|
| void | TemplateTransformPoint (IntPtr arg0, IntPtr arg1) |
| | Do not use these methods. They exists only as a work-around for internal templated functions (I really didn't want to make the Forward/Inverse methods public, is there a decent work around for this sort of thing?)
|
| | vtkAbstractTransform (IntPtr rawCppThis, bool callDisposalMethod, bool strong) |
| | Automatically generated constructor - called from generated code. DO NOT call directly.
|
| virtual int | CircuitCheck (vtkAbstractTransform transform) |
| | Check for self-reference. Will return true if concatenating with the specified transform, setting it to be our inverse, or setting it to be our input will create a circular reference. CircuitCheck is automatically called by SetInput(), SetInverse(), and Concatenate(vtkXTransform *). Avoid using this function, it is experimental.
|
| void | DeepCopy (vtkAbstractTransform arg0) |
| | Copy this transform from another of the same type.
|
| vtkAbstractTransform | GetInverse () |
| | Get the inverse of this transform. If you modify this transform, the returned inverse transform will automatically update. If you want the inverse of a vtkTransform, you might want to use GetLinearInverse() instead which will type cast the result from vtkAbstractTransform to vtkLinearTransform.
|
| void | SetInverse (vtkAbstractTransform transform) |
| | Set a transformation that this transform will be the inverse of. This transform will automatically update to agree with the inverse transform that you set.
|
| double[] | TransformDoubleNormalAtPoint (IntPtr point, IntPtr normal) |
| | Apply the transformation to a double-precision normal at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformDoubleNormal() instead.
|
| double[] | TransformDoublePoint (double x, double y, double z) |
| | Apply the transformation to a double-precision (x,y,z) coordinate. Use this if you are programming in Python, tcl or Java.
|
| double[] | TransformDoublePoint (IntPtr point) |
| | Apply the transformation to a double-precision (x,y,z) coordinate. Use this if you are programming in Python, tcl or Java.
|
| double[] | TransformDoubleVectorAtPoint (IntPtr point, IntPtr vector) |
| | Apply the transformation to a double-precision vector at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformDoubleVector() instead.
|
| float[] | TransformFloatNormalAtPoint (IntPtr point, IntPtr normal) |
| | Apply the transformation to a single-precision normal at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformFloatNormal() instead.
|
| float[] | TransformFloatPoint (float x, float y, float z) |
| | Apply the transformation to an (x,y,z) coordinate. Use this if you are programming in Python, tcl or Java.
|
| float[] | TransformFloatPoint (IntPtr point) |
| | Apply the transformation to an (x,y,z) coordinate. Use this if you are programming in Python, tcl or Java.
|
| float[] | TransformFloatVectorAtPoint (IntPtr point, IntPtr vector) |
| | Apply the transformation to a single-precision vector at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformFloatVector() instead.
|
| void | TransformNormalAtPoint (IntPtr point, IntPtr arg1, IntPtr arg2) |
| | Apply the transformation to a normal at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformNormal() instead.
|
| double[] | TransformNormalAtPoint (IntPtr point, IntPtr normal) |
| | Apply the transformation to a normal at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformNormal() instead.
|
| void | TransformPoint (IntPtr arg0, IntPtr arg1) |
| | Apply the transformation to a coordinate. You can use the same array to store both the input and output point.
|
| double[] | TransformPoint (double x, double y, double z) |
| | Apply the transformation to a double-precision coordinate. Use this if you are programming in Python, tcl or Java.
|
| double[] | TransformPoint (IntPtr point) |
| | Apply the transformation to a double-precision coordinate. Use this if you are programming in Python, tcl or Java.
|
| virtual void | TransformPoints (vtkPoints inPts, vtkPoints outPts) |
| | Apply the transformation to a series of points, and append the results to outPts.
|
| virtual void | TransformPointsNormalsVectors (vtkPoints inPts, vtkPoints outPts, vtkDataArray inNms, vtkDataArray outNms, vtkDataArray inVrs, vtkDataArray outVrs) |
| | Apply the transformation to a combination of points, normals and vectors.
|
| void | TransformVectorAtPoint (IntPtr point, IntPtr arg1, IntPtr arg2) |
| | Apply the transformation to a vector at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformVector() instead.
|
| double[] | TransformVectorAtPoint (IntPtr point, IntPtr vector) |
| | Apply the transformation to a vector at the specified vertex. If the transformation is a vtkLinearTransform, you can use TransformVector() instead.
|
| void | Update () |
| | Update the transform to account for any changes which have been made. You do not have to call this method yourself, it is called automatically whenever the transform needs an update.
|
| | vtkObject (IntPtr rawCppThis, bool callDisposalMethod, bool strong) |
| | Automatically generated constructor - called from generated code. DO NOT call directly.
|
| | vtkObject () |
| | Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
|
| uint | AddObserver (uint arg0, vtkCommand arg1, float priority) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| uint | AddObserver (string arg0, vtkCommand arg1, float priority) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| virtual void | DebugOff () |
| | Turn debugging output off.
|
| virtual void | DebugOn () |
| | Turn debugging output on.
|
| vtkCommand | GetCommand (uint tag) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| byte | GetDebug () |
| | Get the value of the debug flag.
|
| int | HasObserver (uint arg0, vtkCommand arg1) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | HasObserver (string arg0, vtkCommand arg1) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | HasObserver (uint arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | HasObserver (string arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | InvokeEvent (uint arg0, IntPtr callData) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | InvokeEvent (string arg0, IntPtr callData) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | InvokeEvent (uint arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| int | InvokeEvent (string arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| virtual void | Modified () |
| | Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data. The modification time is a unique monotonically increasing unsigned long integer.
|
| void | RemoveAllObservers () |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | RemoveObserver (vtkCommand arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | RemoveObserver (uint tag) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | RemoveObservers (uint arg0, vtkCommand arg1) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | RemoveObservers (string arg0, vtkCommand arg1) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | RemoveObservers (uint arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | RemoveObservers (string arg0) |
| | This is a global flag that controls whether any debug, warning or error messages are displayed.
|
| void | SetDebug (byte debugFlag) |
| | Set the value of the debug flag. A non-zero value turns debugging on.
|
| override string | ToString () |
| | Returns the result of calling vtkObject::Print as a C# string.
|
| delegate void | vtkObjectEventHandler (vtkObject sender, vtkObjectEventArgs e) |
| | Generic signature for all vtkObject events.
|
| void | RemoveAllHandlersForAllEvents () |
| | Call RemoveAllHandlers on each non-null vtkObjectEventRelay. TODO: This method needs to get called by the generated Dispose. Make that happen...
|
| | vtkObjectBase (IntPtr rawCppThis, bool callDisposalMethod, bool strong) |
| | Automatically generated constructor - called from generated code. DO NOT call directly.
|
| | vtkObjectBase () |
| | Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
|
| virtual void | Register (vtkObjectBase o) |
| | Increase the reference count (mark as used by another object).
|
| virtual void | FastDelete () |
| | Delete a reference to this object. This version will not invoke garbage collection and can potentially leak the object if it is part of a reference loop. Use this method only when it is known that the object has another reference and would not be collected if a full garbage collection check were done.
|
| string | GetClassName () |
| | Return the class name as a string. This method is defined in all subclasses of vtkObjectBase with the vtkTypeMacro found in vtkSetGet.h.
|
| int | GetReferenceCount () |
| | Return the current reference count of this object.
|
| void | SetReferenceCount (int arg0) |
| | Sets the reference count. (This is very dangerous, use with care.)
|
vtkThinPlateSplineTransform - a nonlinear warp transformation
Description vtkThinPlateSplineTransform describes a nonlinear warp transform defined by a set of source and target landmarks. Any point on the mesh close to a source landmark will be moved to a place close to the corresponding target landmark. The points in between are interpolated smoothly using Bookstein's Thin Plate Spline algorithm.
To obtain a correct TPS warp, use the R2LogR kernel if your data is 2D, and the R kernel if your data is 3D. Or you can specify your own RBF. (Hence this class is more general than a pure TPS transform.) Caveats 1) The inverse transform is calculated using an iterative method, and is several times more expensive than the forward transform. 2) Whenever you add, subtract, or set points you must call Modified() on the vtkPoints object, or the transformation might not update. 3) Collinear point configurations (except those that lie in the XY plane) result in an unstable transformation.
vtkGridTransform vtkGeneralTransform