NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
itk::LaplacianSolverImageFilter< TInputImage, TScalarType > Class Template Reference

Solves Laplace equation over the cortical volume. More...

Inheritance diagram for itk::LaplacianSolverImageFilter< TInputImage, TScalarType >:
Inheritance graph
[legend]
Collaboration diagram for itk::LaplacianSolverImageFilter< TInputImage, TScalarType >:
Collaboration graph
[legend]

Public Types

typedef LaplacianSolverImageFilter Self
 
typedef BaseCTEFilter
< TInputImage > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputImage::PixelType InputPixelType
 
typedef InputPixelType OutputPixelType
 
typedef TInputImage InputImageType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::IndexType InputImageIndexType
 
typedef Image< OutputPixelType,
TInputImage::ImageDimension > 
OutputImageType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef
OutputImageType::SpacingType 
OutputImageSpacing
 
- Public Types inherited from itk::BaseCTEFilter< TInputImage >
typedef BaseCTEFilter Self
 
typedef ImageToImageFilter
< TInputImage, TInputImage > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TInputImage InputImageType
 
typedef InputImageType::PixelType InputPixelType
 
typedef InputImageType::IndexType InputIndexType
 
typedef InputImageType::SizeType InputSizeType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef
InputImageType::ConstPointer 
InputImageConstPointer
 
typedef InputPixelType OutputPixelType
 
typedef Image< OutputPixelType,
TInputImage::ImageDimension > 
OutputImageType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef
OutputImageType::ConstPointer 
OutputImageConstPointer
 
typedef OutputImageType::SizeType OutputSizeType
 

Public Member Functions

virtual const char * GetClassName () const
 
void SetSegmentedImage (const InputImageType *image)
 
virtual unsigned long int GetCurrentIteration ()
 
virtual void SetCurrentIteration (unsigned long int _arg)
 
virtual void SetLowVoltage (OutputPixelType _arg)
 
virtual OutputPixelType GetLowVoltage ()
 
virtual void SetHighVoltage (OutputPixelType _arg)
 
virtual OutputPixelType GetHighVoltage ()
 
virtual void SetEpsilonConvergenceThreshold (OutputPixelType _arg)
 
virtual OutputPixelType GetEpsilonConvergenceThreshold ()
 
virtual void SetMaximumNumberOfIterations (unsigned long int _arg)
 
virtual unsigned long int GetMaximumNumberOfIterations ()
 
virtual void SetUseGaussSeidel (bool _arg)
 
virtual bool GetUseGaussSeidel ()
 
- Public Member Functions inherited from itk::BaseCTEFilter< TInputImage >
 itkStaticConstMacro (Dimension, unsigned int, TInputImage::ImageDimension)
 
virtual InputPixelType GetGreyMatterLabel ()
 
virtual InputPixelType GetWhiteMatterLabel ()
 
virtual InputPixelType GetExtraCerebralMatterLabel ()
 
void SetLabelThresholds (InputPixelType greyMatterLabel, InputPixelType whiteMatterLabel, InputPixelType extraCerebralMatterLabel)
 
virtual bool GetUserHasSetTheLabelThresholds ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 LaplacianSolverImageFilter ()
 
virtual ~LaplacianSolverImageFilter ()
 
virtual void PrintSelf (std::ostream &, Indent) const
 
virtual void GenerateData ()
 
- Protected Member Functions inherited from itk::BaseCTEFilter< TInputImage >
 BaseCTEFilter ()
 
virtual ~BaseCTEFilter ()
 
virtual void GenerateInputRequestedRegion ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *itkNotUsed)
 
virtual void CheckInputsAndOutputsSameSize ()
 
virtual bool IsOnBoundary (const InputImageType *image, const InputIndexType &index, const InputPixelType boundaryValue, bool useFullyConnected)
 
virtual bool IsOnCSFBoundary (const InputImageType *image, const InputIndexType &index, bool useFullyConnected)
 
virtual bool IsOnWMBoundary (const InputImageType *image, const InputIndexType &index, bool useFullyConnected)
 
virtual bool IsOnGMBoundary (const InputImageType *image, const InputIndexType &index, bool useFullyConnected)
 

Additional Inherited Members

- Protected Attributes inherited from itk::BaseCTEFilter< TInputImage >
InputPixelType m_GreyMatterLabel
 
InputPixelType m_WhiteMatterLabel
 
InputPixelType m_ExtraCerebralMatterLabel
 
bool m_UserHasSetTheLabelThresholds
 

Detailed Description

template<class TInputImage, typename TScalarType = double>
class itk::LaplacianSolverImageFilter< TInputImage, TScalarType >

Solves Laplace equation over the cortical volume.

