ANIMA  4.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <animaRecursiveLineYvvGaussianImageFilter.h>

+ Inheritance diagram for anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TInputImage::ConstPointer InputImageConstPointer
 
typedef TInputImage::Pointer InputImagePointer
 
typedef TInputImage InputImageType
 
typedef TInputImage::PixelType InputPixelType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::NumericTraits< InputPixelType >::RealType RealType
 
typedef itk::NumericTraits< InputPixelType >::ScalarRealType ScalarRealType
 
typedef RecursiveLineYvvGaussianImageFilter Self
 
typedef itk::InPlaceImageFilter< TInputImage, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual unsigned int GetDirection () const
 
const TInputImage * GetInputImage (void)
 
virtual const char * GetNameOfClass () const
 
virtual bool GetNormalizeAcrossScale () const
 
virtual ScalarRealType GetSigma () const
 
virtual void SetDirection (unsigned int _arg)
 
void SetInputImage (const TInputImage *)
 
virtual void SetNormalizeAcrossScale (bool _arg)
 
virtual void SetSigma (ScalarRealType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void BeforeThreadedGenerateData () ITK_OVERRIDE
 
template<class T >
void ComputeAntiCausalBase (const T &data, T *outs, T &V0, T &V1, T &V2, unsigned int ln)
 
template<class T >
void ComputeAntiCausalBase (const itk::VariableLengthVector< T > &data, itk::VariableLengthVector< T > *outs, itk::VariableLengthVector< T > &V0, itk::VariableLengthVector< T > &V1, itk::VariableLengthVector< T > &V2, unsigned int ln)
 
template<class T >
void ComputeAntiCausalPart (T &out, T &data, T &V0, T &V1, T &V2)
 
template<class T >
void ComputeAntiCausalPart (itk::VariableLengthVector< T > &out, itk::VariableLengthVector< T > &data, itk::VariableLengthVector< T > &V0, itk::VariableLengthVector< T > &V1, itk::VariableLengthVector< T > &V2)
 
template<class T >
void ComputeCausalBase (const T &data, T &V0, T &V1, T &V2)
 
template<class T >
void ComputeCausalBase (const itk::VariableLengthVector< T > &data, itk::VariableLengthVector< T > &V0, itk::VariableLengthVector< T > &V1, itk::VariableLengthVector< T > &V2)
 
template<class T >
void ComputeCausalPart (T &out, const T &data, T &V0, T &V1, T &V2)
 
template<class T >
void ComputeCausalPart (itk::VariableLengthVector< T > &out, const itk::VariableLengthVector< T > &data, itk::VariableLengthVector< T > &V0, itk::VariableLengthVector< T > &V1, itk::VariableLengthVector< T > &V2)
 
void DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) ITK_OVERRIDE
 
void EnlargeOutputRequestedRegion (itk::DataObject *output) ITK_OVERRIDE
 
void FilterDataArray (RealType *outs, const RealType *data, unsigned int ln, RealType &sV0, RealType &sV1, RealType &sV2)
 
void GenerateData () ITK_OVERRIDE
 
void PrintSelf (std::ostream &os, itk::Indent indent) const ITK_OVERRIDE
 
 RecursiveLineYvvGaussianImageFilter ()
 
virtual void SetUp (ScalarRealType spacing)
 
virtual ~RecursiveLineYvvGaussianImageFilter ()
 

Protected Attributes

ScalarRealType m_B
 
ScalarRealType m_B1
 
ScalarRealType m_B2
 
ScalarRealType m_B3
 
vnl_matrix< ScalarRealTypem_MMatrix
 

Detailed Description

template<typename TInputImage, typename TOutputImage = TInputImage>
class anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >

Definition at line 11 of file animaRecursiveLineYvvGaussianImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef itk::SmartPointer<const Self> anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ConstPointer

Definition at line 19 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ InputImageConstPointer

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage::ConstPointer anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::InputImageConstPointer

Definition at line 29 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ InputImagePointer

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage::Pointer anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::InputImagePointer

Smart pointer typedef support.

Definition at line 28 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ InputImageType

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::InputImageType

Type of the input image

Definition at line 43 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ InputPixelType

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TInputImage::PixelType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::InputPixelType

