Orfeo ToolBox  4.2
Orfeo ToolBox is not a black box
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType > Class Template Reference

This class is an evolution of the itk::BSplineInterpolateImageFunction to handle huge images with this interpolator. For more documentation, please refer to the original class. More...

#include <otbBSplineInterpolateImageFunction.h>

+ Inheritance diagram for otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >:
+ Collaboration diagram for otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >:

Public Types

typedef TCoefficientType CoefficientDataType
 
typedef
otb::BSplineDecompositionImageFilter
< TImageType,
CoefficientImageType
CoefficientFilter
 
typedef CoefficientFilter::Pointer CoefficientFilterPointer
 
typedef itk::Image
< CoefficientDataType,
itkGetStaticConstMacro(ImageDimension) > 
CoefficientImageType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
Superclass::ContinuousIndexType 
ContinuousIndexType
 
typedef itk::CovariantVector
< OutputType,
itkGetStaticConstMacro(ImageDimension) > 
CovariantVectorType
 
typedef Superclass::IndexType IndexType
 
typedef Superclass::InputImageType InputImageType
 
typedef
itk::ImageLinearIteratorWithIndex
< TImageType > 
Iterator
 
typedef Superclass::OutputType OutputType
 
typedef itk::SmartPointer< SelfPointer
 
typedef Superclass::PointType PointType
 
typedef InputImageType::RegionType RegionType
 
typedef
BSplineInterpolateImageFunction 
Self
 
typedef
itk::InterpolateImageFunction
< TImageType, TCoordRep > 
Superclass
 
- Public Types inherited from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef ContinuousIndex
< TCoordRep,
itkGetStaticConstMacro(ImageDimension) > 
ContinuousIndexType
 
typedef TCoordRep CoordRepType
 
typedef InputImageType::IndexType IndexType
 
typedef
InputImageType::IndexValueType 
IndexValueType
 
typedef
InputImageType::ConstPointer 
InputImageConstPointer
 
typedef TImageType InputImageType
 
typedef InputImageType::PixelType InputPixelType
 
typedef Point< TCoordRep,
TImageType::ImageDimension > 
InputType
 
typedef NumericTraits
< TImageType::PixelType >
::RealType 
OutputType
 
typedef NumericTraits
< TImageType::PixelType >
::RealType 
OutputType
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< SelfPointer
 
typedef Point< TCoordRep,
itkGetStaticConstMacro(ImageDimension) > 
PointType
 
typedef FunctionBase Self
 
typedef ImageFunction Self
 
typedef Object Superclass
 
typedef FunctionBase< Point
< TCoordRep,
itkGetStaticConstMacro(ImageDimension) >
, NumericTraits
< TImageType::PixelType >
::RealType > 
Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual OutputType EvaluateAtContinuousIndex (const ContinuousIndexType &index) const
 
CovariantVectorType EvaluateDerivative (const PointType &point) const
 
CovariantVectorType EvaluateDerivativeAtContinuousIndex (const ContinuousIndexType &x) const
 
virtual const char * GetNameOfClass () const
 
virtual int GetSplineOrder ()
 
virtual void SetInputImage (const TImageType *inputData)
 
void SetSplineOrder (unsigned int SplineOrder)
 
virtual void UpdateCoefficientsFilter (void)
 
- Public Member Functions inherited from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >
void ConvertContinuousIndexToNearestIndex (const ContinuousIndexType &cindex, IndexType &index) const
 
void ConvertPointToContinuousIndex (const PointType &point, ContinuousIndexType &cindex) const
 
void ConvertPointToNearestIndex (const PointType &point, IndexType &index) const
 
virtual NumericTraits
< TImageType::PixelType >
::RealType 
Evaluate (const PointType &point) const =0
 
virtual OutputType Evaluate (const InputType &input) const =0
 
virtual NumericTraits
< TImageType::PixelType >
::RealType 
EvaluateAtIndex (const IndexType &index) const =0
 
virtual const ContinuousIndexTypeGetEndContinuousIndex () const
 
virtual const IndexTypeGetEndIndex () const
 
const InputImageTypeGetInputImage () const
 
virtual const ContinuousIndexTypeGetStartContinuousIndex () const
 
virtual const IndexTypeGetStartIndex () const
 
virtual bool IsInsideBuffer (const IndexType &index) const
 
virtual bool IsInsideBuffer (const PointType &point) const
 
virtual bool IsInsideBuffer (const ContinuousIndexType &index) const
 
- Public Member Functions inherited from itk::FunctionBase< Point< TCoordRep, TImageType::ImageDimension >, NumericTraits< TImageType::PixelType >::RealType >
virtual OutputType Evaluate (const InputType &input) const =0
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >
static const unsigned int ImageDimension
 

Protected Member Functions

 BSplineInterpolateImageFunction ()
 
virtual ~BSplineInterpolateImageFunction ()
 
void operator= (const Self &)
 
void PrintSelf (std::ostream &os, itk::Indent indent) const
 
- Protected Member Functions inherited from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >
 ImageFunction ()
 
 ~FunctionBase ()
 
 ~ImageFunction ()
 
 FunctionBase ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 

Protected Attributes

CoefficientImageType::ConstPointer m_Coefficients
 
TImageType::SizeType m_DataLength
 
std::vector< CoefficientDataTypem_Scratch
 
unsigned int m_SplineOrder
 
- Protected Attributes inherited from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >
ContinuousIndexType m_EndContinuousIndex
 
IndexType m_EndIndex
 
InputImageConstPointer m_Image
 
ContinuousIndexType m_StartContinuousIndex
 
IndexType m_StartIndex
 

Private Member Functions

 BSplineInterpolateImageFunction (const Self &)
 
void ApplyMirrorBoundaryConditions (vnl_matrix< long > &evaluateIndex, unsigned int splineOrder) const
 
void DetermineRegionOfSupport (vnl_matrix< long > &evaluateIndex, const ContinuousIndexType &x, unsigned int splineOrder) const
 
void GeneratePointsToIndex ()
 
void SetDerivativeWeights (const ContinuousIndexType &x, const vnl_matrix< long > &EvaluateIndex, vnl_matrix< double > &weights, unsigned int splineOrder) const
 
void SetInterpolationWeights (const ContinuousIndexType &x, const vnl_matrix< long > &EvaluateIndex, vnl_matrix< double > &weights, unsigned int splineOrder) const
 

Private Attributes

Iterator m_CIterator
 
CoefficientFilterPointer m_CoefficientFilter
 
RegionType m_CurrentBufferedRegion
 
unsigned long m_MaxNumberInterpolationPoints
 
std::vector< IndexTypem_PointsToIndex
 

Detailed Description

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
class otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >

This class is an evolution of the itk::BSplineInterpolateImageFunction to handle huge images with this interpolator. For more documentation, please refer to the original class.

See Also
itk::BSplineInterpolateImageFunction
itk::BSplineDecompositionImageFilter
otb::BSplineDecompositionImageFilter

Definition at line 47 of file otbBSplineInterpolateImageFunction.h.

Member Typedef Documentation

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef TCoefficientType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientDataType

Internal Coefficient typedef support

Definition at line 88 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef otb::BSplineDecompositionImageFilter<TImageType, CoefficientImageType> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientFilter

Define filter for calculating the BSpline coefficients

Definition at line 95 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef CoefficientFilter::Pointer otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientFilterPointer

Definition at line 96 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::Image<CoefficientDataType, itkGetStaticConstMacro(ImageDimension) > otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientImageType

Definition at line 91 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::SmartPointer<const Self> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ConstPointer

Definition at line 55 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::ContinuousIndexType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ContinuousIndexType

ContinuousIndex typedef support.

Definition at line 79 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::CovariantVector<OutputType, itkGetStaticConstMacro(ImageDimension) > otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CovariantVectorType

Derivative typedef support

Definition at line 112 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::IndexType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::IndexType

Index typedef support.

Definition at line 73 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::InputImageType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::InputImageType

InputImageType typedef support.

Definition at line 67 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::ImageLinearIteratorWithIndex<TImageType> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Iterator

Iterator typedef support

Definition at line 85 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::OutputType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::OutputType

OutputType typedef support.

Definition at line 61 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::SmartPointer<Self> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Pointer

Definition at line 54 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::PointType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::PointType

PointType typedef support

Definition at line 82 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef InputImageType::RegionType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::RegionType

Region typedef support

Definition at line 76 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef BSplineInterpolateImageFunction otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Self

Standard class typedefs.

Definition at line 52 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::InterpolateImageFunction<TImageType, TCoordRep> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Superclass

Definition at line 53 of file otbBSplineInterpolateImageFunction.h.

Constructor & Destructor Documentation

