ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::BSplineControlPointImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <itkBSplineControlPointImageFilter.h>

+ Inheritance diagram for itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >:

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage>
class itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >

Process a given a B-spline grid of control points.

The output of the class itkBSplineScatteredDataPointSetToImageFilter
is a control point grid defining a B-spline object. This class is used to hold various routines meant to operate on that control point grid. In addition to specifying the control point grid as the input, the user must also supply the spline order and the parametric domain (i.e. size, domain, origin, direction, spacing). The output of the filter is the sampled B-spline object.

This code was contributed in the Insight Journal paper: "N-D C^k B-Spline Scattered Data Approximation" by Nicholas J. Tustison, James C. Gee http://hdl.handle.net/1926/140 http://www.insight-journal.org/browse/publication/57

Author
Nicholas J. Tustison

Definition at line 60 of file itkBSplineControlPointImageFilter.h.

Public Types

typedef FixedArray< unsigned,
itkGetStaticConstMacro(ImageDimension)> 
ArrayType
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputImage ControlPointLatticeType
 
typedef
OutputImageType::DirectionType 
DirectionType
 
typedef OutputImageType::IndexType IndexType
 
typedef BSplineKernelFunction< 0 > KernelOrder0Type
 
typedef BSplineKernelFunction< 1 > KernelOrder1Type
 
typedef BSplineKernelFunction< 2 > KernelOrder2Type
 
typedef BSplineKernelFunction< 3 > KernelOrder3Type
 
typedef
CoxDeBoorBSplineKernelFunction< 3 > 
KernelType
 
typedef OutputImageType::PointType OriginType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef OutputImageType::PixelType PixelType
 
typedef SmartPointer< SelfPointer
 
typedef OutputImageType::PointType PointType
 
typedef RealImageType::Pointer RealImagePointer
 
typedef Image< RealType,
itkGetStaticConstMacro(ImageDimension)> 
RealImageType
 
typedef float RealType
 
typedef OutputImageType::RegionType RegionType
 
typedef
BSplineControlPointImageFilter 
Self
 
typedef OutputImageType::SizeType SizeType
 
typedef
OutputImageType::SpacingType 
SpacingType
 
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass
 
typedef PointSet< PixelType,
itkGetStaticConstMacro(ImageDimension)> 
PointSetType
 
typedef PointSetType::PixelType PointDataType
 
typedef
PointSetType::PointDataContainer 
PointDataContainerType
 
typedef Image< PointDataType,
itkGetStaticConstMacro(ImageDimension)> 
PointDataImageType
 
typedef PointDataImageType::Pointer PointDataImagePointer
 
- Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
typedef SmartPointer< const SelfConstPointer
 
typedef
InputImageType::ConstPointer 
InputImageConstPointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TInputImage InputImageType
 
typedef
Superclass::OutputImagePixelType 
OutputImagePixelType
 
typedef
Superclass::OutputImageRegionType 
OutputImageRegionType
 
typedef SmartPointer< SelfPointer
 
typedef ImageToImageFilter Self
 
typedef ImageSource< TOutputImage > Superclass
 
- Public Types inherited from itk::ImageSource< TOutputImage >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef
Superclass::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
 
typedef OutputImageType::PixelType OutputImagePixelType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef SmartPointer< SelfPointer
 
typedef ImageSource Self
 
typedef ProcessObject Superclass
 
- Public Types inherited from itk::ProcessObject
typedef SmartPointer< const SelfConstPointer
 
typedef
DataObject::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef std::vector
< DataObjectPointer
DataObjectPointerArray
 
typedef
DataObjectPointerArray::size_type 
DataObjectPointerArraySizeType
 
typedef std::vector
< DataObjectIdentifierType
NameArray
 
typedef SmartPointer< SelfPointer
 
typedef ProcessObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const ArrayTypeGetCloseDimension ()
 
virtual DirectionType GetDirection () const
 
virtual OriginType GetOrigin () const
 
virtual SizeType GetSize () const
 
virtual SpacingType GetSpacing () const
 
virtual const ArrayTypeGetSplineOrder ()
 
ControlPointLatticeType::Pointer RefineControlPointLattice (ArrayType)
 
virtual void SetCloseDimension (ArrayType _arg)
 
virtual void SetDirection (DirectionType _arg)
 
virtual void SetOrigin (OriginType _arg)
 
virtual void SetSize (SizeType _arg)
 
virtual void SetSpacing (SpacingType _arg)
 
void SetSplineOrder (unsigned int)
 
void SetSplineOrder (ArrayType)
 
- Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
const InputImageTypeGetInput (void) const
 
const InputImageTypeGetInput (unsigned int idx) const
 
virtual const char * GetNameOfClass () const
 
virtual void PopBackInput ()
 
virtual void PopFrontInput ()
 
