ITK  5.2.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage > Class Template Reference

#include <itkBSplineScatteredDataPointSetToImageFilter.h>

+ Inheritance diagram for itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >:
+ Collaboration diagram for itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >:

Public Types

using ArrayType = FixedArray< unsigned, Self::ImageDimension >
 
using ConstPointer = SmartPointer< const Self >
 
using ImageType = TOutputImage
 
using IndexType = typename ImageType::IndexType
 
using KernelOrder0Type = BSplineKernelFunction< 0 >
 
using KernelOrder1Type = BSplineKernelFunction< 1 >
 
using KernelOrder2Type = BSplineKernelFunction< 2 >
 
using KernelOrder3Type = BSplineKernelFunction< 3 >
 
using KernelType = CoxDeBoorBSplineKernelFunction< 3 >
 
using OutputImageRegionType = RegionType
 
using PixelType = typename ImageType::PixelType
 
using PointDataContainerType = typename PointSetType::PointDataContainer
 
using PointDataImagePointer = typename PointDataImageType::Pointer
 
using PointDataImageType = Image< PointDataType, Self::ImageDimension >
 
using PointDataType = typename PointSetType::PixelType
 
using Pointer = SmartPointer< Self >
 
using PointSetPointer = typename PointSetType::Pointer
 
using PointSetType = TInputPointSet
 
using PointType = typename PointSetType::PointType
 
using RealArrayType = FixedArray< RealType, Self::ImageDimension >
 
using RealImagePointer = typename RealImageType::Pointer
 
using RealImageType = Image< RealType, Self::ImageDimension >
 
using RealType = float
 
using RegionType = typename ImageType::RegionType
 
using Self = BSplineScatteredDataPointSetToImageFilter
 
using SizeType = typename ImageType::SizeType
 
using Superclass = PointSetToImageFilter< TInputPointSet, TOutputImage >
 
using WeightsContainerType = VectorContainer< unsigned, RealType >
 
- Public Types inherited from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >
using ConstPointer = SmartPointer< const Self >
 
using DirectionType = typename TOutputImage::DirectionType
 
using InputPointSetConstPointer = typename InputPointSetType::ConstPointer
 
using InputPointSetPointer = typename InputPointSetType::Pointer
 
using InputPointSetType = TInputPointSet
 
using OutputImagePointer = typename OutputImageType::Pointer
 
using OutputImageRegionType = typename Superclass::OutputImageRegionType
 
using OutputImageType = TOutputImage
 
using Pointer = SmartPointer< Self >
 
using PointType = typename TOutputImage::PointType
 
using Self = PointSetToImageFilter
 
using SizeType = typename TOutputImage::SizeType
 
using SpacingType = typename TOutputImage::SpacingType
 
using Superclass = ImageSource< TOutputImage >
 
using ValueType = typename OutputImageType::ValueType
 
- Public Types inherited from itk::ImageSource< TOutputImage >
using ConstPointer = SmartPointer< const Self >
 
using DataObjectIdentifierType = Superclass::DataObjectIdentifierType
 
using DataObjectPointer = DataObject::Pointer
 
using DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType
 
using OutputImagePixelType = typename OutputImageType::PixelType
 
using OutputImagePointer = typename OutputImageType::Pointer
 
using OutputImageRegionType = typename OutputImageType::RegionType
 
using OutputImageType = TOutputImage
 
using Pointer = SmartPointer< Self >
 
using Self = ImageSource
 
using Superclass = ProcessObject
 
- Public Types inherited from itk::ProcessObject
using ConstPointer = SmartPointer< const Self >
 
using DataObjectIdentifierType = DataObject::DataObjectIdentifierType
 
using DataObjectPointer = DataObject::Pointer
 
using DataObjectPointerArray = std::vector< DataObjectPointer >
 
using DataObjectPointerArraySizeType = DataObjectPointerArray::size_type
 
using MultiThreaderType = MultiThreaderBase
 
using NameArray = std::vector< DataObjectIdentifierType >
 
using Pointer = SmartPointer< Self >
 
using Self = ProcessObject
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual const ArrayTypeGetSplineOrder () const
 
void SetSplineOrder (const ArrayType &)
 
