18 #ifndef itkBSplineScatteredDataPointSetToImageFilter_h
19 #define itkBSplineScatteredDataPointSetToImageFilter_h
27 #include "vnl/vnl_matrix.h"
128 template<
typename TInputPo
intSet,
typename TOutputImage >
147 itkStaticConstMacro( ImageDimension,
unsigned int,
148 TOutputImage::ImageDimension );
194 void SetSplineOrder(
unsigned int );
199 void SetSplineOrder(
const ArrayType & );
204 itkGetConstReferenceMacro( SplineOrder,
ArrayType );
210 itkSetMacro( NumberOfControlPoints,
ArrayType );
211 itkGetConstReferenceMacro( NumberOfControlPoints,
ArrayType );
218 itkGetConstReferenceMacro( CurrentNumberOfControlPoints,
ArrayType );
224 void SetNumberOfLevels(
unsigned int );
230 void SetNumberOfLevels(
const ArrayType & );
236 itkGetConstReferenceMacro( NumberOfLevels,
ArrayType );
244 itkSetMacro( BSplineEpsilon,
RealType );
245 itkGetConstMacro( BSplineEpsilon,
RealType );
264 itkSetMacro( CloseDimension,
ArrayType );
265 itkGetConstReferenceMacro( CloseDimension,
ArrayType );
275 itkSetMacro( GenerateOutputImage,
bool );
276 itkGetConstReferenceMacro( GenerateOutputImage,
bool );
277 itkBooleanMacro( GenerateOutputImage );
290 void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
292 void ThreadedGenerateData( const RegionType &,
ThreadIdType ) ITK_OVERRIDE;
294 void BeforeThreadedGenerateData() ITK_OVERRIDE;
296 void AfterThreadedGenerateData() ITK_OVERRIDE;
298 unsigned int SplitRequestedRegion(
unsigned int,
unsigned int, RegionType & ) ITK_OVERRIDE;
300 void GenerateData() ITK_OVERRIDE;
308 void RefineControlPointLattice();
311 void UpdatePointSet();
315 void GenerateOutputImage();
318 void ThreadedGenerateDataForFitting( const RegionType &,
ThreadIdType );
321 void ThreadedGenerateDataForReconstruction( const RegionType &, ThreadIdType );
325 void CollapsePhiLattice( PointDataImageType *, PointDataImageType *,
326 const RealType, const
unsigned int );
330 void SetPhiLatticeParametricDomainParameters();
337 bool m_GenerateOutputImage;
338 bool m_UsePointWeights;
339 unsigned int m_MaximumNumberOfLevels;
340 unsigned int m_CurrentLevel;
349 typename PointDataImageType::
Pointer m_PhiLattice;
350 typename PointDataImageType::
Pointer m_PsiLattice;
352 vnl_matrix<RealType> m_RefinedLatticeCoefficients[ImageDimension];
367 RealType m_BSplineEpsilon;
368 bool m_IsFittingComplete;
372 #ifndef ITK_MANUAL_INSTANTIATION
373 #include "itkBSplineScatteredDataPointSetToImageFilter.hxx"
BSplineKernelFunction< 3 > KernelOrder3Type
Image< RealType, itkGetStaticConstMacro(ImageDimension)> RealImageType
BSplineKernelFunction< 1 > KernelOrder1Type
TInputPointSet PointSetType
PointSetType::PixelType PointDataType
CoxDeBoorBSplineKernelFunction< 3 > KernelType
PointDataImagePointer GetPhiLattice()
PointDataImageType::Pointer PointDataImagePointer
Base class for all process objects that output image data.
SmartPointer< Self > Pointer
ImageType::SizeType SizeType
BSplineKernelFunction< 0 > KernelOrder0Type
Simulate a standard C array with copy semnatics.
VectorContainer< unsigned, RealType > WeightsContainerType
BSpline kernel used for density estimation and nonparameteric regression.
ImageType::PixelType PixelType
PointSetType::Pointer PointSetPointer
FixedArray< RealType, itkGetStaticConstMacro(ImageDimension)> RealArrayType
ImageType::RegionType RegionType
BSplineKernelFunction< 2 > KernelOrder2Type
Image< PointDataType, itkGetStaticConstMacro(ImageDimension)> PointDataImageType
BSpline kernel used for density estimation and nonparameteric regression.
ImageType::IndexType IndexType
ImageBaseType::PointType PointType
SmartPointer< const Self > ConstPointer
RealImageType::Pointer RealImagePointer
FixedArray< unsigned, itkGetStaticConstMacro(ImageDimension)> ArrayType
PointSetType::PointType PointType
Image filter which provides a B-spline output approximation.
unsigned int ThreadIdType
Base class for filters that take a PointSet as input and produce an image as output. By default, if the user does not specify the size of the output image, the maximum size of the point-set's bounding box is used.
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Control indentation during Print() invocation.
ImageBaseType::SizeType SizeType
BSplineScatteredDataPointSetToImageFilter Self
PointSetToImageFilter< TInputPointSet, TOutputImage > Superclass
PointSetType::PointDataContainer PointDataContainerType
Templated n-dimensional image class.
ImageBaseType::IndexType IndexType
DataObject * GetOutput(const DataObjectIdentifierType &key)