NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Implements section 2.3.2 in Bourgeat et. al. ISBI 2008. More...
Public Types | |
typedef LagrangianInitializedRelaxStreamlinesFilter | Self |
typedef RelaxStreamlinesFilter < TImageType, TScalarType, NDimensions > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputVectorImagePixelType | InputVectorImagePixelType |
typedef Superclass::InputVectorImageType | InputVectorImageType |
typedef Superclass::InputVectorImagePointer | InputVectorImagePointer |
typedef Superclass::InputVectorImageConstPointer | InputVectorImageConstPointer |
typedef Superclass::InputVectorImageIndexType | InputVectorImageIndexType |
typedef Superclass::InputScalarImagePixelType | InputScalarImagePixelType |
typedef Superclass::InputScalarImageType | InputScalarImageType |
typedef Superclass::InputScalarImageSpacingType | InputScalarImageSpacingType |
typedef Superclass::InputScalarImagePointType | InputScalarImagePointType |
typedef Superclass::InputScalarImagePointer | InputScalarImagePointer |
typedef Superclass::InputScalarImageIndexType | InputScalarImageIndexType |
typedef Superclass::InputScalarImageConstPointer | InputScalarImageConstPointer |
typedef Superclass::InputScalarImageRegionType | InputScalarImageRegionType |
typedef Superclass::OutputImageType | OutputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImagePointer | OutputImagePointer |
typedef Superclass::OutputImageConstPointer | OutputImageConstPointer |
typedef Superclass::OutputImageIndexType | OutputImageIndexType |
typedef Superclass::OutputImageSpacingType | OutputImageSpacingType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef Superclass::OutputImageSizeType | OutputImageSizeType |
typedef Superclass::VectorInterpolatorType | VectorInterpolatorType |
typedef Superclass::VectorInterpolatorPointer | VectorInterpolatorPointer |
typedef Superclass::VectorInterpolatorPointType | VectorInterpolatorPointType |
typedef Superclass::ScalarInterpolatorType | ScalarInterpolatorType |
typedef Superclass::ScalarInterpolatorPointer | ScalarInterpolatorPointer |
typedef Superclass::ScalarInterpolatorPointType | ScalarInterpolatorPointType |
typedef ContinuousIndex < TScalarType, NDimensions > | ContinuousIndexType |
Public Types inherited from itk::RelaxStreamlinesFilter< TImageType, TScalarType, NDimensions > | |
typedef RelaxStreamlinesFilter | Self |
typedef BaseCTEStreamlinesFilter < TImageType, TScalarType, NDimensions > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Vector< TScalarType, NDimensions > | InputVectorImagePixelType |
typedef Image < InputVectorImagePixelType, NDimensions > | InputVectorImageType |
typedef InputVectorImageType::Pointer | InputVectorImagePointer |
typedef InputVectorImageType::ConstPointer | InputVectorImageConstPointer |
typedef InputVectorImageType::IndexType | InputVectorImageIndexType |
typedef TScalarType | InputScalarImagePixelType |
typedef Image < InputScalarImagePixelType, NDimensions > | InputScalarImageType |
typedef Point< TScalarType, NDimensions > | InputScalarImagePointType |
typedef InputScalarImageType::SpacingType | InputScalarImageSpacingType |
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 OutputImageType::IndexType | OutputImageIndexType |
typedef OutputImageType::SpacingType | OutputImageSpacingType |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef OutputImageType::SizeType | OutputImageSizeType |
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::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions > | |
typedef BaseCTEStreamlinesFilter | Self |
typedef BaseCTEFilter< TImageType > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
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< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
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 |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::RelaxStreamlinesFilter< TImageType, TScalarType, NDimensions > | |
static Pointer | New () |
Additional Inherited Members | |
Protected Attributes inherited from itk::RelaxStreamlinesFilter< TImageType, TScalarType, NDimensions > | |
double | m_EpsilonConvergenceThreshold |
unsigned long int | m_MaximumNumberOfIterations |
double | m_MaximumLength |
bool | m_InitializeBoundaries |
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 |
Implements section 2.3.2 in Bourgeat et. al. ISBI 2008.
This class is implemented as a sub-class of RelaxStreamlinesFilter to make it clear that apart from initializing the boundaries, there is no difference in terms of PDE solving.
Usage: See the implementation of niftkCTEBourgeat2008.cxx
You can additionally set the interpolator, but it defaults to Linear which should be fine. The StepSize threshold is the minimum step size in the dichotomy search, which defaults to 0.001 as mentioned in the paper. This class assumes that at the boundary you are modelling two tissue types, so that when the paper says the stopping point for Lagrangian Initialization (i.e. ray casting) is "where the PV maps are equal", then in this implementation, we simply search for the threshold 0.5. So GreyMatterPercentage defaults to 0.5, but you can tweak it if you want to.
typedef SmartPointer<const Self> itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::ConstPointer |
typedef ContinuousIndex<TScalarType, NDimensions> itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::ContinuousIndexType |
typedef Superclass::InputScalarImageConstPointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageConstPointer |
typedef Superclass::InputScalarImageIndexType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageIndexType |
typedef Superclass::InputScalarImagePixelType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImagePixelType |
typedef Superclass::InputScalarImagePointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImagePointer |
typedef Superclass::InputScalarImagePointType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImagePointType |
typedef Superclass::InputScalarImageRegionType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageRegionType |
typedef Superclass::InputScalarImageSpacingType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageSpacingType |
typedef Superclass::InputScalarImageType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputScalarImageType |
typedef Superclass::InputVectorImageConstPointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImageConstPointer |
typedef Superclass::InputVectorImageIndexType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImageIndexType |
typedef Superclass::InputVectorImagePixelType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImagePixelType |
Standard typedefs.
typedef Superclass::InputVectorImagePointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImagePointer |
typedef Superclass::InputVectorImageType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::InputVectorImageType |
typedef Superclass::OutputImageConstPointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageConstPointer |
typedef Superclass::OutputImageIndexType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageIndexType |
typedef Superclass::OutputImagePixelType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImagePixelType |
typedef Superclass::OutputImagePointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImagePointer |
typedef Superclass::OutputImageRegionType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageRegionType |
typedef Superclass::OutputImageSizeType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageSizeType |
typedef Superclass::OutputImageSpacingType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageSpacingType |
typedef Superclass::OutputImageType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::OutputImageType |
typedef SmartPointer<Self> itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::Pointer |
typedef Superclass::ScalarInterpolatorPointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::ScalarInterpolatorPointer |
typedef Superclass::ScalarInterpolatorPointType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::ScalarInterpolatorPointType |
typedef Superclass::ScalarInterpolatorType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::ScalarInterpolatorType |
typedef LagrangianInitializedRelaxStreamlinesFilter itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::Self |
Standard "Self" typedef.
typedef RelaxStreamlinesFilter<TImageType, TScalarType, NDimensions> itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::Superclass |
typedef Superclass::VectorInterpolatorPointer itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::VectorInterpolatorPointer |
typedef Superclass::VectorInterpolatorPointType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::VectorInterpolatorPointType |
typedef Superclass::VectorInterpolatorType itk::LagrangianInitializedRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >::VectorInterpolatorType |
|
protected |
|
inlineprotected |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::RelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >.
Reimplemented in itk::HighResRelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Maximum distance to search for Lagrangian initialization. In a perfect world, your PV boundary would be 1 voxel thick, and this would be somewhat unnecessary. In the real world, you may be less trustworthy of how wide your PV boundary should be. So, we provide a maximum threshold. If the distance found is greater than this value, the distance value is capped at this value. Default 2mm.
|
protected |
Calculates a simple estimate for the max step size of dichotomy search.
|
virtual |
|
protectedvirtual |
We set the whole of L0 and L1 image to zero, and extract the set of GM voxels.
Reimplemented from itk::RelaxStreamlinesFilter< TImageType, TScalarType, NDimensions >.
|
protected |
Actually does the search for a single voxel.
|
static |
Method for creation through the object factory.
|
protectedvirtual |
Standard Print Self.
Reimplemented from itk::BaseCTEStreamlinesFilter< TImageType, TScalarType, NDimensions >.
|
virtual |
Set/Get the flag to determine if we let this filter establish its own max search distance. Defaults to true.
|
inline |
Sets the pv map, at input 3.
|
virtual |
Grey matter percentage to search for. Should always be 50%, so default is 0.5, but you can set it if you feel like it.
|
virtual |
Set/Get the interpolator for the GM pv map. Defaults to Linear.
|
inline |
|
inline |
Sets the segmented/label image, at input 2.
|
virtual |
Set lower threshold of dichotomy search. Default 0.001 as per paper.
|
protected |
In section 2.3.2 of Bourgeat's paper, they describe a section, where the PV value is redistributed, thereby editing the GM volume.