void SetSplineOrder (unsigned int)
 
- Public Member Functions inherited from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >
const InputPointSetTypeGetInput ()
 
const InputPointSetTypeGetInput (unsigned int idx)
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetInput (const InputPointSetType *input)
 
virtual void SetInput (unsigned int, const InputPointSetType *pointset)
 
virtual void SetSpacing (SpacingType _arg)
 
virtual void SetSpacing (const double *v)
 
virtual void SetSpacing (const float *v)
 
virtual const SpacingTypeGetSpacing () const
 
virtual void SetDirection (DirectionType _arg)
 
virtual const DirectionTypeGetDirection () const
 
virtual void SetOrigin (PointType _arg)
 
virtual void SetOrigin (const double *v)
 
virtual void SetOrigin (const float *v)
 
virtual const PointTypeGetOrigin () const
 
virtual void SetInsideValue (ValueType _arg)
 
virtual ValueType GetInsideValue () const
 
virtual void SetOutsideValue (ValueType _arg)
 
virtual ValueType GetOutsideValue () const
 
virtual void SetSize (SizeType _arg)
 
virtual SizeType GetSize () const
 
- Public Member Functions inherited from itk::ImageSource< TOutputImage >
OutputImageTypeGetOutput ()
 
const OutputImageTypeGetOutput () const
 
OutputImageTypeGetOutput (unsigned int idx)
 
virtual void GraftOutput (DataObject *graft)
 
virtual void GraftOutput (const DataObjectIdentifierType &key, DataObject *graft)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *graft)
 
ProcessObject::DataObjectPointer MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override
 
ProcessObject::DataObjectPointer MakeOutput (const ProcessObject::DataObjectIdentifierType &) override
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual DataObjectPointerArraySizeType GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
DataObjectPointerArray GetOutputs ()
 
virtual float GetProgress () const
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
void IncrementProgress (float increment)
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float progress)
 
virtual void SetReleaseDataFlag (bool val)
 
virtual bool GetReleaseDataFlag () const
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual const bool & GetReleaseDataBeforeUpdateFlag () const
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void SetNumberOfWorkUnits (ThreadIdType _arg)
 
virtual const ThreadIdTypeGetNumberOfWorkUnits () const
 
MultiThreaderTypeGetMultiThreader () const
 
void SetMultiThreader (MultiThreaderType *threader)
 
virtual void PrepareOutputs ()
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () 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
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
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
 
- Public Member Functions inherited from itk::LightObject
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 Public Member Functions inherited from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension
 
- Static Public Attributes inherited from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >
static constexpr unsigned int InputPointSetDimension = InputPointSetType::PointDimension
 
static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
- Static Public Attributes inherited from itk::ImageSource< TOutputImage >
static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
bool m_DoMultilevel { false }
 
bool m_GenerateOutputImage { true }
 
bool m_UsePointWeights { false }
 
unsigned int m_MaximumNumberOfLevels { 1 }
 
unsigned int m_CurrentLevel { 0 }
 
ArrayType m_NumberOfControlPoints
 
ArrayType m_CurrentNumberOfControlPoints
 
ArrayType m_CloseDimension
 
ArrayType m_SplineOrder
 
ArrayType m_NumberOfLevels
 
WeightsContainerType::Pointer m_PointWeights
 
PointDataImageType::Pointer m_PhiLattice
 
PointDataImageType::Pointer m_PsiLattice
 
vnl_matrix< RealTypem_RefinedLatticeCoefficients [ImageDimension]
 
PointDataContainerType::Pointer m_InputPointData
 
PointDataContainerType::Pointer m_OutputPointData
 
KernelType::Pointer m_Kernel [ImageDimension]
 
KernelOrder0Type::Pointer m_KernelOrder0
 
KernelOrder1Type::Pointer m_KernelOrder1
 
KernelOrder2Type::Pointer m_KernelOrder2
 
KernelOrder3Type::Pointer m_KernelOrder3
 
std::vector< RealImagePointerm_OmegaLatticePerThread
 
std::vector< PointDataImagePointerm_DeltaLatticePerThread
 
RealType m_BSplineEpsilon { static_cast<RealType>(1e-3) }
 
