#include <itkComplexBSplineInterpolateImageFunction.h>
Complex wrapper around BSplineInterpolateImageFunction.
A complex wrapper class that splits complex input image in two real-type subimages containing real and imaginary parts, that are interpolated using the standard itkBSplineInterpolateImageFunction. The same requirements apply for this class: Set spline order before setting the input image! Derivative support is currently not implemented
This implementation was taken from the Insight Journal paper: https://doi.org/10.54294/z83ly1
Definition at line 44 of file itkComplexBSplineInterpolateImageFunction.h.
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
OutputType | EvaluateAtContinuousIndex (const ContinuousIndexType &index) const override |
const char * | GetNameOfClass () const override |
SizeType | GetRadius () const override |
virtual unsigned int | GetSplineOrder () const |
void | SetInputImage (const TImageType *inputData) override |
void | SetSplineOrder (unsigned int SplineOrder) |
![]() | |
OutputType | EvaluateAtContinuousIndex (const ContinuousIndexType &index) const override=0 |
OutputType | EvaluateAtIndex (const IndexType &index) const override |
const char * | GetNameOfClass () const override |
OutputType | Evaluate (const PointType &point) const override |
![]() | |
void | ConvertContinuousIndexToNearestIndex (const ContinuousIndexType &cindex, IndexType &index) const |
void | ConvertPointToContinuousIndex (const PointType &point, ContinuousIndexType &cindex) const |
virtual const ContinuousIndexType & | GetEndContinuousIndex () const |
virtual const IndexType & | GetEndIndex () const |
const InputImageType * | GetInputImage () const |
virtual const ContinuousIndexType & | GetStartContinuousIndex () const |
virtual const IndexType & | GetStartIndex () const |
virtual bool | IsInsideBuffer (const IndexType &index) const |
virtual bool | IsInsideBuffer (const ContinuousIndexType &index) const |
virtual bool | IsInsideBuffer (const PointType &point) const |
void | ConvertPointToNearestIndex (const PointType &point, IndexType &index) const |
![]() | |
virtual OutputType | Evaluate (const InputType &input) const=0 |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
const char * | GetNameOfClass () const override |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension |
![]() | |
static constexpr unsigned int | ImageDimension |
Protected Member Functions | |
ComplexBSplineInterpolateImageFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ComplexBSplineInterpolateImageFunction () override=default | |
![]() | |
InterpolateImageFunction ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~InterpolateImageFunction () override=default | |
![]() | |
ImageFunction () | |
~ImageFunction () override=default | |
![]() | |
FunctionBase ()=default | |
~FunctionBase () override=default | |
![]() | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
![]() | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
ImaginaryFilterType::Pointer | m_ImaginaryFilter {} |
InterpolatorType::Pointer | m_ImaginaryInterpolator {} |
RealFilterType::Pointer | m_RealFilter {} |
InterpolatorType::Pointer | m_RealInterpolator {} |
unsigned int | m_SplineOrder {} |
Additional Inherited Members | |
![]() | |
ContinuousIndexType | m_EndContinuousIndex |
IndexType | m_EndIndex |
InputImageConstPointer | m_Image |
ContinuousIndexType | m_StartContinuousIndex |
IndexType | m_StartIndex |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::ConstPointer = SmartPointer<const Self> |
Standard class type alias.
Definition at line 60 of file itkComplexBSplineInterpolateImageFunction.h.
ContinuousIndex Type.
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::ImaginaryFilterType = ComplexToImaginaryImageFilter<InputImageType, InternalImageType> |
Definition at line 94 of file itkComplexBSplineInterpolateImageFunction.h.
Index Type.
InputImageType type alias support
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::InternalImageType = Image<double, Self::ImageDimension> |
Internal Real and imaginary image type
Definition at line 90 of file itkComplexBSplineInterpolateImageFunction.h.
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::InterpolatorType = BSplineInterpolateImageFunction<InternalImageType, TCoordinate, TCoefficientType> |
Underlying real BSpline interpolator
Definition at line 97 of file itkComplexBSplineInterpolateImageFunction.h.
OutputType type alias support
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::Pointer = SmartPointer<Self> |
Standard class type alias.
Definition at line 57 of file itkComplexBSplineInterpolateImageFunction.h.
Point Type.
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::RealFilterType = ComplexToRealImageFilter<InputImageType, InternalImageType> |
Complex to Real filter type
Definition at line 93 of file itkComplexBSplineInterpolateImageFunction.h.
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::Self = ComplexBSplineInterpolateImageFunction |
Standard class type alias.
Definition at line 51 of file itkComplexBSplineInterpolateImageFunction.h.
using itk::InterpolateImageFunction< TImageType, TCoordinate >::SizeType |
Size type alias support
Definition at line 79 of file itkInterpolateImageFunction.h.
using itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::Superclass = InterpolateImageFunction<TImageType, TCoordinate> |
Standard class type alias.
Definition at line 54 of file itkComplexBSplineInterpolateImageFunction.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
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.
|
override |
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 assumed to lie within the image buffer.
ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method.
|
overridevirtual |
Reimplemented from itk::LightObject.
|
inlineoverridevirtual |
Get the radius required for interpolation.
This defines the number of surrounding pixels required to interpolate at a given point.
Implements itk::InterpolateImageFunction< TImageType, double >.
Definition at line 136 of file itkComplexBSplineInterpolateImageFunction.h.
|
virtual |
|
static |
New macro for creation of through a Smart Pointer
|
overrideprotectedvirtual |
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::LightObject.
|
overridevirtual |
Set the input image. This must be set by the user, after setting the spline order!
Reimplemented from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, double >.
void itk::ComplexBSplineInterpolateImageFunction< TImageType, TCoordinate, TCoefficientType >::SetSplineOrder | ( | unsigned int | SplineOrder | ) |
Derivative type alias support Get/Sets the Spline Order, supports 0th - 5th order splines. The default is a 3rd order spline.
|
staticconstexpr |
Dimension underlying input image.
Definition at line 69 of file itkComplexBSplineInterpolateImageFunction.h.
|
private |
Definition at line 156 of file itkComplexBSplineInterpolateImageFunction.h.
|
private |
Definition at line 152 of file itkComplexBSplineInterpolateImageFunction.h.
|
private |
Definition at line 154 of file itkComplexBSplineInterpolateImageFunction.h.
|
private |
Definition at line 151 of file itkComplexBSplineInterpolateImageFunction.h.
|
private |
Definition at line 149 of file itkComplexBSplineInterpolateImageFunction.h.