ITK  4.0.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage > Class Template Reference

A filter to enhance M-dimensional objects in N-dimensional images. More...

#include <itkHessianToObjectnessMeasureImageFilter.h>

Inheritance diagram for itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >:
Collaboration diagram for itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >:

List of all members.

Classes

class  AbsLessEqualCompare
 Returns ( abs(a) <= abs(b) ) More...

Public Types

typedef SmartPointer< const SelfConstPointer
typedef itk::FixedArray
< EigenValueType,
itkGetStaticConstMacro(ImageDimension) > 
EigenValueArrayType
typedef double EigenValueType
typedef Superclass::InputImageType InputImageType
typedef InputImageType::PixelType InputPixelType
typedef OutputImageType::RegionType OutputImageRegionType
typedef Superclass::OutputImageType OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef SmartPointer< SelfPointer
typedef
HessianToObjectnessMeasureImageFilter 
Self
typedef ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
 typedef (Concept::Convertible< double, OutputPixelType >) DoubleConvertibleToOutputCheck
virtual void SetAlpha (double _arg)
virtual double GetAlpha () const
virtual void SetBeta (double _arg)
virtual double GetBeta () const
virtual void SetGamma (double _arg)
virtual double GetGamma () const
virtual void SetScaleObjectnessMeasure (bool _arg)
virtual bool GetScaleObjectnessMeasure () const
virtual void ScaleObjectnessMeasureOn ()
virtual void ScaleObjectnessMeasureOff ()
virtual void SetObjectDimension (unsigned int _arg)
virtual unsigned int GetObjectDimension () const
virtual void SetBrightObject (bool _arg)
virtual bool GetBrightObject () const
virtual void BrightObjectOn ()
virtual void BrightObjectOff ()

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = ::itk::GetImageDimension< InputImageType >::ImageDimension

Protected Member Functions

void BeforeThreadedGenerateData (void)
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
 HessianToObjectnessMeasureImageFilter ()
 ~HessianToObjectnessMeasureImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const

Private Member Functions

 HessianToObjectnessMeasureImageFilter (const Self &)
void operator= (const Self &)

Private Attributes

double m_Alpha
double m_Beta
bool m_BrightObject
double m_Gamma
unsigned int m_ObjectDimension
bool m_ScaleObjectnessMeasure

Detailed Description

template<typename TInputImage, typename TOutputImage>
class itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >

A filter to enhance M-dimensional objects in N-dimensional images.

The objectness measure is a generalization of Frangi's vesselness measure, which is based on the analysis of the the Hessian eigen system. The filter can enhance blob-like structures (M=0), vessel-like structures (M=1), 2D plate-like structures (M=2), hyper-plate-like structures (M=3) in N-dimensional images, with M<N. The filter takes an image of a Hessian pixels ( SymmetricSecondRankTensor pixels pixels ) and produces an enhanced image. The Hessian input image can be produced using itk::HessianRecursiveGaussianImageFilter.

References
Frangi, AF, Niessen, WJ, Vincken, KL, & Viergever, MA (1998). Multiscale Vessel Enhancement Filtering. In Wells, WM, Colchester, A, & Delp, S, Editors, MICCAI '98 Medical Image Computing and Computer-Assisted Intervention, Lecture Notes in Computer Science, pages 130-137, Springer Verlag, 1998.

Additional information can be from in the Insight Journal: http://hdl.handle.net/1926/576

Author:
Luca Antiga Ph.D. Medical Imaging Unit, Bioengineering Deparment, Mario Negri Institute, Italy.
See also:
MultiScaleHessianBasedMeasureImageFilter
Hessian3DToVesselnessMeasureImageFilter
HessianSmoothedRecursiveGaussianImageFilter
SymmetricEigenAnalysisImageFilter
SymmetricSecondRankTensor

Definition at line 62 of file itkHessianToObjectnessMeasureImageFilter.h.


Member Typedef Documentation

template<typename TInputImage , typename TOutputImage >
typedef SmartPointer< const Self > itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::ConstPointer
template<typename TInputImage , typename TOutputImage >
typedef itk::FixedArray< EigenValueType, itkGetStaticConstMacro(ImageDimension) > itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::EigenValueArrayType

Definition at line 84 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::EigenValueType

Definition at line 83 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef Superclass::InputImageType itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::InputImageType

Some convenient typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 74 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef InputImageType::PixelType itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::InputPixelType

Definition at line 76 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef OutputImageType::RegionType itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 78 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef Superclass::OutputImageType itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::OutputImageType

Some convenient typedefs.

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 75 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef OutputImageType::PixelType itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::OutputPixelType

Definition at line 77 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef SmartPointer< Self > itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::Pointer
template<typename TInputImage , typename TOutputImage >
typedef HessianToObjectnessMeasureImageFilter itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 67 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<typename TInputImage , typename TOutputImage >
itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::HessianToObjectnessMeasureImageFilter ( ) [protected]

End concept checking