virtual void PushBackInput (const InputImageType *image)
 
virtual void PushFrontInput (const InputImageType *image)
 
virtual void SetInput (const InputImageType *image)
 
virtual void SetInput (unsigned int, const TInputImage *image)
 
virtual void SetCoordinateTolerance (double _arg)
 
virtual double GetCoordinateTolerance () const
 
virtual void SetDirectionTolerance (double _arg)
 
virtual double GetDirectionTolerance () const
 
- Public Member Functions inherited from itk::ImageSource< TOutputImage >
OutputImageTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (DataObject *output)
 
virtual void GraftOutput (const DataObjectIdentifierType &key, DataObject *output)
 
OutputImageTypeGetOutput (void)
 
const OutputImageTypeGetOutput (void) const
 
virtual
ProcessObject::DataObjectPointer 
MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx)
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData ()
 
NameArray GetInputNames () const
 
MultiThreader * GetMultiThreader () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
virtual const float & GetProgress ()
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
virtual DataObjectPointer MakeOutput (const DataObjectIdentifierType &)
 
virtual void PrepareOutputs ()
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
virtual void SetProgress (float _arg)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float amount)
 
DataObjectPointerArray GetInputs ()
 
DataObjectPointerArray GetOutputs ()
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
virtual void SetReleaseDataFlag (bool flag)
 
virtual bool GetReleaseDataFlag () const
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual const bool & GetReleaseDataBeforeUpdateFlag ()
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void SetNumberOfThreads (ThreadIdType _arg)
 
virtual const ThreadIdTypeGetNumberOfThreads ()
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary (void)
 
const MetaDataDictionaryGetMetaDataDictionary (void) const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension
 
- Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
- Static Public Attributes inherited from itk::ImageSource< TOutputImage >
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

 BSplineControlPointImageFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
void ThreadedGenerateData (const OutputImageRegionType &, ThreadIdType)
 
virtual ~BSplineControlPointImageFilter ()
 
- Protected Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
 
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
 
virtual void GenerateInputRequestedRegion ()
 
 ImageToImageFilter ()
 
virtual void VerifyInputInformation ()
 
 ~ImageToImageFilter ()
 
void PushBackInput (const DataObject *input)
 
void PushFrontInput (const DataObject *input)
 
- Protected Member Functions inherited from itk::ImageSource< TOutputImage >
virtual void AfterThreadedGenerateData ()
 
virtual void AllocateOutputs ()
 
virtual void GenerateData ()
 
virtual const
ImageRegionSplitterBase
GetImageRegionSplitter (void) const
 
 ImageSource ()
 
virtual ~ImageSource ()
 
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
 
virtual void AddOutput (DataObject *output)
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void GenerateOutputInformation ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredOutputs ()
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
 itkLegacyMacro (virtual void RemoveOutput(DataObject *output))
 
 itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num))
 
 itkLegacyMacro (virtual void RemoveInput(DataObject *input))
 
 itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num))
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
 ProcessObject ()
 
virtual void PropagateResetPipeline ()
 
virtual void ReleaseInputs ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void SetOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void SetPrimaryInput (DataObject *input)
 
virtual void SetPrimaryOutput (DataObject *output)
 
virtual void VerifyPreconditions ()
 
 ~ProcessObject ()
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryInputName (void) const
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredInputs ()
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
void SetRequiredInputNames (const NameArray &)
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryOutputName (void) const
 
DataObjectGetOutput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
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 Member Functions

void BeforeThreadedGenerateData ()
 
 BSplineControlPointImageFilter (const Self &)
 
void CollapsePhiLattice (PointDataImageType *, PointDataImageType *, const RealType, const unsigned int)
 
RealImageType::IndexType NumberToIndex (unsigned int number, typename RealImageType::SizeType size)
 
void operator= (const Self &)
 
void SetNumberOfLevels (ArrayType)
 
unsigned int SplitRequestedRegion (unsigned int, unsigned int, OutputImageRegionType &)
 

Private Attributes

RealType m_BSplineEpsilon
 
ArrayType m_CloseDimension
 
unsigned int m_CurrentLevel
 
DirectionType m_Direction
 
bool m_DoMultilevel
 
bool m_GenerateOutputImage
 
KernelType::Pointer m_Kernel [ImageDimension]
 
KernelOrder0Type::Pointer m_KernelOrder0
 
KernelOrder1Type::Pointer m_KernelOrder1
 
KernelOrder2Type::Pointer m_KernelOrder2
 
KernelOrder3Type::Pointer m_KernelOrder3
 
unsigned int m_MaximumNumberOfLevels
 
ArrayType m_NumberOfControlPoints
 
ArrayType m_NumberOfLevels
 
OriginType m_Origin
 