bool m_IsFittingComplete { false }
 
virtual void SetNumberOfControlPoints (ArrayType _arg)
 
virtual const ArrayTypeGetNumberOfControlPoints () const
 
virtual const ArrayTypeGetCurrentNumberOfControlPoints () const
 
void SetNumberOfLevels (unsigned int)
 
void SetNumberOfLevels (const ArrayType &)
 
virtual const ArrayTypeGetNumberOfLevels () const
 
virtual void SetBSplineEpsilon (RealType _arg)
 
virtual RealType GetBSplineEpsilon () const
 
virtual void SetCloseDimension (ArrayType _arg)
 
virtual const ArrayTypeGetCloseDimension () const
 
void SetPointWeights (WeightsContainerType *weights)
 
virtual void SetGenerateOutputImage (bool _arg)
 
virtual const bool & GetGenerateOutputImage () const
 
virtual void GenerateOutputImageOn ()
 
virtual void GenerateOutputImageOff ()
 
PointDataImagePointer GetPhiLattice ()
 
 BSplineScatteredDataPointSetToImageFilter ()
 
 ~BSplineScatteredDataPointSetToImageFilter () override=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void ThreadedGenerateData (const RegionType &, ThreadIdType) override
 
void DynamicThreadedGenerateData (const RegionType &) override
 
void BeforeThreadedGenerateData () override
 
void AfterThreadedGenerateData () override
 
unsigned int SplitRequestedRegion (unsigned int, unsigned int, RegionType &) override
 
void GenerateData () override
 
void RefineControlPointLattice ()
 
void UpdatePointSet ()
 
void GenerateOutputImage ()
 
void ThreadedGenerateDataForFitting (const RegionType &, ThreadIdType)
 
void ThreadedGenerateDataForReconstruction (const RegionType &, ThreadIdType)
 
void CollapsePhiLattice (PointDataImageType *, PointDataImageType *, const RealType, const unsigned int)
 
void SetPhiLatticeParametricDomainParameters ()
 
IndexType NumberToIndex (const unsigned int, const SizeType)
 

Additional Inherited Members

- Protected Member Functions inherited from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >
 PointSetToImageFilter ()
 
 ~PointSetToImageFilter () override=default
 
void GenerateOutputInformation () override
 
- Protected Member Functions inherited from itk::ImageSource< TOutputImage >
 ImageSource ()
 
 ~ImageSource () override=default
 
void ClassicMultiThread (ThreadFunctionType callbackFunction)
 
virtual void ThreadedGenerateData (const OutputImageRegionType &region, ThreadIdType threadId)
 
virtual void DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread)
 
virtual void AllocateOutputs ()
 
virtual const ImageRegionSplitterBaseGetImageRegionSplitter () const
 
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion)
 
virtual bool GetDynamicMultiThreading () const
 
virtual void SetDynamicMultiThreading (bool _arg)
 
virtual void DynamicMultiThreadingOn ()
 
virtual void DynamicMultiThreadingOff ()
 
- Protected Member Functions inherited from itk::ProcessObject
 ProcessObject ()
 
 ~ProcessObject () override
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input)
 
virtual void AddInput (DataObject *input)
 
virtual void PushBackInput (const DataObject *input)
 
virtual void PopBackInput ()
 
virtual void PushFrontInput (const DataObject *input)
 
virtual void PopFrontInput ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryInputName () const
 
virtual void SetPrimaryInput (DataObject *object)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual const DataObjectPointerArraySizeTypeGetNumberOfRequiredInputs () const
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
void SetRequiredInputNames (const NameArray &)
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
void AddOptionalInputName (const DataObjectIdentifierType &)
 
void AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
virtual const char * GetPrimaryOutputName () const
 
DataObjectGetOutput (DataObjectPointerArraySizeType i)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType i) const
 
virtual void SetOutput (const DataObjectIdentifierType &name, DataObject *output)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
virtual void SetPrimaryOutput (DataObject *object)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output)
 
virtual void AddOutput (DataObject *output)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual const DataObjectPointerArraySizeTypeGetNumberOfRequiredOutputs () const
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
virtual void VerifyPreconditions () ITKv5_CONST
 