template<class TImageType , class TCoordRep , class TCoefficientType >
otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::BSplineInterpolateImageFunction ( )
protected

Constructor

Definition at line 37 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::~BSplineInterpolateImageFunction ( )
inlineprotectedvirtual

Definition at line 138 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::BSplineInterpolateImageFunction ( const Self )
private

Member Function Documentation

template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ApplyMirrorBoundaryConditions ( vnl_matrix< long > &  evaluateIndex,
unsigned int  splineOrder 
) const
private

Set the indicies in evaluateIndex at the boundaries based on mirror boundary conditions.

Definition at line 530 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual::itk::LightObject::Pointer otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CreateAnother ( void  ) const
template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::DetermineRegionOfSupport ( vnl_matrix< long > &  evaluateIndex,
const ContinuousIndexType x,
unsigned int  splineOrder 
) const
private

Determines the indicies to use give the splines region of support

Definition at line 492 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType , class TCoordRep , class TCoefficientType >
BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::OutputType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateAtContinuousIndex ( const ContinuousIndexType index) const
virtual

Evaluate the function at a ContinuousIndex position.

Returns the B-Spline interpolated image intensity at a specified point position. No bounds checking is done. The point is assume to lie within the image buffer.

ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method.

Implements itk::InterpolateImageFunction< TImageType, TCoordRep >.

Definition at line 128 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
CovariantVectorType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateDerivative ( const PointType point) const
inline

Definition at line 114 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType , class TCoordRep , class TCoefficientType >
BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CovariantVectorType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateDerivativeAtContinuousIndex ( const ContinuousIndexType x) const

Definition at line 199 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GeneratePointsToIndex ( )
private

Precomputation for converting the 1D index of the interpolation neighborhood to an N-dimensional index.

Definition at line 467 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual const char* otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual int otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetSplineOrder ( )
virtual
template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
static Pointer otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::New ( )
static

New macro for creation of through a Smart Pointer

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::operator= ( const Self )
protected
template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protected

Standard "PrintSelf" method

Definition at line 53 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetDerivativeWeights ( const ContinuousIndexType x,
const vnl_matrix< long > &  EvaluateIndex,
vnl_matrix< double > &  weights,
unsigned int  splineOrder 
) const
private

Determines the weights for the derivative portion of the value x

Definition at line 353 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType, class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetInputImage ( const TImageType *  inputData)
virtual

Set the input image. This must be set by the user.

Reimplemented from itk::ImageFunction< TImageType, NumericTraits< TImageType::PixelType >::RealType, TCoordRep >.

Definition at line 77 of file otbBSplineInterpolateImageFunction.txx.

References NULL.

template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetInterpolationWeights ( const ContinuousIndexType x,
const vnl_matrix< long > &  EvaluateIndex,
vnl_matrix< double > &  weights,
unsigned int  splineOrder 
) const
private

Determines the weights for interpolation of the value x

Definition at line 255 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetSplineOrder ( unsigned int  SplineOrder)

Get/Sets the Spline Order, supports 0th - 5th order splines. The default is a 3rd order spline.

Definition at line 105 of file otbBSplineInterpolateImageFunction.txx.

template<class TImageType , class TCoordRep , class TCoefficientType >
void otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::UpdateCoefficientsFilter ( void  )
virtual

Update coefficients filter. Coefficient filter are computed over the buffered region of the input image.

Definition at line 65 of file otbBSplineInterpolateImageFunction.txx.

Member Data Documentation

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
const unsigned int otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ImageDimension = Superclass::ImageDimension
static

Dimension underlying input image.

Definition at line 70 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
Iterator otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_CIterator
private

Definition at line 177 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
CoefficientFilterPointer otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_CoefficientFilter
private

Definition at line 181 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
CoefficientImageType::ConstPointer otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_Coefficients
protected

Definition at line 147 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
RegionType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_CurrentBufferedRegion
private

Definition at line 183 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
TImageType::SizeType otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_DataLength
protected

Definition at line 144 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
unsigned long otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_MaxNumberInterpolationPoints
private

Definition at line 178 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
std::vector<IndexType> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_PointsToIndex
private

Definition at line 179 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
std::vector<CoefficientDataType> otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_Scratch
protected

Definition at line 143 of file otbBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
unsigned int otb::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_SplineOrder
protected

Definition at line 145 of file otbBSplineInterpolateImageFunction.h.


The documentation for this class was generated from the following files: