18 #ifndef itkBSplineControlPointImageFilter_h
19 #define itkBSplineControlPointImageFilter_h
30 #include "vnl/vnl_matrix.h"
31 #include "vnl/vnl_vector.h"
59 template <
typename TInputImage,
typename TOutputImage = TInputImage>
76 itkStaticConstMacro( ImageDimension,
unsigned int,
77 TInputImage::ImageDimension );
83 typedef typename OutputImageType::PixelType
PixelType;
126 void SetSplineOrder(
unsigned int );
137 itkGetConstReferenceMacro( SplineOrder,
ArrayType );
155 itkSetMacro( CloseDimension,
ArrayType );
156 itkGetConstReferenceMacro( CloseDimension,
ArrayType );
208 typename ControlPointLatticeType::Pointer
214 void PrintSelf( std::ostream& os,
Indent indent ) const ITK_OVERRIDE;
229 void BeforeThreadedGenerateData() ITK_OVERRIDE;
235 virtual
unsigned int SplitRequestedRegion(
unsigned int,
unsigned int, OutputImageRegionType & ) ITK_OVERRIDE;
242 const
RealType, const
unsigned int );
256 unsigned int m_MaximumNumberOfLevels;
257 ArrayType m_NumberOfControlPoints;
258 ArrayType m_CloseDimension;
259 ArrayType m_SplineOrder;
260 ArrayType m_NumberOfLevels;
262 vnl_matrix<RealType> m_RefinedLatticeCoefficients[ImageDimension];
270 RealType m_BSplineEpsilon;
278 for (
unsigned int i = 1; i < ImageDimension; i++ )
280 k[i] = size[ImageDimension-i-1]*k[i-1];
283 for (
unsigned int i = 0; i < ImageDimension; i++ )
285 index[ImageDimension-i-1]
286 =
static_cast<unsigned int>( number/k[ImageDimension-i-1] );
287 number %= k[ImageDimension-i-1];
296 #ifndef ITK_MANUAL_INSTANTIATION
297 #include "itkBSplineControlPointImageFilter.hxx"
Image< PointDataType, itkGetStaticConstMacro(ImageDimension)> PointDataImageType
CoxDeBoorBSplineKernelFunction< 3 > KernelType
Process a given a B-spline grid of control points.
BSplineKernelFunction< 2 > KernelOrder2Type
OutputImageType::SpacingType SpacingType
OutputImageType::PixelType PixelType
TInputImage ControlPointLatticeType
Represent the size (bounds) of a n-dimensional image.
SmartPointer< const Self > ConstPointer
PointSetType::PointDataContainer PointDataContainerType
PointSetType::PixelType PointDataType
Image< RealType, itkGetStaticConstMacro(ImageDimension)> RealImageType
FixedArray< RealType, itkGetStaticConstMacro(ImageDimension)> RealArrayType
OutputImageType::DirectionType DirectionType
Base class for all process objects that output image data.
OutputImageType::SizeType SizeType
BSplineControlPointImageFilter Self
MeshTraits::PixelType PixelType
Simulate a standard C array with copy semnatics.
BSpline kernel used for density estimation and nonparameteric regression.
ImageBaseType::DirectionType DirectionType
BSplineKernelFunction< 1 > KernelOrder1Type
PointDataImageType::Pointer PointDataImagePointer
SmartPointer< Self > Pointer
ImageToImageFilter< TInputImage, TOutputImage > Superclass
BSpline kernel used for density estimation and nonparameteric regression.
ImageBaseType::PointType PointType
FixedArray< unsigned, itkGetStaticConstMacro(ImageDimension)> ArrayType
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
TOutputImage OutputImageType
OutputImageType::PointType OriginType
unsigned int ThreadIdType
OutputImageType::PointType PointType
RealImageType::Pointer RealImagePointer
Base class for filters that take an image as input and produce an image as output.
BSplineKernelFunction< 0 > KernelOrder0Type
OutputImageType::RegionType OutputImageRegionType
Control indentation during Print() invocation.
OutputImageType::IndexType IndexType
ImageBaseType::SizeType SizeType
MeshTraits::PointDataContainer PointDataContainer
PointSet< PixelType, itkGetStaticConstMacro(ImageDimension)> PointSetType
Templated n-dimensional image class.
BSplineKernelFunction< 3 > KernelOrder3Type
ImageBaseType::IndexType IndexType
OutputImageType::RegionType OutputImageRegionType
OutputImageType::RegionType RegionType