ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkMultiScaleHessianBasedMeasureImageFilter.h>
A filter to enhance structures using Hessian eigensystem-based measures in a multiscale framework.
The filter evaluates a Hessian-based enhancement measure, such as vesselness or objectness, at different scale levels. The Hessian-based measure is computed from the Hessian image at each scale level and the best response is selected.
Minimum and maximum sigma value can be set using SetMinSigma and SetMaxSigma methods respectively. The number of scale levels is set using SetNumberOfSigmaSteps method. Exponentially distributed scale levels are computed within the bound set by the minimum and maximum sigma values
The filter computes a second output image (accessed by the GetScalesOutput method) containing the scales at which each pixel gave the best reponse.
This code was contributed in the Insight Journal paper: "Generalizing vesselness with respect to dimensionality and shape" by Antiga L. http://hdl.handle.net/1926/576 http://www.insight-journal.org/browse/publication/175
Definition at line 67 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef UpdateBufferType::ValueType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::BufferValueType |
Definition at line 103 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef SmartPointer< const Self > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 77 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef Superclass::DataObjectPointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::DataObjectPointer |
Smart Pointer type to a DataObject.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 105 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef ProcessObject::DataObjectPointerArraySizeType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::DataObjectPointerArraySizeType |
This is overloaded to create the Scales and Hessian output images
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 183 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef HessianRecursiveGaussianImageFilter< InputImageType, HessianImageType > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::HessianFilterType |
Hessian computation filter.
Definition at line 97 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef THessianImage itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::HessianImageType |
Definition at line 81 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef ImageToImageFilter< HessianImageType, OutputImageType > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::HessianToMeasureFilterType |
Definition at line 83 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef TInputImage itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 79 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef TInputImage::PixelType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::InputPixelType |
Definition at line 85 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef TOutputImage itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 80 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef TOutputImage::PixelType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::OutputPixelType |
Definition at line 86 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef TOutputImage::RegionType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::OutputRegionType |
Definition at line 87 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef SmartPointer< Self > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 76 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef Image< ScalesPixelType, itkGetStaticConstMacro(ImageDimension) > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::ScalesImageType |
Definition at line 94 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef float itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::ScalesPixelType |
Types for Scales image
Definition at line 93 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef MultiScaleHessianBasedMeasureImageFilter itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 73 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 74 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
typedef Image< double, itkGetStaticConstMacro(ImageDimension) > itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::UpdateBufferType |
Update image buffer that holds the best objectness response. This is not redundant from the output image because the latter may not be of float type, which is required for the comparisons between responses at different scales.
Definition at line 102 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
enum itk::MultiScaleHessianBasedMeasureImageFilter::SigmaStepMethodType |
Definition at line 147 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::MultiScaleHessianBasedMeasureImageFilter | ( | ) | [protected] |
itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::~MultiScaleHessianBasedMeasureImageFilter | ( | ) | [inline, protected] |
Definition at line 193 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::MultiScaleHessianBasedMeasureImageFilter | ( | const Self & | ) | [private] |
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::AllocateUpdateBuffer | ( | ) | [private] |
double itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::ComputeSigmaValue | ( | int | scaleLevel | ) | [private] |
virtual::itk::LightObject::Pointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, 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.
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::EnlargeOutputRequestedRegion | ( | DataObject * | ) | [virtual] |
Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.
Reimplemented from itk::ProcessObject.
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GenerateData | ( | void | ) | [protected, virtual] |
Generate Data
Reimplemented from itk::ImageSource< TOutputImage >.
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GenerateHessianOutputOff | ( | ) | [virtual] |
Methods to turn on/off flag to generate an image with hessian values at each pixel for the best vesselness response
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GenerateHessianOutputOn | ( | ) | [virtual] |
Methods to turn on/off flag to generate an image with hessian values at each pixel for the best vesselness response
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GenerateScalesOutputOff | ( | ) | [virtual] |
Methods to turn on/off flag to generate an image with scale values at each pixel for the best vesselness response
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GenerateScalesOutputOn | ( | ) | [virtual] |
Methods to turn on/off flag to generate an image with scale values at each pixel for the best vesselness response
virtual bool itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetGenerateHessianOutput | ( | ) | const [virtual] |
Methods to turn on/off flag to generate an image with hessian values at each pixel for the best vesselness response
virtual bool itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetGenerateScalesOutput | ( | ) | const [virtual] |
Methods to turn on/off flag to generate an image with scale values at each pixel for the best vesselness response
const HessianImageType* itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetHessianOutput | ( | ) | const |
Get the image containing the Hessian computed at the best response scale
virtual HessianToMeasureFilterType* itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetHessianToMeasureFilter | ( | ) | [virtual] |
Set/Get HessianToMeasureFilter. This will be a filter that takes Hessian input image and produces enhanced output scalar image. The filter must derive from itk::ImageToImage filter
virtual const char* itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Runtime information support.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual bool itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetNonNegativeHessianBasedMeasure | ( | ) | const [virtual] |
Methods to turn on/off flag to inform the filter that the Hessian-based measure is non-negative (classical measures like Sato's and Frangi's are), hence it has a minimum at zero. In this case, the update buffer is initialized at zero, and the output scale and Hessian are zero in case the Hessian-based measure returns zero for all scales. Otherwise, the minimum output scale and Hessian are the ones obtained at scale SigmaMinimum. On by default.
virtual unsigned int itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetNumberOfSigmaSteps | ( | ) | const [virtual] |
Set/Get macros for Number of Scales
const ScalesImageType* itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetScalesOutput | ( | ) | const |
Get the image containing the scales at which each pixel gave the best response
virtual double itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetSigmaMaximum | ( | ) | const [virtual] |
Set/Get macros for SigmaMax
virtual double itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetSigmaMinimum | ( | ) | const [virtual] |
Set/Get macros for SigmaMin
virtual SigmaStepMethodType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::GetSigmaStepMethod | ( | ) | const [virtual] |
Set/Get the method used to generate scale sequence (Equispaced or Logarithmic)
virtual DataObjectPointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::MakeOutput | ( | DataObjectPointerArraySizeType | idx | ) | [virtual] |
Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a itkSmartPointer to a DataObject. ImageSource and MeshSource override this method to create the correct type of image and mesh respectively. If a filter has multiple outputs of different types, then that filter must provide an implementation of MakeOutput().
Reimplemented from itk::ImageSource< TOutputImage >.
static Pointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::NonNegativeHessianBasedMeasureOff | ( | ) | [virtual] |
Methods to turn on/off flag to inform the filter that the Hessian-based measure is non-negative (classical measures like Sato's and Frangi's are), hence it has a minimum at zero. In this case, the update buffer is initialized at zero, and the output scale and Hessian are zero in case the Hessian-based measure returns zero for all scales. Otherwise, the minimum output scale and Hessian are the ones obtained at scale SigmaMinimum. On by default.
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::NonNegativeHessianBasedMeasureOn | ( | ) | [virtual] |
Methods to turn on/off flag to inform the filter that the Hessian-based measure is non-negative (classical measures like Sato's and Frangi's are), hence it has a minimum at zero. In this case, the update buffer is initialized at zero, and the output scale and Hessian are zero in case the Hessian-based measure returns zero for all scales. Otherwise, the minimum output scale and Hessian are the ones obtained at scale SigmaMinimum. On by default.
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, 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::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, 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 >.
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetGenerateHessianOutput | ( | bool | _arg | ) | [virtual] |
Methods to turn on/off flag to generate an image with hessian values at each pixel for the best vesselness response
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetGenerateScalesOutput | ( | bool | _arg | ) | [virtual] |
Methods to turn on/off flag to generate an image with scale values at each pixel for the best vesselness response
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetHessianToMeasureFilter | ( | HessianToMeasureFilterType * | _arg | ) | [virtual] |
Set/Get HessianToMeasureFilter. This will be a filter that takes Hessian input image and produces enhanced output scalar image. The filter must derive from itk::ImageToImage filter
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetNonNegativeHessianBasedMeasure | ( | bool | _arg | ) | [virtual] |
Methods to turn on/off flag to inform the filter that the Hessian-based measure is non-negative (classical measures like Sato's and Frangi's are), hence it has a minimum at zero. In this case, the update buffer is initialized at zero, and the output scale and Hessian are zero in case the Hessian-based measure returns zero for all scales. Otherwise, the minimum output scale and Hessian are the ones obtained at scale SigmaMinimum. On by default.
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetNumberOfSigmaSteps | ( | unsigned int | _arg | ) | [virtual] |
Set/Get macros for Number of Scales
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetSigmaMaximum | ( | double | _arg | ) | [virtual] |
Set/Get macros for SigmaMax
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetSigmaMinimum | ( | double | _arg | ) | [virtual] |
Set/Get macros for SigmaMin
virtual void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetSigmaStepMethod | ( | SigmaStepMethodType | _arg | ) | [virtual] |
Set/Get the method used to generate scale sequence (Equispaced or Logarithmic)
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetSigmaStepMethodToEquispaced | ( | ) |
Set equispaced sigma step method
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::SetSigmaStepMethodToLogarithmic | ( | ) |
Set logartihmic sigma step method
void itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::UpdateMaximumResponse | ( | double | sigma | ) | [private] |
const unsigned int itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::ImageDimension = ::itk::GetImageDimension< InputImageType >::ImageDimension [static] |
Image dimension.
Definition at line 90 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
bool itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_GenerateHessianOutput [private] |
Definition at line 225 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
bool itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_GenerateScalesOutput [private] |
Definition at line 224 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
HessianFilterType::Pointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_HessianFilter [private] |
Definition at line 220 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
HessianToMeasureFilterType::Pointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_HessianToMeasureFilter [private] |
Definition at line 218 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
bool itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_NonNegativeHessianBasedMeasure [private] |
Definition at line 210 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
unsigned int itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_NumberOfSigmaSteps [private] |
Definition at line 215 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
double itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_SigmaMaximum [private] |
Definition at line 213 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
double itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_SigmaMinimum [private] |
Definition at line 212 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
SigmaStepMethodType itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_SigmaStepMethod [private] |
Definition at line 216 of file itkMultiScaleHessianBasedMeasureImageFilter.h.
UpdateBufferType::Pointer itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::m_UpdateBuffer [private] |
Definition at line 222 of file itkMultiScaleHessianBasedMeasureImageFilter.h.