18 #ifndef itkBSplineScatteredDataPointSetToImageFilter_h
19 #define itkBSplineScatteredDataPointSetToImageFilter_h
27 #include "vnl/vnl_matrix.h"
128 template<
typename TInputPo
intSet,
typename TOutputImage >
146 itkStaticConstMacro( ImageDimension,
unsigned int,
147 TOutputImage::ImageDimension );
198 void SetSplineOrder(
unsigned int );
205 void SetSplineOrder(
const ArrayType & );
212 itkGetConstReferenceMacro( SplineOrder,
ArrayType );
219 itkSetMacro( NumberOfControlPoints,
ArrayType );
226 itkGetConstReferenceMacro( NumberOfControlPoints,
ArrayType );
233 itkGetConstReferenceMacro( CurrentNumberOfControlPoints,
ArrayType );
241 void SetNumberOfLevels(
unsigned int );
249 void SetNumberOfLevels(
const ArrayType & );
259 itkSetMacro( BSplineEpsilon,
RealType );
260 itkGetConstMacro( BSplineEpsilon,
RealType );
269 itkGetConstReferenceMacro( NumberOfLevels,
ArrayType );
287 itkSetMacro( CloseDimension,
ArrayType );
305 itkGetConstReferenceMacro( CloseDimension,
ArrayType );
318 itkSetMacro( GenerateOutputImage,
bool );
325 itkGetConstReferenceMacro( GenerateOutputImage,
bool );
332 itkBooleanMacro( GenerateOutputImage );
346 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
348 void ThreadedGenerateData(
const RegionType &,
ThreadIdType ) ITK_OVERRIDE;
350 void BeforeThreadedGenerateData() ITK_OVERRIDE;
352 void AfterThreadedGenerateData() ITK_OVERRIDE;
354 unsigned int SplitRequestedRegion(
unsigned int,
unsigned int, RegionType & ) ITK_OVERRIDE;
356 void GenerateData() ITK_OVERRIDE;
366 void RefineControlPointLattice();
371 void UpdatePointSet();
377 void GenerateOutputImage();
382 void ThreadedGenerateDataForFitting( const RegionType &,
ThreadIdType );
387 void ThreadedGenerateDataForReconstruction( const RegionType &, ThreadIdType );
393 void CollapsePhiLattice( PointDataImageType *, PointDataImageType *,
394 const RealType, const
unsigned int );
400 void SetPhiLatticeParametricDomainParameters();
406 IndexType NumberToIndex( const
unsigned int, const SizeType );
409 bool m_GenerateOutputImage;
410 bool m_UsePointWeights;
411 unsigned int m_MaximumNumberOfLevels;
412 unsigned int m_CurrentLevel;
421 typename PointDataImageType::
Pointer m_PhiLattice;
422 typename PointDataImageType::
Pointer m_PsiLattice;
424 vnl_matrix<RealType> m_RefinedLatticeCoefficients[ImageDimension];
439 RealType m_BSplineEpsilon;
440 bool m_IsFittingComplete;
444 #ifndef ITK_MANUAL_INSTANTIATION
445 #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
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.
BSplineScatteredDataPointSetToImageFilter Self
PointSetToImageFilter< TInputPointSet, TOutputImage > Superclass
PointSetType::PointDataContainer PointDataContainerType
Templated n-dimensional image class.
DataObject * GetOutput(const DataObjectIdentifierType &key)