18#ifndef itkBSplineScatteredDataPointSetToImageFilter_h
19#define itkBSplineScatteredDataPointSetToImageFilter_h
27#include "vnl/vnl_matrix.h"
131template <
typename TInputPo
intSet,
typename TOutputImage>
151 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
213 itkGetConstReferenceMacro(NumberOfControlPoints,
ArrayType);
220 itkGetConstReferenceMacro(CurrentNumberOfControlPoints,
ArrayType);
280 itkSetMacro(GenerateOutputImage,
bool);
281 itkGetConstReferenceMacro(GenerateOutputImage,
bool);
282 itkBooleanMacro(GenerateOutputImage);
305 itkExceptionMacro(
"This class requires threadId so it must use classic multi-threading model");
358 bool m_DoMultilevel{
false };
359 bool m_GenerateOutputImage{
true };
360 bool m_UsePointWeights{
false };
361 unsigned int m_MaximumNumberOfLevels{ 1 };
362 unsigned int m_CurrentLevel{ 0 };
374 vnl_matrix<RealType> m_RefinedLatticeCoefficients[ImageDimension]{};
385 std::vector<RealImagePointer> m_OmegaLatticePerThread{};
386 std::vector<PointDataImagePointer> m_DeltaLatticePerThread{};
389 bool m_IsFittingComplete{
false };
390 bool m_DoUpdateResidualValues{
false };
394#ifndef ITK_MANUAL_INSTANTIATION
395# include "itkBSplineScatteredDataPointSetToImageFilter.hxx"
BSpline kernel used for density estimation and nonparametric regression.
Image filter which provides a B-spline output approximation.
void ThreadedGenerateDataForReconstruction(const RegionType &, ThreadIdType)
typename ImageType::RegionType RegionType
PointDataImagePointer GetPhiLattice()
typename PointSetType::Pointer PointSetPointer
void SetPhiLatticeParametricDomainParameters()
void PrintSelf(std::ostream &os, Indent indent) const override
void BeforeThreadedGenerateData() override
void GenerateOutputImage()
void DynamicThreadedGenerateData(const RegionType &) override
void SetNumberOfLevels(const ArrayType &)
void SetSplineOrder(const ArrayType &)
typename ImageType::PixelType PixelType
IndexType NumberToIndex(const unsigned int, const SizeType)
void AfterThreadedGenerateData() override
typename PointSetType::PixelType PointDataType
typename PointDataImageType::Pointer PointDataImagePointer
void SetPointWeights(WeightsContainerType *weights)
typename ImageType::IndexType IndexType
typename PointDataContainerType::Pointer PointDataContainerPointer
TInputPointSet PointSetType
BSplineScatteredDataPointSetToImageFilter()
unsigned int SplitRequestedRegion(unsigned int, unsigned int, RegionType &) override
void ThreadedGenerateDataForUpdatingResidualValues(const RegionType &, ThreadIdType)
void CollapsePhiLattice(PointDataImageType *, PointDataImageType *, const RealType, const unsigned int)
typename PointSetType::PointDataContainer PointDataContainerType
void GenerateData() override
~BSplineScatteredDataPointSetToImageFilter() override=default
void RefineControlPointLattice()
void SetNumberOfLevels(unsigned int)
void SetSplineOrder(unsigned int)
typename RealImageType::Pointer RealImagePointer
void ThreadedGenerateDataForFitting(const RegionType &, ThreadIdType)
void ThreadedGenerateData(const RegionType &, ThreadIdType) override
BSpline kernel used for density estimation and nonparametric regression.
Base class for all process objects that output image data.
typename OutputImageType::RegionType OutputImageRegionType
Templated n-dimensional image class.
Control indentation during Print() invocation.
Base class for filters that take a PointSet as input and produce an image as output....
typename TOutputImage::SizeType SizeType
typename TOutputImage::PointType PointType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
DataObject * GetOutput(const DataObjectIdentifierType &key)
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
static constexpr double e
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType