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::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions > Class Template Reference

Integrates streamlines using Eulers method (Lagrangian framework). More...

Inheritance diagram for itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >:
Inheritance graph
[legend]
Collaboration diagram for itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >:
Collaboration graph
[legend]

Public Types

typedef IntegrateStreamlinesFilter Self
 
typedef
BaseCTEStreamlinesFilter
< TImageType, TScalarType,
NDimensions > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Vector< TScalarType,
NDimensions > 
InputVectorImagePixelType
 
typedef Image
< InputVectorImagePixelType,
NDimensions > 
InputVectorImageType
 
typedef
InputVectorImageType::Pointer 
InputVectorImagePointer
 
typedef
InputVectorImageType::ConstPointer 
InputVectorImageConstPointer
 
typedef TScalarType InputScalarImagePixelType
 
typedef Image
< InputScalarImagePixelType,
NDimensions > 
InputScalarImageType
 
typedef
InputScalarImageType::PointType 
InputScalarImagePointType
 
typedef
InputScalarImageType::Pointer 
InputScalarImagePointer
 
typedef
InputScalarImageType::IndexType 
InputScalarImageIndexType
 
typedef
InputScalarImageType::ConstPointer 
InputScalarImageConstPointer
 
typedef
InputScalarImageType::RegionType 
InputScalarImageRegionType
 
typedef InputScalarImageType OutputImageType
 
typedef OutputImageType::PixelType OutputImagePixelType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef
OutputImageType::ConstPointer 
OutputImageConstPointer
 
typedef
VectorLinearInterpolateImageFunction
< InputVectorImageType,TScalarType > 
VectorInterpolatorType
 
typedef
VectorInterpolatorType::Pointer 
VectorInterpolatorPointer
 
typedef
VectorInterpolatorType::PointType 
VectorInterpolatorPointType
 
typedef
LinearInterpolateImageFunction
< InputScalarImageType,TScalarType > 
ScalarInterpolatorType
 
typedef
ScalarInterpolatorType::Pointer 
ScalarInterpolatorPointer
 
typedef
ScalarInterpolatorType::PointType 
ScalarInterpolatorPointType
 
- Public Types inherited from itk::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions >
typedef BaseCTEStreamlinesFilter Self
 
typedef BaseCTEFilter< TImageType > Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Vector< TScalarType,
NDimensions > 
InputVectorImagePixelType
 
typedef Image
< InputVectorImagePixelType,
NDimensions > 
InputVectorImageType
 
typedef
InputVectorImageType::Pointer 
InputVectorImagePointer
 
typedef
InputVectorImageType::ConstPointer 
InputVectorImageConstPointer
 
typedef TScalarType InputScalarImagePixelType
 
typedef Image
< InputScalarImagePixelType,
NDimensions > 
InputScalarImageType
 
typedef
InputScalarImageType::PointType 
InputScalarImagePointType
 
typedef
InputScalarImageType::Pointer 
InputScalarImagePointer
 
typedef
InputScalarImageType::IndexType 
InputScalarImageIndexType
 
typedef
InputScalarImageType::ConstPointer 
InputScalarImageConstPointer
 
typedef
InputScalarImageType::RegionType 
InputScalarImageRegionType
 
typedef InputScalarImageType OutputImageType
 
typedef OutputImageType::PixelType OutputImagePixelType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef
OutputImageType::ConstPointer 
OutputImageConstPointer
 
typedef
VectorInterpolateImageFunction
< InputVectorImageType,TScalarType > 
VectorInterpolatorType
 
typedef
VectorInterpolatorType::Pointer 
VectorInterpolatorPointer
 
typedef
VectorInterpolatorType::PointType 
VectorInterpolatorPointType
 
typedef
InterpolateImageFunction
< InputScalarImageType,TScalarType > 
ScalarInterpolatorType
 
typedef
ScalarInterpolatorType::Pointer 
ScalarInterpolatorPointer
 
typedef
ScalarInterpolatorType::PointType 
ScalarInterpolatorPointType
 
- Public Types inherited from itk::BaseCTEFilter< TImageType >
typedef BaseCTEFilter Self
 
typedef ImageToImageFilter
< TImageType, TImageType > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef TImageType 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,
TImageType::ImageDimension > 
OutputImageType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef
OutputImageType::ConstPointer 
OutputImageConstPointer
 
typedef OutputImageType::SizeType OutputSizeType
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (Dimension, unsigned int, NDimensions)
 
void SetScalarImage (const InputScalarImageType *image)
 
void SetVectorImage (const InputVectorImageType *image)
 
virtual void SetMinIterationVoltage (InputScalarImagePixelType _arg)
 
virtual InputScalarImagePixelType GetMinIterationVoltage ()
 
virtual void SetMaxIterationVoltage (InputScalarImagePixelType _arg)
 
virtual InputScalarImagePixelType GetMaxIterationVoltage ()
 
virtual void SetStepSize (TScalarType _arg)
 
virtual TScalarType GetStepSize ()
 
virtual void SetMaxIterationLength (TScalarType _arg)
 
virtual TScalarType GetMaxIterationLength ()
 
- Public Member Functions inherited from itk::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions >
virtual void SetLowVoltage (InputScalarImagePixelType _arg)
 
virtual InputScalarImagePixelType GetLowVoltage ()
 
virtual void SetHighVoltage (InputScalarImagePixelType _arg)
 
virtual InputScalarImagePixelType GetHighVoltage ()
 
virtual void SetVectorInterpolator (VectorInterpolatorType *_arg)
 
virtual const
VectorInterpolatorType
GetVectorInterpolator ()
 
virtual void SetScalarInterpolator (ScalarInterpolatorType *_arg)
 
