18 #ifndef itkBSplineScatteredDataPointSetToImageFilter_h
19 #define itkBSplineScatteredDataPointSetToImageFilter_h
27 #include "vnl/vnl_matrix.h"
131 template <
typename TInputPo
intSet,
typename TOutputImage>
151 static constexpr
unsigned int ImageDimension = TOutputImage::ImageDimension;
194 SetSplineOrder(
unsigned int);
205 itkGetConstReferenceMacro(SplineOrder,
ArrayType);
211 itkSetMacro(NumberOfControlPoints,
ArrayType);
212 itkGetConstReferenceMacro(NumberOfControlPoints,
ArrayType);
219 itkGetConstReferenceMacro(CurrentNumberOfControlPoints,
ArrayType);
226 SetNumberOfLevels(
unsigned int);
239 itkGetConstReferenceMacro(NumberOfLevels,
ArrayType);
247 itkSetMacro(BSplineEpsilon,
RealType);
248 itkGetConstMacro(BSplineEpsilon,
RealType);
268 itkGetConstReferenceMacro(CloseDimension,
ArrayType);
279 itkSetMacro(GenerateOutputImage,
bool);
280 itkGetConstReferenceMacro(GenerateOutputImage,
bool);
281 itkBooleanMacro(GenerateOutputImage);
296 PrintSelf(std::ostream & os,
Indent indent)
const override;
304 itkExceptionMacro(
"This class requires threadId so it must use classic multi-threading model");
308 BeforeThreadedGenerateData()
override;
311 AfterThreadedGenerateData()
override;
314 SplitRequestedRegion(
unsigned int,
unsigned int,
RegionType &)
override;
317 GenerateData()
override;
323 RefineControlPointLattice();
332 GenerateOutputImage();
345 CollapsePhiLattice(PointDataImageType *, PointDataImageType *,
const RealType,
const unsigned int);
350 SetPhiLatticeParametricDomainParameters();
355 NumberToIndex(
const unsigned int,
const SizeType);
357 bool m_DoMultilevel{
false };
358 bool m_GenerateOutputImage{
true };
359 bool m_UsePointWeights{
false };
360 unsigned int m_MaximumNumberOfLevels{ 1 };
361 unsigned int m_CurrentLevel{ 0 };
373 vnl_matrix<RealType> m_RefinedLatticeCoefficients[ImageDimension];
388 RealType m_BSplineEpsilon{ static_cast<RealType>(1
e-3) };
389 bool m_IsFittingComplete{
false };
393 #ifndef ITK_MANUAL_INSTANTIATION
394 # include "itkBSplineScatteredDataPointSetToImageFilter.hxx"