virtual void VerifyInputInformation () ITKv5_CONST
 
virtual void GenerateInputRequestedRegion ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
virtual void PropagateResetPipeline ()
 
virtual void ReleaseInputs ()
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual bool GetThreaderUpdateProgress () const
 
virtual void ThreaderUpdateProgressOn ()
 
virtual void ThreaderUpdateProgressOff ()
 
virtual void SetThreaderUpdateProgress (bool arg)
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
 ~Object () override
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
- 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 ()
 
- Static Protected Member Functions inherited from itk::ImageSource< TOutputImage >
static const ImageRegionSplitterBaseGetGlobalDefaultSplitter ()
 
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 
- Static Protected Member Functions inherited from itk::ProcessObject
static constexpr float progressFixedToFloat (uint32_t fixed)
 
static uint32_t progressFloatToFixed (float f)
 
- Protected Attributes inherited from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >
SizeType m_Size
 
PointType m_Origin
 
SpacingType m_Spacing
 
DirectionType m_Direction
 
ValueType m_InsideValue
 
ValueType m_OutsideValue
 
- Protected Attributes inherited from itk::ImageSource< TOutputImage >
bool m_DynamicMultiThreading
 
- Protected Attributes inherited from itk::ProcessObject
bool m_Updating
 
TimeStamp m_OutputInformationMTime
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount
 

Detailed Description

template<typename TInputPointSet, typename TOutputImage>
class itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >

Image filter which provides a B-spline output approximation.

Given an n-D image with scattered data, this filter finds a fast approximation to that irregularly spaced data using uniform B-splines. The traditional method of inverting the observation matrix to find a least-squares fit is made obsolete. Therefore, memory issues are not a concern and inverting large matrices is not applicable. In addition, this allows fitting to be multi-threaded. This class generalizes from Lee's original paper to encompass n-D data in m-D parametric space and any feasible B-spline order as well as the option of specifying a confidence value for each point.

In addition to specifying the input point set, one must specify the number of control points. The specified number of control points must be greater than m_SplineOrder. If one wishes to use the multilevel component of this algorithm, one must also specify the number of levels in the hierarchy. If this is desired, the number of control points becomes the number of control points for the coarsest level. The algorithm then increases the number of control points at each level so that the B-spline n-D grid is refined to twice the previous level.

There are two parts to fitting scattered data: the parameterization assignment problem and the fitting problem given a parameterization. This filter only addresses the second problem in that the user must provide a parametric value for each scattered datum. Different parametric assignment schemes result in different B-spline object outputs.

This filter is general in that it accepts n-D scattered data in m-D parametric dimensions. Input to this filter is an m-D point set with a Vector data type of n dimensions. This means that the parametric values are stored in the points container of the point set whereas the scattered data are stored in the points data container of the point set.

Typical B-spline objects include curves, which have a parametric dimension of 1 and a data dimension of 2 or 3 (depending on the space in which the curve resides) and deformation fields which commonly have parametric and data dimensions of 2 or 3 (again depending on the space of the field). As an example, a curve through a set of 2D points has data dimension 2 and parametric dimension 1. The univariate curve could be represented as: <x(u),y(u)> Another example is a 3D deformation of 3D points, which has parametric dimension 3 and data dimension 3 and can be represented as: <dx(u,v,w), dy(u,v,w), dz(u,v,w)>. However, as mentioned before, the code is general such that, if the user wanted, she could model a time varying 3-D displacement field which resides in 4-D space as <dx(u, v, w, t), dy(u, v, w, t), dz(u, v, w, t)>.

The output is an image defining the sampled B-spline parametric domain where each pixel houses the sampled B-spline object value. For a curve fit to 3-D points, the output is a 1-D image where each voxel contains a vector with the approximated (x,y,z) location. The continuous, finite, rectilinear domain (as well as the sampling rate) is specified via the combination of the SetSpacing() and SetSize() functions. For a 2-D deformation on 2-D points, the output is a 2-D image where each voxel contains the approximated (dx, dy) vector.

The parameterization must be specified using SetPoint, where the actual coordinates of the point are set via SetPointData. For example, to compute a spline through the (ordered) 2D points (5,6) and (7,8), you should use:

