ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkBSplineControlPointImageFilter.h>
Process a given a B-spline grid of control points.
This code was contributed in the Insight Journal paper: "N-D C^k B-Spline Scattered Data Approximation" by Nicholas J. Tustison, James C. Gee http://hdl.handle.net/1926/140 http://www.insight-journal.org/browse/publication/57
Definition at line 60 of file itkBSplineControlPointImageFilter.h.
typedef FixedArray<unsigned, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ArrayType |
Definition at line 98 of file itkBSplineControlPointImageFilter.h.
typedef SmartPointer<const Self> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 67 of file itkBSplineControlPointImageFilter.h.
typedef TInputImage itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ControlPointLatticeType |
Definition at line 76 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::DirectionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::DirectionType |
Definition at line 89 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::IndexType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::IndexType |
Definition at line 82 of file itkBSplineControlPointImageFilter.h.
typedef BSplineKernelFunction<0> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder0Type |
Definition at line 112 of file itkBSplineControlPointImageFilter.h.
typedef BSplineKernelFunction<1> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder1Type |
Definition at line 113 of file itkBSplineControlPointImageFilter.h.
typedef BSplineKernelFunction<2> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder2Type |
Definition at line 114 of file itkBSplineControlPointImageFilter.h.
typedef BSplineKernelFunction<3> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelOrder3Type |
Definition at line 115 of file itkBSplineControlPointImageFilter.h.
typedef CoxDeBoorBSplineKernelFunction<3> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::KernelType |
Interpolation kernel type (default spline order = 3)
Definition at line 111 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::PointType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::OriginType |
Definition at line 87 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::RegionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Superclass typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 84 of file itkBSplineControlPointImageFilter.h.
typedef TOutputImage itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 77 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::PixelType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PixelType |
Image typedef support.
Definition at line 80 of file itkBSplineControlPointImageFilter.h.
typedef PointSetType::PointDataContainer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataContainerType |
PointSet typedef support.
Definition at line 104 of file itkBSplineControlPointImageFilter.h.
typedef PointDataImageType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataImagePointer |
PointSet typedef support.
Definition at line 107 of file itkBSplineControlPointImageFilter.h.
typedef Image<PointDataType, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataImageType |
PointSet typedef support.
Definition at line 106 of file itkBSplineControlPointImageFilter.h.
typedef PointSetType::PixelType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointDataType |
PointSet typedef support.
Definition at line 103 of file itkBSplineControlPointImageFilter.h.
typedef SmartPointer<Self> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 66 of file itkBSplineControlPointImageFilter.h.
typedef PointSet<PixelType, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointSetType |
PointSet typedef support.
Definition at line 102 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::PointType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PointType |
Definition at line 83 of file itkBSplineControlPointImageFilter.h.
typedef RealImageType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RealImagePointer |
Definition at line 95 of file itkBSplineControlPointImageFilter.h.
typedef Image<RealType, itkGetStaticConstMacro( ImageDimension )> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RealImageType |
Definition at line 94 of file itkBSplineControlPointImageFilter.h.
typedef float itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RealType |
Other typedef
Definition at line 92 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::RegionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RegionType |
Definition at line 81 of file itkBSplineControlPointImageFilter.h.
typedef BSplineControlPointImageFilter itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 64 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::SizeType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SizeType |
Definition at line 88 of file itkBSplineControlPointImageFilter.h.
typedef OutputImageType::SpacingType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SpacingType |
Definition at line 86 of file itkBSplineControlPointImageFilter.h.
typedef ImageToImageFilter<TInputImage, TOutputImage> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 65 of file itkBSplineControlPointImageFilter.h.
itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::BSplineControlPointImageFilter | ( | ) | [protected] |
virtual itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::~BSplineControlPointImageFilter | ( | ) | [protected, virtual] |
itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::BSplineControlPointImageFilter | ( | const Self & | ) | [private] |
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData | ( | ) | [private, virtual] |
Before splitting, we need to allocate memory for the output sampled B-spline object based on the multi-threading functionality
Reimplemented from itk::ImageSource< TOutputImage >.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::CollapsePhiLattice | ( | PointDataImageType * | , |
PointDataImageType * | , | ||
const RealType | , | ||
const unsigned | int | ||
) | [private] |
Sub-function used by GenerateOutputImageFast() to generate the sampled B-spline object quickly.
virtual::itk::LightObject::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
virtual const ArrayType& itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetCloseDimension | ( | ) | [virtual] |
Get the boolean array indicating which dimensions are closed.
virtual DirectionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetDirection | ( | ) | const [virtual] |
Get the sampled B-spline object direction.
virtual OriginType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetOrigin | ( | ) | const [virtual] |
Get the parametric origin of the B-spline object domain.
virtual SizeType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetSize | ( | ) | const [virtual] |
Get the parametric size of the B-spline object domain.
virtual SpacingType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetSpacing | ( | ) | const [virtual] |
Get the parametric spacing of the B-spline object domain.
virtual const ArrayType& itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::GetSplineOrder | ( | ) | [virtual] |
Get the spline order array of the B-spline object. Default = 3.
static Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
RealImageType::IndexType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::NumberToIndex | ( | unsigned int | number, |
typename RealImageType::SizeType | size | ||
) | [inline, private] |
Definition at line 283 of file itkBSplineControlPointImageFilter.h.
References itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ImageDimension.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::operator= | ( | const Self & | ) | [private] |
PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
ControlPointLatticeType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::RefineControlPointLattice | ( | ArrayType | ) |
Generate a refined control point lattice from the input control point lattice such that the resolution is doubled for each level. This is further described in the references. Note that if one sets the number of refinement levels to all 1's, the control point lattice is not increased in resolution. Doubling the resolution starts at 2 refinement levels.
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetCloseDimension | ( | ArrayType | _arg | ) | [virtual] |
Set the boolean array indicating the periodicity of the B-spline object. This array of 0/1 values defines whether a particular dimension of the parametric space is to be considered periodic or not. For example, if you are using interpolating along a 1D closed curve, the array type will have size 1, and you should set the first element of this array to the value "1". In the case that you were interpolating in a planar surface with cylindrical topology, the array type will have two components, and you should set to "1" the component that goes around the cylinder, and set to "0" the component that goes from the top of the cylinder to the bottom. This will indicate the periodity of that parameter to the filter. Internally, in order to make periodic the domain of the parameter, the filter will reuse some of the points at the beginning of the domain as if they were also located at the end of the domain. The number of points to be reused will depend on the spline order. As a user, you don't need to replicate the points, the filter will do this for you.
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetDirection | ( | DirectionType | _arg | ) | [virtual] |
Set the sampled object direction. Note that this is not used in any of the calculations in this class. The only reason why it is included is due to the fact that we use the image class to represent the B-spline parametric domain (due to the maturity of the image class and the wealth of helper functions associated with it). This is where the incongruence between the B-spline parametric domain and the concept of an image is most obvious. An ITK image is a representation of a physical object thus it also exists in physical space which includes orientation. However, it can be argued that the parametric domain, per se, does not exist in physical space and it is only a parametric mapping which allows us to go from the parametric space to the physical space. Therefore, the direction is not used.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetNumberOfLevels | ( | ArrayType | ) | [private] |
Private function to handle the internal ivars.
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetOrigin | ( | OriginType | _arg | ) | [virtual] |
Set the parametric origin of the B-spline object domain.
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSize | ( | SizeType | _arg | ) | [virtual] |
Set the parametric size of the B-spline object domain.
virtual void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSpacing | ( | SpacingType | _arg | ) | [virtual] |
Set the parametric spacing of the B-spline object domain.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSplineOrder | ( | unsigned | int | ) |
Set the spline order of the B-spline object for all parametric dimensions. Default = 3.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SetSplineOrder | ( | ArrayType | ) |
Set the spline order array where each element of the array corresponds to a single parametric dimension of the B-spline object. Default = 3.
unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::SplitRequestedRegion | ( | unsigned | int, |
unsigned | int, | ||
OutputImageRegionType & | |||
) | [private, virtual] |
Based on the way CollapsePhiLattice() is written, we want to split on the the last dimension.
Reimplemented from itk::ImageSource< TOutputImage >.
void itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData | ( | const OutputImageRegionType & | , |
ThreadIdType | |||
) | [protected, virtual] |
Multi-threaded function which generates the output sampled B-spline object.
Reimplemented from itk::ImageSource< TOutputImage >.
const unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension [static] |
Extract dimension from input image.
Definition at line 74 of file itkBSplineControlPointImageFilter.h.
Referenced by itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::NumberToIndex().
RealType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_BSplineEpsilon [private] |
Definition at line 280 of file itkBSplineControlPointImageFilter.h.
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_CloseDimension [private] |
Definition at line 268 of file itkBSplineControlPointImageFilter.h.
unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_CurrentLevel [private] |
Definition at line 266 of file itkBSplineControlPointImageFilter.h.
DirectionType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Direction [private] |
Definition at line 261 of file itkBSplineControlPointImageFilter.h.
bool itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_DoMultilevel [private] |
Definition at line 263 of file itkBSplineControlPointImageFilter.h.
bool itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_GenerateOutputImage [private] |
Definition at line 264 of file itkBSplineControlPointImageFilter.h.
KernelType::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Kernel[ImageDimension] [private] |
Definition at line 274 of file itkBSplineControlPointImageFilter.h.
KernelOrder0Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder0 [private] |
Definition at line 275 of file itkBSplineControlPointImageFilter.h.
KernelOrder1Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder1 [private] |
Definition at line 276 of file itkBSplineControlPointImageFilter.h.
KernelOrder2Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder2 [private] |
Definition at line 277 of file itkBSplineControlPointImageFilter.h.
KernelOrder3Type::Pointer itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_KernelOrder3 [private] |
Definition at line 278 of file itkBSplineControlPointImageFilter.h.
unsigned int itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_MaximumNumberOfLevels [private] |
Definition at line 265 of file itkBSplineControlPointImageFilter.h.
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_NumberOfControlPoints [private] |
Definition at line 267 of file itkBSplineControlPointImageFilter.h.
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_NumberOfLevels [private] |
Definition at line 270 of file itkBSplineControlPointImageFilter.h.
OriginType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Origin [private] |
Definition at line 260 of file itkBSplineControlPointImageFilter.h.
vnl_matrix<RealType> itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_RefinedLatticeCoefficients[ImageDimension] [private] |
Definition at line 272 of file itkBSplineControlPointImageFilter.h.
SizeType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Size [private] |
Parameters for the output image.
Definition at line 258 of file itkBSplineControlPointImageFilter.h.
SpacingType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_Spacing [private] |
Definition at line 259 of file itkBSplineControlPointImageFilter.h.
ArrayType itk::BSplineControlPointImageFilter< TInputImage, TOutputImage >::m_SplineOrder [private] |
Definition at line 269 of file itkBSplineControlPointImageFilter.h.