18 #ifndef itkDisplacementFieldToBSplineImageFilter_h
19 #define itkDisplacementFieldToBSplineImageFilter_h
41 template <
typename TInputImage,
42 typename TInputPointSet = PointSet<typename TInputImage::PixelType, TInputImage::ImageDimension>,
43 typename TOutputImage = TInputImage>
57 itkStaticConstMacro( ImageDimension,
unsigned int, TInputImage::ImageDimension );
68 typedef typename OutputFieldType::PixelType
PixelType;
78 typedef typename VectorType::RealValueType
RealType;
97 this->SetInput( 0, field );
103 return this->GetInput( 0 );
113 this->SetNthInput( 1, const_cast<RealImageType *>( image ) );
127 this->SetNthInput( 2, const_cast<InputPointSetType *>( points ) );
139 void SetPointSetConfidenceWeights( WeightsContainerType *weights );
148 void SetBSplineDomainFromImage( RealImageType * );
152 { this->SetBSplineDomainFromImage( const_cast<RealImageType *>( image ) ); }
155 void SetBSplineDomainFromImage( InputFieldType * );
159 { this->SetBSplineDomainFromImage( const_cast<InputFieldType *>( field ) ); }
165 itkGetConstMacro( BSplineDomainOrigin, OriginType );
168 itkGetConstMacro( BSplineDomainSpacing, SpacingType );
171 itkGetConstMacro( BSplineDomainSize,
SizeType );
177 itkSetMacro( UseInputFieldToDefineTheBSplineDomain,
bool );
178 itkGetConstMacro( UseInputFieldToDefineTheBSplineDomain,
bool )
179 itkBooleanMacro( UseInputFieldToDefineTheBSplineDomain );
184 itkSetMacro( SplineOrder,
unsigned int );
189 itkGetConstMacro( SplineOrder,
unsigned int );
198 itkSetMacro( NumberOfControlPoints, ArrayType );
207 itkGetConstMacro( NumberOfControlPoints, ArrayType );
215 itkSetMacro( NumberOfFittingLevels, ArrayType );
223 void SetNumberOfFittingLevels(
unsigned int n )
228 this->SetNumberOfFittingLevels( nlevels );
237 itkGetConstMacro( NumberOfFittingLevels, ArrayType );
242 itkBooleanMacro( EstimateInverse );
243 itkSetMacro( EstimateInverse,
bool );
244 itkGetConstMacro( EstimateInverse,
bool );
250 itkBooleanMacro( EnforceStationaryBoundary );
251 itkSetMacro( EnforceStationaryBoundary,
bool );
252 itkGetConstMacro( EnforceStationaryBoundary,
bool );
264 void PrintSelf( std::ostream& os,
Indent indent ) const ITK_OVERRIDE;
267 void GenerateData() ITK_OVERRIDE;
272 bool m_EstimateInverse;
273 bool m_EnforceStationaryBoundary;
274 unsigned int m_SplineOrder;
279 bool m_UsePointWeights;
286 bool m_BSplineDomainIsDefined;
287 bool m_UseInputFieldToDefineTheBSplineDomain;
292 #ifndef ITK_MANUAL_INSTANTIATION
293 #include "itkDisplacementFieldToBSplineImageFilter.hxx"
SmartPointer< const Self > ConstPointer
const InputPointSetType * GetPointSet() const
OutputFieldType InverseDisplacementFieldType
InputPointSetType::PixelType PointDataType
BSplineFilterType::ArrayType ArrayType
SmartPointer< Self > Pointer
OutputFieldType::PixelType PixelType
void SetConfidenceImage(const RealImageType *image)
OutputFieldType::PointType OriginType
OutputFieldType::SizeType SizeType
const DisplacementFieldControlPointLatticeType * GetDisplacementFieldControlPointLattice() const
BSplineFilterType::WeightsContainerType WeightsContainerType
Base class for all process objects that output image data.
OutputFieldType::SpacingType SpacingType
void Fill(const ValueType &)
OutputFieldType::PixelType VectorType
void SetDisplacementField(const InputFieldType *field)
BSplineScatteredDataPointSetToImageFilter< InputPointSetType, OutputFieldType > BSplineFilterType
const RealImageType * GetConfidenceImage() const
ImageBaseType::DirectionType DirectionType
BSplineFilterType::PointDataImageType DisplacementFieldControlPointLatticeType
InputPointSetType::PointsContainer PointsContainerType
InputPointSetType::PointDataContainer PointDataContainerType
InputPointSetType::PointType PointType
TInputImage InputFieldType
ImageBaseType::PointType PointType
TOutputImage OutputFieldType
InputFieldType DisplacementFieldType
void SetBSplineDomainFromImage(const InputFieldType *field)
DisplacementFieldToBSplineImageFilter Self
OutputFieldType::IndexType IndexType
Image filter which provides a B-spline output approximation.
OutputFieldType::DirectionType DirectionType
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
void SetBSplineDomainFromImage(const RealImageType *image)
void SetInput2(const InputPointSetType *points)
Base class for filters that take an image as input and produce an image as output.
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
void SetInput1(const RealImageType *image)
InputFieldType::PointType InputFieldPointType
Control indentation during Print() invocation.
ImageBaseType::SizeType SizeType
Class which takes a dense displacement field image and/or a set of points with associated displacemen...
VectorType::RealValueType RealType
const InputFieldType * GetDisplacementField() const
TInputPointSet InputPointSetType
OutputFieldType::RegionType RegionType
Templated n-dimensional image class.
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Image< RealType, ImageDimension > RealImageType
void SetPointSet(const InputPointSetType *points)
ImageBaseType::IndexType IndexType