using DataType = itk::Vector< float, 2 >;
param0[0] = 0.0;
DataType p0;
p0[0] = 10.0; p0[1]= 10.0;
pointSet->SetPoint(0, param0);
pointSet->SetPointData( 0, p0 );
param1[0] = 1.0;
DataType p1;
p1[0] = 80.0; p1[1]= 50.0;
pointSet->SetPoint(1, param1);
pointSet->SetPointData( 1, p1 );
Author
Nicholas J. Tustison

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 https://www.insight-journal.org/browse/publication/57

REFERENCE
S. Lee, G. Wolberg, and S. Y. Shin, "Scattered Data Interpolation with Multilevel B-Splines", IEEE Transactions on Visualization and Computer Graphics, 3(3):228-244, 1997.
REFERENCE
N.J. Tustison and J.C. Gee, "Generalized n-D C^k Scattered Data Approximation with Confidence Values", Proceedings of the MIAR conference, August 2006.
ITK Sphinx Examples:
Examples
SphinxExamples/src/Filtering/ImageGrid/FitSplineIntoPointSet/Code.cxx.

Definition at line 132 of file itkBSplineScatteredDataPointSetToImageFilter.h.

Member Typedef Documentation

◆ ArrayType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ArrayType = FixedArray<unsigned, Self::ImageDimension>

◆ ConstPointer

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ConstPointer = SmartPointer<const Self>

◆ ImageType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ImageType = TOutputImage

◆ IndexType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::IndexType = typename ImageType::IndexType

◆ KernelOrder0Type

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::KernelOrder0Type = BSplineKernelFunction<0>

◆ KernelOrder1Type

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::KernelOrder1Type = BSplineKernelFunction<1>

◆ KernelOrder2Type

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::KernelOrder2Type = BSplineKernelFunction<2>

◆ KernelOrder3Type

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::KernelOrder3Type = BSplineKernelFunction<3>

◆ KernelType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::KernelType = CoxDeBoorBSplineKernelFunction<3>

Interpolation kernel type (default spline order = 3).

Definition at line 182 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ OutputImageRegionType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::OutputImageRegionType = RegionType

◆ PixelType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PixelType = typename ImageType::PixelType

Image type alias support

Definition at line 157 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ PointDataContainerType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointDataContainerType = typename PointSetType::PointDataContainer

◆ PointDataImagePointer

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointDataImagePointer = typename PointDataImageType::Pointer

◆ PointDataImageType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointDataImageType = Image<PointDataType, Self::ImageDimension>

Image types.

Definition at line 174 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ PointDataType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointDataType = typename PointSetType::PixelType

◆ Pointer

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::Pointer = SmartPointer<Self>

◆ PointSetPointer

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointSetPointer = typename PointSetType::Pointer

◆ PointSetType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointSetType = TInputPointSet

◆ PointType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PointType = typename PointSetType::PointType

PointSet type alias support

Definition at line 164 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ RealArrayType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::RealArrayType = FixedArray<RealType, Self::ImageDimension>

◆ RealImagePointer

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::RealImagePointer = typename RealImageType::Pointer

◆ RealImageType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::RealImageType = Image<RealType, Self::ImageDimension>

◆ RealType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::RealType = float

Other type alias.

Definition at line 170 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ RegionType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::RegionType = typename ImageType::RegionType

◆ Self

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::Self = BSplineScatteredDataPointSetToImageFilter

Standard class type aliases.

Definition at line 139 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ SizeType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SizeType = typename ImageType::SizeType

◆ Superclass

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::Superclass = PointSetToImageFilter<TInputPointSet, TOutputImage>

◆ WeightsContainerType

template<typename TInputPointSet , typename TOutputImage >
using itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::WeightsContainerType = VectorContainer<unsigned, RealType>

Constructor & Destructor Documentation

◆ BSplineScatteredDataPointSetToImageFilter()

template<typename TInputPointSet , typename TOutputImage >
itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::BSplineScatteredDataPointSetToImageFilter ( )
protected

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ ~BSplineScatteredDataPointSetToImageFilter()