This filter implements step (7) in Jones et al. Human Brain Mapping 11:12-32 (2000). The input must be an image with exactly three values, corresponding to white matter, grey matter (cortical volume), and extra-cerebral volume, (i.e. non-brain). Laplaces equation is solved using the Jacobi method (Press et al.), where convergence stops once the change in field energy goes below a threshold. The Jones 2000 paper uses a formulation simplified to isotropic voxels. However, in Diep et. al. ISBI 2007, it is generalised to anisotropic voxels. So this implementation can do anisotropic voxels, using Than Dieps generalization.

The output is an image of voltage potentials.

You should specify the values for each type of matter. They all default to -1. If you are constructing a pipeline, then the itkCheckForThreeLevelsFilter will check this for you, and try to set reasonable defaults, so there is no checking code contained within this class.

Member Typedef Documentation

template<class TInputImage, typename TScalarType = double>
typedef SmartPointer<const Self> itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::ConstPointer
template<class TInputImage, typename TScalarType = double>
typedef InputImageType::IndexType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::InputImageIndexType
template<class TInputImage, typename TScalarType = double>
typedef InputImageType::Pointer itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::InputImagePointer
template<class TInputImage, typename TScalarType = double>
typedef TInputImage itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::InputImageType

Image typedef support.

template<class TInputImage, typename TScalarType = double>
typedef TInputImage::PixelType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::InputPixelType

Extract some information from the image types. Dimensionality of the two images is assumed to be the same.

template<class TInputImage, typename TScalarType = double>
typedef OutputImageType::Pointer itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::OutputImagePointer
template<class TInputImage, typename TScalarType = double>
typedef OutputImageType::SpacingType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::OutputImageSpacing
template<class TInputImage, typename TScalarType = double>
typedef Image<OutputPixelType, TInputImage::ImageDimension> itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::OutputImageType
template<class TInputImage, typename TScalarType = double>
typedef InputPixelType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::OutputPixelType
template<class TInputImage, typename TScalarType = double>
typedef SmartPointer<Self> itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::Pointer
template<class TInputImage, typename TScalarType = double>
typedef LaplacianSolverImageFilter itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::Self

Standard "Self" & Superclass typedef.

template<class TInputImage, typename TScalarType = double>
typedef BaseCTEFilter< TInputImage > itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::Superclass

Constructor & Destructor Documentation

template<class TInputImage, typename TScalarType = double>
itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::LaplacianSolverImageFilter ( )
protected
template<class TInputImage, typename TScalarType = double>
virtual itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::~LaplacianSolverImageFilter ( )
inlineprotectedvirtual

Member Function Documentation

template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GenerateData ( )
protectedvirtual
template<class TInputImage, typename TScalarType = double>
virtual const char* itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetClassName ( ) const
virtual

Run-time type information (and related methods)

Reimplemented from itk::BaseCTEFilter< TInputImage >.

Reimplemented in itk::HighResLaplacianSolverImageFilter< TInputImage, TScalarType >.

template<class TInputImage, typename TScalarType = double>
virtual unsigned long int itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetCurrentIteration ( )
virtual

Check this once we have finished.

template<class TInputImage, typename TScalarType = double>
virtual OutputPixelType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetEpsilonConvergenceThreshold ( )
virtual
template<class TInputImage, typename TScalarType = double>
virtual OutputPixelType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetHighVoltage ( )
virtual
template<class TInputImage, typename TScalarType = double>
virtual OutputPixelType itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetLowVoltage ( )
virtual
template<class TInputImage, typename TScalarType = double>
virtual unsigned long int itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetMaximumNumberOfIterations ( )
virtual
template<class TInputImage, typename TScalarType = double>
virtual bool itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::GetUseGaussSeidel ( )
virtual
template<class TInputImage, typename TScalarType = double>
static Pointer itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::New ( )
static

Method for creation through the object factory.

template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::PrintSelf ( std::ostream &  ,
Indent   
) const
protectedvirtual
template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetCurrentIteration ( unsigned long int  _arg)
virtual
template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetEpsilonConvergenceThreshold ( OutputPixelType  _arg)
virtual

Set convergence threshold. Default 10E-5.

template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetHighVoltage ( OutputPixelType  _arg)
virtual

Set the high voltage threshold. Default 10000.

template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetLowVoltage ( OutputPixelType  _arg)
virtual

Set the low voltage threshold. Default 0.

template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetMaximumNumberOfIterations ( unsigned long int  _arg)
virtual

Set MaximumNumberOfIterations threshold. Default 200.

template<class TInputImage, typename TScalarType = double>
void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetSegmentedImage ( const InputImageType image)
inline

Sets the segmented image, at input 0.

template<class TInputImage, typename TScalarType = double>
virtual void itk::LaplacianSolverImageFilter< TInputImage, TScalarType >::SetUseGaussSeidel ( bool  _arg)
virtual

Turns Gauss Siedel optimisation on or off. Default on.


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