virtual const
ScalarInterpolatorType
GetScalarInterpolator ()
 
- Public Member Functions inherited from itk::BaseCTEFilter< TImageType >
 itkStaticConstMacro (Dimension, unsigned int, TImageType::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

 IntegrateStreamlinesFilter ()
 
 ~IntegrateStreamlinesFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void ThreadedGenerateData (const InputScalarImageRegionType &outputRegionForThread, ThreadIdType threadId)
 
- Protected Member Functions inherited from itk::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions >
 BaseCTEStreamlinesFilter ()
 
 ~BaseCTEStreamlinesFilter ()
 
- Protected Member Functions inherited from itk::BaseCTEFilter< TImageType >
 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::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions >
VectorInterpolatorPointer m_VectorInterpolator
 
ScalarInterpolatorPointer m_ScalarInterpolator
 
InputScalarImagePixelType m_LowVoltage
 
InputScalarImagePixelType m_HighVoltage
 
- Protected Attributes inherited from itk::BaseCTEFilter< TImageType >
InputPixelType m_GreyMatterLabel
 
InputPixelType m_WhiteMatterLabel
 
InputPixelType m_ExtraCerebralMatterLabel
 
bool m_UserHasSetTheLabelThresholds
 

Detailed Description

template<class TImageType, typename TScalarType = double, unsigned int NDimensions = 3>
class itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >

Integrates streamlines using Eulers method (Lagrangian framework).

This filter implements step (9) in Jones et al. Human Brain Mapping 11:12-32 (2000). The first input, set using SetScalarImage should be the output of step (7), which is the output of LaplacianSolverImageFilter, i.e. a scalar image representing voltage potentials. The second input should be the output of step (8) which is a vector field of normalized gradient, set using SetVectorImage. This filter has a min and a max voltage threshold, and for any voxel that is between those values, it will integrate along the gradient vector in both directions, until it hits the threshold, thus computing the streamline length between the two surfaces (read the paper!). Hence you can set the integration step size, and also a hard limit to force the iterating to stop once it hits a maximum distance.

See also
BaseStreamlinesFilter
LaplacianSolverImageFilter
RelaxStreamlinesFilter
OrderedTraversalStreamlinesFilter

Member Typedef Documentation

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::ConstPointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputScalarImageType::ConstPointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageConstPointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputScalarImageType::IndexType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageIndexType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef TScalarType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImagePixelType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputScalarImageType::Pointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImagePointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputScalarImageType::PointType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImagePointType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputScalarImageType::RegionType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageRegionType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef Image< InputScalarImagePixelType, NDimensions > itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputVectorImageType::ConstPointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImageConstPointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef Vector< TScalarType, NDimensions > itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImagePixelType

Standard typedefs.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputVectorImageType::Pointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImagePointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef Image< InputVectorImagePixelType, NDimensions > itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImageType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef OutputImageType::ConstPointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageConstPointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef OutputImageType::PixelType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImagePixelType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef OutputImageType::Pointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImagePointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef InputScalarImageType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<Self> itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::Pointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef ScalarInterpolatorType::Pointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::ScalarInterpolatorPointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef ScalarInterpolatorType::PointType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::ScalarInterpolatorPointType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef LinearInterpolateImageFunction< InputScalarImageType ,TScalarType > itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::ScalarInterpolatorType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef IntegrateStreamlinesFilter itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::Self

Standard "Self" typedef.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef BaseCTEStreamlinesFilter<TImageType, TScalarType, NDimensions> itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::Superclass
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef VectorInterpolatorType::Pointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::VectorInterpolatorPointer
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef VectorInterpolatorType::PointType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::VectorInterpolatorPointType
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
typedef VectorLinearInterpolateImageFunction< InputVectorImageType ,TScalarType > itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::VectorInterpolatorType

Constructor & Destructor Documentation

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::IntegrateStreamlinesFilter ( )
protected
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::~IntegrateStreamlinesFilter ( )
inlineprotected

Member Function Documentation

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual const char* itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions >.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual TScalarType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::GetMaxIterationLength ( )
virtual
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual InputScalarImagePixelType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::GetMaxIterationVoltage ( )
virtual
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual InputScalarImagePixelType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::GetMinIterationVoltage ( )
virtual
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual TScalarType itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::GetStepSize ( )
virtual
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::itkStaticConstMacro ( Dimension  ,
unsigned  int,
NDimensions   
)

Get the number of dimensions we are working in.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
static Pointer itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::New ( )
static

Method for creation through the object factory.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::PrintSelf ( std::ostream &  ,
Indent   
) const
protectedvirtual
template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::SetMaxIterationLength ( TScalarType  _arg)
virtual

Set/Get the maximum length for integration, defaults to 10. Used to force filter to stop iterating.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::SetMaxIterationVoltage ( InputScalarImagePixelType  _arg)
virtual

Set/get the maximum threshold we iterate towards, should really be the same as HighVoltage, but here you can tweak where integration stops.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::SetMinIterationVoltage ( InputScalarImagePixelType  _arg)
virtual

Set/get the minimum threshold we iterate towards, should really be the same as LowVoltage, but here you can tweak where integration stops.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::SetScalarImage ( const InputScalarImageType image)
inline

Sets the scalar (Laplacian) image, at input 0.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::SetStepSize ( TScalarType  _arg)
virtual

Set/Get the Step Size for integration, defaults to 0.001.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::SetVectorImage ( const InputVectorImageType image)
inline

Sets the vector image, at input 1.

template<class TImageType , typename TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::IntegrateStreamlinesFilter< TImageType, TScalarType, NDimensions >::ThreadedGenerateData ( const InputScalarImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
protectedvirtual

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