template<typename TInputImage , typename TOutputImage >
itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::~HessianToObjectnessMeasureImageFilter ( ) [inline, protected]

End concept checking

Definition at line 141 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::HessianToObjectnessMeasureImageFilter ( const Self ) [private]

Member Function Documentation

template<typename TInputImage , typename TOutputImage >
void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( void  ) [protected, virtual]

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented from itk::ImageSource< TOutputImage >.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::BrightObjectOff ( ) [virtual]

Enhance bright structures on a dark background if true, the opposite if false.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::BrightObjectOn ( ) [virtual]

Enhance bright structures on a dark background if true, the opposite if false.

template<typename TInputImage , typename TOutputImage >
virtual::itk::LightObject::Pointer itk::HessianToObjectnessMeasureImageFilter< 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.

template<typename TInputImage , typename TOutputImage >
virtual double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetAlpha ( ) const [virtual]

Set/Get Alpha, the weight corresponding to R_A (the ratio of the smallest eigenvalue that has to be large to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality.

template<typename TInputImage , typename TOutputImage >
virtual double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetBeta ( ) const [virtual]

Set/Get Beta, the weight corresponding to R_B (the ratio of the largest eigenvalue that has to be small to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality.

template<typename TInputImage , typename TOutputImage >
virtual bool itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetBrightObject ( ) const [virtual]

Enhance bright structures on a dark background if true, the opposite if false.

template<typename TInputImage , typename TOutputImage >
virtual double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetGamma ( ) const [virtual]

Set/Get Gamma, the weight corresponding to S (the Frobenius norm of the Hessian matrix, or second-order structureness)

template<typename TInputImage , typename TOutputImage >
virtual const char* itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const [virtual]

Runtime information support.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage , typename TOutputImage >
virtual unsigned int itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetObjectDimension ( ) const [virtual]

Set/Get the dimensionality of the object (0: points (blobs), 1: lines (vessels), 2: planes (plate-like structures), 3: hyper-planes. ObjectDimension must be smaller than ImageDimension.

template<typename TInputImage , typename TOutputImage >
virtual bool itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::GetScaleObjectnessMeasure ( ) const [virtual]

Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalue

template<typename TInputImage , typename TOutputImage >
static Pointer itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<typename TInputImage , typename TOutputImage >
void itk::HessianToObjectnessMeasureImageFilter< 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 >.

template<typename TInputImage , typename TOutputImage >
void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

End concept checking

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::ScaleObjectnessMeasureOff ( ) [virtual]

Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalue

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::ScaleObjectnessMeasureOn ( ) [virtual]

Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalue

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::SetAlpha ( double  _arg) [virtual]

Set/Get Alpha, the weight corresponding to R_A (the ratio of the smallest eigenvalue that has to be large to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::SetBeta ( double  _arg) [virtual]

Set/Get Beta, the weight corresponding to R_B (the ratio of the largest eigenvalue that has to be small to the larger ones). Smaller values lead to increased sensitivity to the object dimensionality.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::SetBrightObject ( bool  _arg) [virtual]

Enhance bright structures on a dark background if true, the opposite if false.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::SetGamma ( double  _arg) [virtual]

Set/Get Gamma, the weight corresponding to S (the Frobenius norm of the Hessian matrix, or second-order structureness)

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::SetObjectDimension ( unsigned int  _arg) [virtual]

Set/Get the dimensionality of the object (0: points (blobs), 1: lines (vessels), 2: planes (plate-like structures), 3: hyper-planes. ObjectDimension must be smaller than ImageDimension.

template<typename TInputImage , typename TOutputImage >
virtual void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::SetScaleObjectnessMeasure ( bool  _arg) [virtual]

Toggle scaling the objectness measure with the magnitude of the largest absolute eigenvalue

template<typename TInputImage , typename TOutputImage >
void itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected, virtual]

If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).

See also:
GenerateData(), SplitRequestedRegion()

Reimplemented from itk::ImageSource< TOutputImage >.

template<typename TInputImage , typename TOutputImage >
itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::typedef ( Concept::Convertible< double, OutputPixelType )

Begin concept checking This class requires DoubleConvertibleToOutputCheck in the form of ( Concept::Convertible< double, OutputPixelType > )


Member Data Documentation

template<typename TInputImage , typename TOutputImage >
const unsigned int itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::ImageDimension = ::itk::GetImageDimension< InputImageType >::ImageDimension [static]

Image dimension

Definition at line 81 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::m_Alpha [private]

Definition at line 168 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::m_Beta [private]

Definition at line 169 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
bool itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::m_BrightObject [private]

Definition at line 172 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
double itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::m_Gamma [private]

Definition at line 170 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
unsigned int itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::m_ObjectDimension [private]

Definition at line 171 of file itkHessianToObjectnessMeasureImageFilter.h.

template<typename TInputImage , typename TOutputImage >
bool itk::HessianToObjectnessMeasureImageFilter< TInputImage, TOutputImage >::m_ScaleObjectnessMeasure [private]

Definition at line 173 of file itkHessianToObjectnessMeasureImageFilter.h.


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