vnl_matrix< RealTypem_RefinedLatticeCoefficients [ImageDimension]
 
SizeType m_Size
 
SpacingType m_Spacing
 
ArrayType m_SplineOrder
 

Additional Inherited Members

- Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(OutputImageDimension),
itkGetStaticConstMacro(InputImageDimension) > 
InputToOutputRegionCopierType
 
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension) > 
OutputToInputRegionCopierType
 
- Static Protected Member Functions inherited from itk::ImageSource< TOutputImage >
static const
ImageRegionSplitterBase
GetGlobalDefaultSplitter ()
 
static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 
- Protected Attributes inherited from itk::ProcessObject
TimeStamp m_OutputInformationMTime
 
bool m_Updating
 

Member Typedef Documentation

template<class TInputImage , class TOutputImage = TInputImage>
typedef FixedArray<unsigned, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ArrayType

Definition at line 98 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef SmartPointer<const Self> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ConstPointer

Definition at line 67 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef TInputImage itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ControlPointLatticeType

Definition at line 76 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::DirectionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::DirectionType

Definition at line 89 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::IndexType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::IndexType

Definition at line 82 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef BSplineKernelFunction<0> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder0Type

Definition at line 112 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef BSplineKernelFunction<1> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder1Type

Definition at line 113 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef BSplineKernelFunction<2> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder2Type

Definition at line 114 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef BSplineKernelFunction<3> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder3Type

Definition at line 115 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef CoxDeBoorBSplineKernelFunction<3> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelType

Interpolation kernel type (default spline order = 3)

Definition at line 111 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::PointType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::OriginType

Definition at line 87 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::RegionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Definition at line 84 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef TOutputImage itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::OutputImageType

Definition at line 77 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::PixelType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PixelType

Image typedef support.

Definition at line 80 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef PointSetType::PointDataContainer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataContainerType

PointSet typedef support.

Definition at line 104 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef PointDataImageType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataImagePointer

PointSet typedef support.

Definition at line 107 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef Image<PointDataType, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataImageType

PointSet typedef support.

Definition at line 106 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef PointSetType::PixelType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataType

PointSet typedef support.

Definition at line 103 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef SmartPointer<Self> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::Pointer

Definition at line 66 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef PointSet<PixelType, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointSetType

PointSet typedef support.

Definition at line 102 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::PointType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointType

Definition at line 83 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef RealImageType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RealImagePointer

Definition at line 95 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef Image<RealType, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RealImageType

Definition at line 94 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef float itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RealType

Other typedef

Definition at line 92 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::RegionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RegionType

Definition at line 81 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef BSplineControlPointImageFilter itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::Self

Definition at line 64 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::SizeType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SizeType

Definition at line 88 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef OutputImageType::SpacingType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SpacingType

Definition at line 86 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
typedef ImageToImageFilter<TInputImage, TOutputImage> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::Superclass

Definition at line 65 of file itkBSplineControlPointImageFilter.h.

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage = TInputImage>
itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::BSplineControlPointImageFilter ( )
protected
template<class TInputImage , class TOutputImage = TInputImage>
virtual itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::~BSplineControlPointImageFilter ( )
protectedvirtual
template<class TInputImage , class TOutputImage = TInputImage>
itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::BSplineControlPointImageFilter ( const Self )
private

Member Function Documentation

template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( )
privatevirtual

Before splitting, we need to allocate memory for the output sampled B-spline object based on the multi-threading functionality

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::CollapsePhiLattice ( PointDataImageType ,
PointDataImageType ,
const RealType  ,
const unsigned  int 
)
private

Sub-function used by GenerateOutputImageFast() to generate the sampled B-spline object quickly.

template<class TInputImage , class TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const
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::Object.

template<class TInputImage , class TOutputImage = TInputImage>
virtual const ArrayType& itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetCloseDimension ( )
virtual

Get the boolean array indicating which dimensions are closed.

template<class TInputImage , class TOutputImage = TInputImage>
virtual DirectionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetDirection ( ) const
virtual

Get the sampled B-spline object direction.

template<class TInputImage , class TOutputImage = TInputImage>
virtual OriginType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetOrigin ( ) const
virtual

Get the parametric origin of the B-spline object domain.

template<class TInputImage , class TOutputImage = TInputImage>
virtual SizeType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetSize ( ) const
virtual

Get the parametric size of the B-spline object domain.

template<class TInputImage , class TOutputImage = TInputImage>
virtual SpacingType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetSpacing ( ) const
virtual

Get the parametric spacing of the B-spline object domain.

template<class TInputImage , class TOutputImage = TInputImage>
virtual const ArrayType& itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetSplineOrder ( )
virtual

Get the spline order array of the B-spline object. Default = 3.

template<class TInputImage , class TOutputImage = TInputImage>
static Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