Real type to be used in internal computations. RealType in general is templated over the pixel type. (For example for vector or tensor pixels, RealType is a vector or a tensor of doubles.) ScalarRealType is a type meant for scalars.

Definition at line 36 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ OutputImageRegionType

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TOutputImage::RegionType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Definition at line 40 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ OutputImageType

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef TOutputImage anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::OutputImageType

Type of the output image

Definition at line 46 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ Pointer

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef itk::SmartPointer<Self> anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::Pointer

Definition at line 18 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ RealType

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef itk::NumericTraits<InputPixelType>::RealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::RealType

Definition at line 37 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ ScalarRealType

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef itk::NumericTraits<InputPixelType>::ScalarRealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ScalarRealType

Definition at line 38 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ Self

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef RecursiveLineYvvGaussianImageFilter anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

Definition at line 16 of file animaRecursiveLineYvvGaussianImageFilter.h.

◆ Superclass

template<typename TInputImage , typename TOutputImage = TInputImage>
typedef itk::InPlaceImageFilter<TInputImage,TOutputImage> anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::Superclass

Definition at line 17 of file animaRecursiveLineYvvGaussianImageFilter.h.

Constructor & Destructor Documentation

◆ RecursiveLineYvvGaussianImageFilter()

template<typename TInputImage , typename TOutputImage >
anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::RecursiveLineYvvGaussianImageFilter ( )
protected

◆ ~RecursiveLineYvvGaussianImageFilter()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveLineYvvGaussianImageFilter ( )
inlineprotectedvirtual

Member Function Documentation

◆ BeforeThreadedGenerateData()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( )
protected

