#include <itkBSplineInterpolateImageFunction.h>
Inheritance diagram for itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >:


This class defines N-Dimension B-Spline transformation. It is based on: [1] M. Unser, "Splines: A Perfect Fit for Signal and Image Processing," IEEE Signal Processing Magazine, vol. 16, no. 6, pp. 22-38, November 1999. [2] M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part I--Theory," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 821-832, February 1993. [3] M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part II--Efficient Design and Applications," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 834-848, February 1993. And code obtained from bigwww.epfl.ch by Philippe Thevenaz
The B spline coefficients are calculated through the BSplineDecompositionImageFilter
Limitations: Spline order must be between 0 and 5. Spline order must be set before setting the image. Uses mirror boundary conditions. Requires the same order of Spline for each dimension. Spline is determined in all dimensions, cannot selectively pick dimension for calculating spline.
Definition at line 73 of file itkBSplineInterpolateImageFunction.h.
Public Types | |
| typedef TCoefficientType | CoefficientDataType |
| typedef itk::BSplineDecompositionImageFilter< TImageType, CoefficientImageType > | CoefficientFilter |
| typedef CoefficientFilter::Pointer | CoefficientFilterPointer |
| typedef itk::Image< CoefficientDataType, itkGetStaticConstMacro(ImageDimension) | CoefficientImageType ) |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef Superclass::ContinuousIndexType | ContinuousIndexType |
| typedef TCoordRep | CoordRepType |
| typedef CovariantVector< OutputType, itkGetStaticConstMacro(ImageDimension) | CovariantVectorType ) |
| typedef Superclass::IndexType | IndexType |
| typedef InputImageType::ConstPointer | InputImageConstPointer |
| typedef Superclass::InputImageType | InputImageType |
| typedef InputImageType::PixelType | InputPixelType |
| typedef Point< TCoordRep, ::itk::GetImageDimension< TImageType >::ImageDimension > | InputType |
| typedef itk::ImageLinearIteratorWithIndex< TImageType > | Iterator |
| typedef Superclass::OutputType | OutputType |
| typedef SmartPointer< Self > | Pointer |
| typedef Superclass::PointType | PointType |
| typedef NumericTraits< typename TImageType::PixelType >::RealType | RealType |
| typedef BSplineInterpolateImageFunction | Self |
| typedef InterpolateImageFunction< TImageType, TCoordRep > | Superclass |
Public Member Functions | |
| Convert continuous index to nearest index *void | ConvertContinuousIndexToNearestIndex (const ContinuousIndexType &cindex, IndexType &index) const |
| void | ConvertPointToContinousIndex (const PointType &point, ContinuousIndexType &cindex) const |
| Convert point to nearest index *void | ConvertPointToNearestIndex (const PointType &point, IndexType &index) const |
| virtual LightObject::Pointer | CreateAnother () const |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| virtual void | Delete () |
| virtual OutputType | Evaluate (const InputType &input) const =0 |
| virtual NumericTraits< TImageType::PixelType >::RealType | Evaluate (const PointType &point) const =0 |
| virtual OutputType | EvaluateAtContinuousIndex (const ContinuousIndexType &index) const |
| virtual OutputType | EvaluateAtIndex (const IndexType &index) const |
| CovariantVectorType | EvaluateDerivative (const PointType &point) const |
| CovariantVectorType | EvaluateDerivativeAtContinuousIndex (const ContinuousIndexType &x) const |
| Command * | GetCommand (unsigned long tag) |
| bool | GetDebug () const |
| virtual const ContinuousIndexType & | GetEndContinuousIndex () |
| virtual const IndexType & | GetEndIndex () |
| const InputImageType * | GetInputImage () const |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| virtual unsigned long | GetMTime () const |
| virtual const char * | GetNameOfClass () const |
| virtual int | GetReferenceCount () const |
| virtual int | GetSplineOrder () |
| virtual const ContinuousIndexType & | GetStartContinuousIndex () |
| virtual const IndexType & | GetStartIndex () |
| bool | HasObserver (const EventObject &event) const |
| Interpolate the image at a point position **Returns the interpolated image intensity at a *specified point position No bounds checking is done *The point is assume to lie within the image buffer ** | ImageFunction::IsInsideBuffer () can be used to check bounds before *calling the method.*/virtual OutputType Evaluate(const PointType &point) const |
| void | InvokeEvent (const EventObject &) const |
| void | InvokeEvent (const EventObject &) |
| Check if a point is inside the image buffer *warning For no validity checking of *the input image pointer is done *virtual bool | IsInsideBuffer (const PointType &point) const |
| Check if a continuous index is inside the image buffer *warning For no validity checking of *the input image is done *virtual bool | IsInsideBuffer (const ContinuousIndexType &index) const |
| Check if an index is inside the image buffer *warning For no validity checking of *the input image is done *virtual bool | IsInsideBuffer (const IndexType &index) const |
| itkStaticConstMacro (ImageDimension, unsigned int, TImageType::ImageDimension) | |
| itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension) | |
| virtual void | Modified () const |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual void | Register () const |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
| void | SetDebug (bool debugFlag) const |
| virtual void | SetInputImage (const InputImageType *ptr) |
| virtual void | SetInputImage (const TImageType *inputData) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| virtual void | SetReferenceCount (int) |
| Get Sets the Spline supports th th order splines The default *is a rd order spline *void | SetSplineOrder (unsigned int SplineOrder) |
| virtual void | UnRegister () const |
Static Public Member Functions | |
| static void | BreakOnError () |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| This is a global flag that controls whether any warning *or error messages are displayed *static void | SetGlobalWarningDisplay (bool flag) |
Public Attributes | |
| Allow people to add remove invoke observers(callbacks) to any ITK *object.This is an implementation of the subject/observer design *pattern.An observer is added by specifying an event to respond to *and an itk unsigned lon | AddObserver )(const EventObject &event, Command *) const |
| This is a global flag that controls whether any | debug |
| Check if a point is inside the image buffer *warning For | efficiency |
| Check if a continuous index is inside the image buffer *warning For | efficiency |
| Check if an index is inside the image buffer *warning For | efficiency |
| Get Sets the Spline | Order |
Protected Member Functions | |
| BSplineInterpolateImageFunction () | |
| FunctionBase () | |
| ImageFunction () | |
| InterpolateImageFunction () | |
| void | operator= (const Self &) |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| virtual | ~BSplineInterpolateImageFunction () |
Protected Attributes | |
| CoefficientImageType::ConstPointer | m_Coefficients |
| TImageType::SizeType | m_DataLength |
| ContinuousIndexType | m_EndContinuousIndex |
| IndexType | m_EndIndex |
| InputImageConstPointer | m_Image |
| int | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
| std::vector< CoefficientDataType > | m_Scratch |
| unsigned int | m_SplineOrder |
| ContinuousIndexType | m_StartContinuousIndex |
| IndexType | m_StartIndex |
| Methods invoked by virtual Print() to print information about the object *including superclasses.Typically not called by the user(use Print()*instead) but used in the hierarchical print process to combine the *output of several classes.*/virtual void PrintSelf(std voi | PrintHeader )(std::ostream &os, Indent indent) const |
|
|||||
|
Internal Coefficient typedef support Definition at line 112 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Define filter for calculating the BSpline coefficients Definition at line 119 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Definition at line 120 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Definition at line 115 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. Definition at line 81 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
ContinuousIndex typedef support. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Definition at line 103 of file itkBSplineInterpolateImageFunction.h. |
|
|
CoordRepType typedef support. Definition at line 94 of file itkImageFunction.h. |
|
|||||
|
Derivative typedef support Definition at line 136 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Index typedef support. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Definition at line 100 of file itkBSplineInterpolateImageFunction.h. |
|
|
InputImagePointer typedef support Definition at line 88 of file itkImageFunction.h. |
|
|||||
|
InputImageType typedef support. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Definition at line 94 of file itkBSplineInterpolateImageFunction.h. |
|
|
InputPixel typedef support Definition at line 85 of file itkImageFunction.h. |
|
|
Input type Definition at line 54 of file itkFunctionBase.h. |
|
|||||
|
Iterator typedef support Definition at line 109 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
OutputType typedef support. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Definition at line 88 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. Definition at line 80 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
PointType typedef support Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Definition at line 106 of file itkBSplineInterpolateImageFunction.h. |
|
|
RealType typedef support. Definition at line 76 of file itkInterpolateImageFunction.h. |
|
|||||
|
Standard class typedefs. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. Definition at line 78 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. Definition at line 79 of file itkBSplineInterpolateImageFunction.h. |
|
|||||||||
|
|
|
|||||||||
|
Definition at line 161 of file itkBSplineInterpolateImageFunction.h. |
|
|
This method is called when itkExceptionMacro executes. It allows the debugger to break on error. |
|
||||||||||||
|
Definition at line 186 of file itkImageFunction.h. |
|
||||||||||||
|
Convert point to continuous index Definition at line 179 of file itkImageFunction.h. |
|
||||||||||||
|
Definition at line 169 of file itkImageFunction.h. |
|
|
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class. Reimplemented from itk::LightObject. |
|
|
Turn debugging output off. |
|
|
Turn debugging output on. |
|
|
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting. |
|
|
Evaluate at the specified input position |
|
|
Evaluate the function at specified Point position. Subclasses must provide this method. |
|
||||||||||
|
Evaluate the function at a ContinuousIndex position. Returns the B-Spline interpolated image intensity at a specified point position. No bounds checking is done. The point is assume to lie within the image buffer. ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method. Implements itk::InterpolateImageFunction< TImageType, TCoordRep >. |
|
|
Interpolate the image at an index position. Simply returns the image value at the specified index position. No bounds checking is done. The point is assume to lie within the image buffer. ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method. Implements itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >. Definition at line 115 of file itkInterpolateImageFunction.h. References itk::fem::this. |
|
||||||||||
|
Definition at line 138 of file itkBSplineInterpolateImageFunction.h. |
|
||||||||||
|
|
|
|
Definition at line 66 of file itkFunctionBase.h. |
|
|
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used. |
|
|
Get the value of the debug flag. |
|
|
|
|
|
|
|
|
|
|
|
Get the input image. Definition at line 113 of file itkImageFunction.h. |
|
|
|
|
|
|
|
|
|||||||||
|
Run-time type information (and related methods). Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. |
|
|
Gets the reference count on this object. Definition at line 98 of file itkLightObject.h. |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
Definition at line 100 of file itkObject.h. References itk::Object::SetGlobalWarningDisplay(). |
|
|
Definition at line 98 of file itkObject.h. References itk::Object::SetGlobalWarningDisplay(). |
|
|
Return true if an observer is registered for this event. |
|
|
|
|
|
Definition at line 84 of file itkInterpolateImageFunction.h. |
|
|
Definition at line 121 of file itkInterpolateImageFunction.h. |
|
|
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object. |
|
|
Call Execute on all the Commands observing this event id. |
|
|
Definition at line 160 of file itkImageFunction.h. |
|
|
Definition at line 146 of file itkImageFunction.h. |
|
|
Definition at line 132 of file itkImageFunction.h. |
|
||||||||||||||||
|
Dimension underlying input image. |
|
||||||||||||||||||||
|
Dimension underlying input image. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. |
|
|
|||||||||
|
New macro for creation of through a Smart Pointer Reimplemented from itk::Object. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. |
|
||||||||||
|
Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. |
|
||||||||||||
|
Cause the object to print itself out. |
|
||||||||||||
|
|
|
||||||||||||||||
|
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes. Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. |
|
||||||||||||
|
|
|
|
Increase the reference count (mark as used by another object). Reimplemented from itk::LightObject. |
|
|
Remove all observers . |
|
|
Remove the observer with this tag value. |
|
|
Set the value of the debug flag. A non-zero value turns debugging on. |
|
|
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn(). |
|
|
Set the input image.
|
|
||||||||||
|
Set the input image. This must be set by the user. Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >. |
|
|
|
|
|
Sets the reference count (use with care) Reimplemented from itk::LightObject. |
|
||||||||||
|
|
|
|
Decrease the reference count (release by another object). Reimplemented from itk::LightObject. |
|
|
|
|
|
Definition at line 94 of file itkObject.h. |
|
|
Definition at line 158 of file itkImageFunction.h. |
|
|
Definition at line 144 of file itkImageFunction.h. |
|
|
Definition at line 130 of file itkImageFunction.h. |
|
|||||
|
Definition at line 170 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Definition at line 167 of file itkBSplineInterpolateImageFunction.h. |
|
|
Definition at line 213 of file itkImageFunction.h. |
|
|
Definition at line 211 of file itkImageFunction.h. |
|
|
Const pointer to the input image. Definition at line 207 of file itkImageFunction.h. |
|
|
Number of uses of this object by other objects. Definition at line 119 of file itkLightObject.h. |
|
|
Mutex lock to protect modification to the reference count Definition at line 122 of file itkLightObject.h. |
|
|||||
|
Definition at line 166 of file itkBSplineInterpolateImageFunction.h. |
|
|||||
|
Definition at line 168 of file itkBSplineInterpolateImageFunction.h. |
|
|
Definition at line 212 of file itkImageFunction.h. |
|
|
Cache some values for testing if indices are inside buffered region. Definition at line 210 of file itkImageFunction.h. |
|
|||||
|
Definition at line 149 of file itkBSplineInterpolateImageFunction.h. |
|
|
|
1.4.2 written by Dimitri van Heesch,
© 1997-2000