template<class TInputImage , class TOutputImage = TInputImage>
RealImageType::IndexType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::NumberToIndex ( unsigned int  number,
typename RealImageType::SizeType  size 
)
inlineprivate
template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
private
template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

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::ImageToImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage = TInputImage>
ControlPointLatticeType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RefineControlPointLattice ( ArrayType  )

Generate a refined control point lattice from the input control point lattice such that the resolution is doubled for each level. This is further described in the references. Note that if one sets the number of refinement levels to all 1's, the control point lattice is not increased in resolution. Doubling the resolution starts at 2 refinement levels.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetCloseDimension ( ArrayType  _arg)
virtual

Set the boolean array indicating the periodicity of the B-spline object. This array of 0/1 values defines whether a particular dimension of the parametric space is to be considered periodic or not. For example, if you are using interpolating along a 1D closed curve, the array type will have size 1, and you should set the first element of this array to the value "1". In the case that you were interpolating in a planar surface with cylindrical topology, the array type will have two components, and you should set to "1" the component that goes around the cylinder, and set to "0" the component that goes from the top of the cylinder to the bottom. This will indicate the periodity of that parameter to the filter. Internally, in order to make periodic the domain of the parameter, the filter will reuse some of the points at the beginning of the domain as if they were also located at the end of the domain. The number of points to be reused will depend on the spline order. As a user, you don't need to replicate the points, the filter will do this for you.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetDirection ( DirectionType  _arg)
virtual

Set the sampled object direction. Note that this is not used in any of the calculations in this class. The only reason why it is included is due to the fact that we use the image class to represent the B-spline parametric domain (due to the maturity of the image class and the wealth of helper functions associated with it). This is where the incongruence between the B-spline parametric domain and the concept of an image is most obvious. An ITK image is a representation of a physical object thus it also exists in physical space which includes orientation. However, it can be argued that the parametric domain, per se, does not exist in physical space and it is only a parametric mapping which allows us to go from the parametric space to the physical space. Therefore, the direction is not used.

template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetNumberOfLevels ( ArrayType  )
private

Private function to handle the internal ivars.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetOrigin ( OriginType  _arg)
virtual

Set the parametric origin of the B-spline object domain.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSize ( SizeType  _arg)
virtual

Set the parametric size of the B-spline object domain.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSpacing ( SpacingType  _arg)
virtual

Set the parametric spacing of the B-spline object domain.

template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSplineOrder ( unsigned  int)

Set the spline order of the B-spline object for all parametric dimensions. Default = 3.

template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSplineOrder ( ArrayType  )

Set the spline order array where each element of the array corresponds to a single parametric dimension of the B-spline object. Default = 3.

template<class TInputImage , class TOutputImage = TInputImage>
unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SplitRequestedRegion ( unsigned  int,
unsigned  int,
OutputImageRegionType  
)
privatevirtual

Based on the way CollapsePhiLattice() is written, we want to split on the the last dimension.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage , class TOutputImage = TInputImage>
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType ,
ThreadIdType   
)
protectedvirtual

Multi-threaded function which generates the output sampled B-spline object.

Reimplemented from itk::ImageSource< TOutputImage >.

Member Data Documentation

template<class TInputImage , class TOutputImage = TInputImage>
const unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension
static

Extract dimension from input image.

Definition at line 74 of file itkBSplineControlPointImageFilter.h.

Referenced by itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::NumberToIndex().

template<class TInputImage , class TOutputImage = TInputImage>
RealType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_BSplineEpsilon
private

Definition at line 280 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_CloseDimension
private

Definition at line 268 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_CurrentLevel
private

Definition at line 266 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
DirectionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Direction
private

Definition at line 261 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
bool itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_DoMultilevel
private

Definition at line 263 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
bool itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_GenerateOutputImage
private

Definition at line 264 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
KernelType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Kernel[ImageDimension]
private

Definition at line 274 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
KernelOrder0Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder0
private

Definition at line 275 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
KernelOrder1Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder1
private

Definition at line 276 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
KernelOrder2Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder2
private

Definition at line 277 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
KernelOrder3Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder3
private

Definition at line 278 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_MaximumNumberOfLevels
private

Definition at line 265 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_NumberOfControlPoints
private

Definition at line 267 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_NumberOfLevels
private

Definition at line 270 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
OriginType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Origin
private

Definition at line 260 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
vnl_matrix<RealType> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_RefinedLatticeCoefficients[ImageDimension]
private

Definition at line 272 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
SizeType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Size
private

Parameters for the output image.

Definition at line 258 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
SpacingType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Spacing
private

Definition at line 259 of file itkBSplineControlPointImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_SplineOrder
private

Definition at line 269 of file itkBSplineControlPointImageFilter.h.


The documentation for this class was generated from the following file: