|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkBSplineInterpolationWeightFunctionBase.h>
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Computes/evaluate the B-spline interpolation weights over the support region of the B-spline.
This class is templated over the coordinate representation type, the space dimension and the spline order.
Definition at line 50 of file itkBSplineInterpolationWeightFunctionBase.h.
Inheritance diagram for itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >:Public Types | |
| using | ConstPointer = SmartPointer< const Self > |
| using | ContinuousIndexType = ContinuousIndex< TCoordRep, VSpaceDimension > |
| using | IndexType = Index< VSpaceDimension > |
| using | Pointer = SmartPointer< Self > |
| using | Self = BSplineInterpolationWeightFunctionBase |
| using | SizeType = Size< VSpaceDimension > |
| using | Superclass = FunctionBase< ContinuousIndex< TCoordRep, VSpaceDimension >, FixedArray< double, Math::UnsignedPower(VSplineOrder+1, VSpaceDimension)> > |
| using | WeightsType = FixedArray< double, NumberOfWeights > |
Public Member Functions | |
| void | ComputeStartIndex (const ContinuousIndexType &index, IndexType &startIndex) const |
| virtual void | Evaluate (const ContinuousIndexType &cindex, const IndexType &startIndex, WeightsType &weights) const |
| WeightsType | Evaluate (const ContinuousIndexType &index) const override |
| virtual const char * | GetClassName () const |
| ITK_DISALLOW_COPY_AND_MOVE (BSplineInterpolationWeightFunctionBase) | |
| itkStaticConstMacro (SpaceDimension, unsigned int, VSpaceDimension) | |
| itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder) | |
Static Public Attributes | |
| static constexpr unsigned long | NumberOfWeights = Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension) |
| static constexpr SizeType | SupportSize { SizeType::Filled(VSplineOrder + 1) } |
Protected Types | |
| using | DerivativeKernelPointer = typename DerivativeKernelType::Pointer |
| using | DerivativeKernelType = BSplineDerivativeKernelFunction< VSplineOrder > |
| using | KernelPointer = typename KernelType::Pointer |
| using | KernelType = BSplineKernelFunction2< VSplineOrder > |
| using | OneDWeightsType = Matrix< double, Self::SpaceDimension, VSplineOrder+1 > |
| using | SecondOrderDerivativeKernelPointer = typename SecondOrderDerivativeKernelType::Pointer |
| using | SecondOrderDerivativeKernelType = BSplineSecondOrderDerivativeKernelFunction2< VSplineOrder > |
| using | WeightArrayType = typename KernelType::WeightArrayType |
Protected Member Functions | |
| BSplineInterpolationWeightFunctionBase () | |
| virtual void | Compute1DWeights (const ContinuousIndexType &index, const IndexType &startIndex, OneDWeightsType &weights1D) const =0 |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| ~BSplineInterpolationWeightFunctionBase () override=default | |
Protected Attributes | |
| vnl_matrix< unsigned long > | m_OffsetToIndexTable {} |
Private Member Functions | |
| void | InitializeOffsetToIndexTable () |
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ConstPointer = SmartPointer<const Self> |
Definition at line 62 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ContinuousIndexType = ContinuousIndex<TCoordRep, VSpaceDimension> |
ContinuousIndex typedef support.
Definition at line 84 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 115 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 114 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::IndexType = Index<VSpaceDimension> |
Index and size typedef support.
Definition at line 80 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 113 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Interpolation kernel types.
Definition at line 112 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Typedef for intermediary 1D weights. The Matrix is at least twice as fast as std::vector< vnl_vector< double > >, probably because of the fixed size at compile time.
Definition at line 124 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::Pointer = SmartPointer<Self> |
Definition at line 61 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 117 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 116 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::Self = BSplineInterpolationWeightFunctionBase |
Standard class typedefs.
Definition at line 58 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::SizeType = Size<VSpaceDimension> |
Definition at line 81 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::Superclass = FunctionBase<ContinuousIndex<TCoordRep, VSpaceDimension>, FixedArray<double, Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension)> > |
Definition at line 59 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 118 of file itkBSplineInterpolationWeightFunctionBase.h.
| using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::WeightsType = FixedArray<double, NumberOfWeights> |
OutputType typedef support.
Definition at line 77 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
|
overrideprotecteddefault |
|
protectedpure virtual |
Compute the 1D weights.
Implemented in itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, itk::BSplineInterpolationSecondOrderDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, and itk::BSplineInterpolationWeightFunction2< TCoordRep, VSpaceDimension, VSplineOrder >.
| void itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ComputeStartIndex | ( | const ContinuousIndexType & | index, |
| IndexType & | startIndex | ||
| ) | const |
Compute the start index of the support region.
|
virtual |
Evaluate the weights at specified ContinousIndex position. The weights are returned in the user specified container. This function assume that the weights has a correct size. For efficiency, no size checking is done. On return, startIndex contains the start index of the support region over which the weights are defined.
|
override |
Evaluate the weights at specified ContinousIndex position.
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, itk::BSplineInterpolationSecondOrderDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, and itk::BSplineInterpolationWeightFunction2< TCoordRep, VSpaceDimension, VSplineOrder >.
|
private |
Function to initialize the offset table. The offset table is a convenience table, just to keep track where is what.
| itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ITK_DISALLOW_COPY_AND_MOVE | ( | BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > | ) |
| itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro | ( | SpaceDimension | , |
| unsigned int | , | ||
| VSpaceDimension | |||
| ) |
Space dimension.
| itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro | ( | SplineOrder | , |
| unsigned int | , | ||
| VSplineOrder | |||
| ) |
Spline order.
|
overrideprotected |
Print the member variables.
|
protected |
Member variables.
Definition at line 137 of file itkBSplineInterpolationWeightFunctionBase.h.
|
staticconstexpr |
The number of weights as a static const.
Definition at line 74 of file itkBSplineInterpolationWeightFunctionBase.h.
|
staticconstexpr |
The support region size: a hypercube of length SplineOrder + 1
Definition at line 105 of file itkBSplineInterpolationWeightFunctionBase.h.
Generated on 1739326392 for elastix by 1.9.8 |