template<typename TInputPointSet , typename TOutputImage >
itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::~BSplineScatteredDataPointSetToImageFilter ( )
overrideprotecteddefault

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Member Function Documentation

◆ AfterThreadedGenerateData()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::AfterThreadedGenerateData ( )
overrideprotectedvirtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Reimplemented from itk::ImageSource< TOutputImage >.

◆ BeforeThreadedGenerateData()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::BeforeThreadedGenerateData ( )
overrideprotectedvirtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Reimplemented from itk::ImageSource< TOutputImage >.

◆ CollapsePhiLattice()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::CollapsePhiLattice ( PointDataImageType ,
PointDataImageType ,
const  RealType,
const unsigned int   
)
private

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

◆ CreateAnother()

template<typename TInputPointSet , typename TOutputImage >
virtual::itk::LightObject::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::CreateAnother ( ) 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::PointSetToImageFilter< TInputPointSet, TOutputImage >.

◆ DynamicThreadedGenerateData()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::DynamicThreadedGenerateData ( const RegionType )
inlineoverrideprotected

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 302 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ GenerateData()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GenerateData ( )
overrideprotectedvirtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Reimplemented from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >.

◆ GenerateOutputImage()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GenerateOutputImage ( )
private

This function is not used as it requires an evaluation of all (SplineOrder+1)^ImageDimensions B-spline weights for each evaluation.

◆ GenerateOutputImageOff()

template<typename TInputPointSet , typename TOutputImage >
virtual void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GenerateOutputImageOff ( )
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GenerateOutputImageOn()

template<typename TInputPointSet , typename TOutputImage >
virtual void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GenerateOutputImageOn ( )
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GetBSplineEpsilon()

template<typename TInputPointSet , typename TOutputImage >
virtual RealType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetBSplineEpsilon ( ) const
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GetCloseDimension()

template<typename TInputPointSet , typename TOutputImage >
virtual const ArrayType& itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetCloseDimension ( ) const
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GetCurrentNumberOfControlPoints()

template<typename TInputPointSet , typename TOutputImage >
virtual const ArrayType& itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetCurrentNumberOfControlPoints ( ) const
virtual

Get the number of current control points for each parametric dimension at the current fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GetGenerateOutputImage()

template<typename TInputPointSet , typename TOutputImage >
virtual const bool& itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetGenerateOutputImage ( ) const
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GetNameOfClass()

template<typename TInputPointSet , typename TOutputImage >
virtual const char* itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >.

◆ GetNumberOfControlPoints()

template<typename TInputPointSet , typename TOutputImage >
virtual const ArrayType& itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetNumberOfControlPoints ( ) const
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ GetNumberOfLevels()

template<typename TInputPointSet , typename TOutputImage >
virtual const ArrayType& itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetNumberOfLevels ( ) const
virtual

Get the number of fitting levels for all parametric dimensions. Starting with the mesh size implied by setting the number of control points, the mesh size is doubled at each fitting level. Default = 1 in all parametric dimensions.

◆ GetPhiLattice()

template<typename TInputPointSet , typename TOutputImage >
PointDataImagePointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetPhiLattice ( )
inline

Get the control point lattice produced by the fitting process.

Definition at line 286 of file itkBSplineScatteredDataPointSetToImageFilter.h.

References itk::ProcessObject::GetOutput().

◆ GetSplineOrder()

template<typename TInputPointSet , typename TOutputImage >
virtual const ArrayType& itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::GetSplineOrder ( ) const
virtual

Get the spline order for all parametric dimensions. The spline order determines the continuity between B-spline elements and the degree of polynomial used to construct the B-spline elements. Default = 3.

◆ New()

template<typename TInputPointSet , typename TOutputImage >
static Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::New ( )
static

Method for creation through the object factory.

◆ NumberToIndex()

template<typename TInputPointSet , typename TOutputImage >
IndexType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::NumberToIndex ( const unsigned int  ,
const  SizeType 
)
private

Convert number to index given a size of image. Used to index the local control point neighborhoods.

◆ PrintSelf()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Reimplemented from itk::PointSetToImageFilter< TInputPointSet, TOutputImage >.

◆ RefineControlPointLattice()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::RefineControlPointLattice ( )
private

Function used to propagate the fitting solution at one fitting level to the next level with the mesh resolution doubled.

◆ SetBSplineEpsilon()

template<typename TInputPointSet , typename TOutputImage >
virtual void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetBSplineEpsilon ( RealType  _arg)
virtual

Set/Get the epsilon used for B-splines. The B-spline parametric domain in 1-D is defined on the half-closed interval [a,b). Extension to n-D is defined similarly. This presents some difficulty for defining the the image domain to be co-extensive with the parametric domain. We use the B-spline epsilon to push the edge of the image boundary inside the B-spline parametric domain.

◆ SetCloseDimension()

template<typename TInputPointSet , typename TOutputImage >
virtual void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetCloseDimension ( ArrayType  _arg)
virtual

Set/Get the array to define the periodicity of the dimensions in the parametric space is to be. 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 periodicity 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.

◆ SetGenerateOutputImage()

template<typename TInputPointSet , typename TOutputImage >
virtual void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetGenerateOutputImage ( bool  _arg)
virtual

Set/Get whether or not the sampled output B-spline object is constructed. The result of the fitting process is an n-D grid of control points which describe the continuous B-spline object.

◆ SetNumberOfControlPoints()

template<typename TInputPointSet , typename TOutputImage >
virtual void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetNumberOfControlPoints ( ArrayType  _arg)
virtual

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ SetNumberOfLevels() [1/2]

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetNumberOfLevels ( const ArrayType )

Set the number of fitting levels in each parametric dimension separately. Starting with the mesh size implied by setting the number of control points, the mesh size is doubled at each fitting level. Default = 1 in all parametric dimensions.

◆ SetNumberOfLevels() [2/2]

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetNumberOfLevels ( unsigned int  )

Set the number of fitting levels assuming the number of fitting levels is the same for each parametric dimension. Starting with the mesh size implied by setting the number of control points, the mesh size is doubled at each fitting level. Default = 1 in all parametric dimensions.

◆ SetPhiLatticeParametricDomainParameters()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetPhiLatticeParametricDomainParameters ( )
private

Set the grid parametric domain parameters such as the origin, size, spacing, and direction.

◆ SetPointWeights()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetPointWeights ( WeightsContainerType weights)

A weighted fitting is possible where each input point is assigned a relative weighting.

◆ SetSplineOrder() [1/2]

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetSplineOrder ( const ArrayType )

Set the spline order for each parametric dimension separately. The spline order determines the continuity between B-spline elements and the degree of polynomial used to construct the B-spline elements. Default = 3.

◆ SetSplineOrder() [2/2]

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SetSplineOrder ( unsigned int  )

Set the spline order assuming it is the same in all parametric dimensions. The spline order determines the continuity between B-spline elements and the degree of polynomial used to construct the B-spline elements. Default = 3.

◆ SplitRequestedRegion()

template<typename TInputPointSet , typename TOutputImage >
unsigned int itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::SplitRequestedRegion ( unsigned int  ,
unsigned int  ,
RegionType  
)
overrideprotected

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ ThreadedGenerateData()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ThreadedGenerateData ( const RegionType ,
ThreadIdType   
)
overrideprotected

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

◆ ThreadedGenerateDataForFitting()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ThreadedGenerateDataForFitting ( const RegionType ,
ThreadIdType   
)
private

Function used to generate the sampled B-spline object quickly.

◆ ThreadedGenerateDataForReconstruction()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ThreadedGenerateDataForReconstruction ( const RegionType ,
ThreadIdType   
)
private

Function used to generate the sampled B-spline object quickly.

◆ UpdatePointSet()

template<typename TInputPointSet , typename TOutputImage >
void itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::UpdatePointSet ( )
private

Determine the residuals after fitting to one level.

Member Data Documentation

◆ ImageDimension

template<typename TInputPointSet , typename TOutputImage >
constexpr unsigned int itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::ImageDimension = TOutputImage::ImageDimension
staticconstexpr

Extract dimension from the output image.

Definition at line 151 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_BSplineEpsilon

template<typename TInputPointSet , typename TOutputImage >
RealType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_BSplineEpsilon { static_cast<RealType>(1e-3) }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 388 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_CloseDimension

template<typename TInputPointSet , typename TOutputImage >
ArrayType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_CloseDimension
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 364 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_CurrentLevel

template<typename TInputPointSet , typename TOutputImage >
unsigned int itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_CurrentLevel { 0 }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 361 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_CurrentNumberOfControlPoints

template<typename TInputPointSet , typename TOutputImage >
ArrayType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_CurrentNumberOfControlPoints
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 363 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_DeltaLatticePerThread

template<typename TInputPointSet , typename TOutputImage >
std::vector<PointDataImagePointer> itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_DeltaLatticePerThread
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 386 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_DoMultilevel

template<typename TInputPointSet , typename TOutputImage >
bool itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_DoMultilevel { false }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 357 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_GenerateOutputImage

template<typename TInputPointSet , typename TOutputImage >
bool itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_GenerateOutputImage { true }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 358 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_InputPointData

template<typename TInputPointSet , typename TOutputImage >
PointDataContainerType::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_InputPointData
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 375 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_IsFittingComplete

template<typename TInputPointSet , typename TOutputImage >
bool itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_IsFittingComplete { false }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 389 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_Kernel

template<typename TInputPointSet , typename TOutputImage >
KernelType::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_Kernel[ImageDimension]
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 378 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_KernelOrder0

template<typename TInputPointSet , typename TOutputImage >
KernelOrder0Type::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_KernelOrder0
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 380 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_KernelOrder1

template<typename TInputPointSet , typename TOutputImage >
KernelOrder1Type::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_KernelOrder1
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 381 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_KernelOrder2

template<typename TInputPointSet , typename TOutputImage >
KernelOrder2Type::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_KernelOrder2
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 382 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_KernelOrder3

template<typename TInputPointSet , typename TOutputImage >
KernelOrder3Type::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_KernelOrder3
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 383 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_MaximumNumberOfLevels

template<typename TInputPointSet , typename TOutputImage >
unsigned int itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_MaximumNumberOfLevels { 1 }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 360 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_NumberOfControlPoints

template<typename TInputPointSet , typename TOutputImage >
ArrayType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_NumberOfControlPoints
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 362 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_NumberOfLevels

template<typename TInputPointSet , typename TOutputImage >
ArrayType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_NumberOfLevels
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 366 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_OmegaLatticePerThread

template<typename TInputPointSet , typename TOutputImage >
std::vector<RealImagePointer> itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_OmegaLatticePerThread
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 385 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_OutputPointData

template<typename TInputPointSet , typename TOutputImage >
PointDataContainerType::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_OutputPointData
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 376 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_PhiLattice

template<typename TInputPointSet , typename TOutputImage >
PointDataImageType::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_PhiLattice
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 370 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_PointWeights

template<typename TInputPointSet , typename TOutputImage >
WeightsContainerType::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_PointWeights
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 368 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_PsiLattice

template<typename TInputPointSet , typename TOutputImage >
PointDataImageType::Pointer itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_PsiLattice
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 371 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_RefinedLatticeCoefficients

template<typename TInputPointSet , typename TOutputImage >
vnl_matrix<RealType> itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_RefinedLatticeCoefficients[ImageDimension]
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 373 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_SplineOrder

template<typename TInputPointSet , typename TOutputImage >
ArrayType itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_SplineOrder
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 365 of file itkBSplineScatteredDataPointSetToImageFilter.h.

◆ m_UsePointWeights

template<typename TInputPointSet , typename TOutputImage >
bool itk::BSplineScatteredDataPointSetToImageFilter< TInputPointSet, TOutputImage >::m_UsePointWeights { false }
private

Set/Get the number of control points for each parametric dimension at the initial fitting level. The B-spline mesh size is equal to the number of control points minus the spline order. Default = 4 in each dimension.

Definition at line 359 of file itkBSplineScatteredDataPointSetToImageFilter.h.


The documentation for this class was generated from the following file:
itk::GTest::TypedefsAndConstructors::Dimension2::PointType
ImageBaseType::PointType PointType
Definition: itkGTestTypedefsAndConstructors.h:51
itk::Vector
A templated class holding a n-Dimensional vector.
Definition: itkVector.h:62