◆ ComputeAntiCausalBase() [1/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeAntiCausalBase ( const T &  data,
T *  outs,
T &  V0,
T &  V1,
T &  V2,
unsigned int  ln 
)
inlineprotected

◆ ComputeAntiCausalBase() [2/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeAntiCausalBase ( const itk::VariableLengthVector< T > &  data,
itk::VariableLengthVector< T > *  outs,
itk::VariableLengthVector< T > &  V0,
itk::VariableLengthVector< T > &  V1,
itk::VariableLengthVector< T > &  V2,
unsigned int  ln 
)
inlineprotected

◆ ComputeAntiCausalPart() [1/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeAntiCausalPart ( T &  out,
T &  data,
T &  V0,
T &  V1,
T &  V2 
)
inlineprotected

◆ ComputeAntiCausalPart() [2/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeAntiCausalPart ( itk::VariableLengthVector< T > &  out,
itk::VariableLengthVector< T > &  data,
itk::VariableLengthVector< T > &  V0,
itk::VariableLengthVector< T > &  V1,
itk::VariableLengthVector< T > &  V2 
)
inlineprotected

◆ ComputeCausalBase() [1/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeCausalBase ( const T &  data,
T &  V0,
T &  V1,
T &  V2 
)
inlineprotected

◆ ComputeCausalBase() [2/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeCausalBase ( const itk::VariableLengthVector< T > &  data,
itk::VariableLengthVector< T > &  V0,
itk::VariableLengthVector< T > &  V1,
itk::VariableLengthVector< T > &  V2 
)
inlineprotected

◆ ComputeCausalPart() [1/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeCausalPart ( T &  out,
const T &  data,
T &  V0,
T &  V1,
T &  V2 
)
inlineprotected

◆ ComputeCausalPart() [2/2]

template<typename TInputImage , typename TOutputImage = TInputImage>
template<class T >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::ComputeCausalPart ( itk::VariableLengthVector< T > &  out,
const itk::VariableLengthVector< T > &  data,
itk::VariableLengthVector< T > &  V0,
itk::VariableLengthVector< T > &  V1,
itk::VariableLengthVector< T > &  V2 
)
inlineprotected

◆ CreateAnother()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::CreateAnother ( void  ) const

◆ DynamicThreadedGenerateData()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::DynamicThreadedGenerateData ( const OutputImageRegionType outputRegionForThread)
protected

◆ EnlargeOutputRequestedRegion()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( itk::DataObject *  output)
protected

RecursiveLineYvvGaussianImageFilter needs all of the input only in the "Direction" dimension. Therefore we enlarge the output's RequestedRegion to this. Then the superclass's GenerateInputRequestedRegion method will copy the output region to the input.

See also
ImageToImageFilter::GenerateInputRequestedRegion()

Definition at line 146 of file animaRecursiveLineYvvGaussianImageFilter.hxx.

References anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData().

Referenced by anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::FilterDataArray(), and anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveLineYvvGaussianImageFilter().

◆ FilterDataArray()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::FilterDataArray ( RealType outs,
const RealType data,
unsigned int  ln,
RealType sV0,
RealType sV1,
RealType sV2 
)
protected

Apply the Recursive Filter to an array of data. This method is called for each line of the volume. Parameter "scratch" is a scratch area used for internal computations that is the same size as the parameters "outs" and "data". The scratch area must be allocated outside of this routine (this avoids memory allocation and deallocation in the inner loop of the overall algorithm.

Apply Recursive Filter

Causal direction pass

Recursively filter the rest

AntiCausal direction pass

Recursively filter the rest

Definition at line 110 of file animaRecursiveLineYvvGaussianImageFilter.hxx.

References anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion().

Referenced by anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::SetUp(), and anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveLineYvvGaussianImageFilter().

◆ GenerateData()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GenerateData ( )
protected

◆ GetDirection()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual unsigned int anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GetDirection ( ) const
virtual

Get the direction in which the filter is to be applied.

◆ GetInputImage()

template<typename TInputImage , typename TOutputImage >
const TInputImage * anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GetInputImage ( void  )

◆ GetNameOfClass()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual const char* anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

Type macro that defines a name for this class.

◆ GetNormalizeAcrossScale()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual bool anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GetNormalizeAcrossScale ( ) const
virtual

◆ GetSigma()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual ScalarRealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GetSigma ( ) const
virtual

Set/Get the Sigma, measured in world coordinates, of the Gaussian kernel. The default is 1.0.

◆ New()

template<typename TInputImage , typename TOutputImage = TInputImage>
static Pointer anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
protected

◆ SetDirection()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::SetDirection ( unsigned int  _arg)
virtual

Set the direction in which the filter is to be applied.

◆ SetInputImage()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::SetInputImage ( const TInputImage *  input)

◆ SetNormalizeAcrossScale()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::SetNormalizeAcrossScale ( bool  _arg)
virtual

Set/Get the flag for normalizing the gaussian over scale space. When this flag is ON the filter will be normalized in such a way that larger sigmas will not result in the image fading away.

\[ \frac{ 1 }{ \sqrt{ 2 \pi } }; \]

When the flag is OFF the normalization will conserve contant the integral of the image intensity.

\[ \frac{ 1 }{ \sigma \sqrt{ 2 \pi } }; \]

For analyzing an image across Scale Space you want to enable this flag. It is disabled by default.

◆ SetSigma()

template<typename TInputImage , typename TOutputImage = TInputImage>
virtual void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::SetSigma ( ScalarRealType  _arg)
virtual

◆ SetUp()

template<typename TInputImage , typename TOutputImage >
void anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::SetUp ( ScalarRealType  spacing)
protectedvirtual

Set up the coefficients of the filter to approximate a specific kernel. Typically it can be used to approximate a Gaussian or one of its derivatives. Parameter is the spacing along the dimension to filter.

Compute filter for Gaussian kernel.

Definition at line 55 of file animaRecursiveLineYvvGaussianImageFilter.hxx.

References anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::FilterDataArray().

Referenced by anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::GetInputImage(), and anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::~RecursiveLineYvvGaussianImageFilter().

Member Data Documentation

◆ m_B

template<typename TInputImage , typename TOutputImage = TInputImage>
ScalarRealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::m_B
protected

◆ m_B1

template<typename TInputImage , typename TOutputImage = TInputImage>
ScalarRealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::m_B1
protected

◆ m_B2

template<typename TInputImage , typename TOutputImage = TInputImage>
ScalarRealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::m_B2
protected

◆ m_B3

template<typename TInputImage , typename TOutputImage = TInputImage>
ScalarRealType anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::m_B3
protected

◆ m_MMatrix

template<typename TInputImage , typename TOutputImage = TInputImage>
vnl_matrix<ScalarRealType> anima::RecursiveLineYvvGaussianImageFilter< TInputImage, TOutputImage >::m_MMatrix
protected

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