ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkFastMarchingImageFilterBase.h>
Apply the Fast Marching method to solve an Eikonal equation on an image.
The speed function can be specified as a speed image or a speed constant. The speed image is set using the method SetInput(). If the speed image is ITK_NULLPTR, a constant speed function is used and is specified using method the SetSpeedConstant().
If the speed function is constant and of value one, fast marching results is an approximate distance function from the initial alive points.
There are two ways to specify the output image information (LargestPossibleRegion, Spacing, Origin):
The output information is computed as follows.
If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is set to true, the output information is set from user specified parameters. These parameters can be specified using methods
Else the output information is copied from the input speed image.
Implementation of this class is based on Chapter 8 of "Level Set Methods and Fast Marching Methods", J.A. Sethian, Cambridge Press, Second edition, 1999.
For an alternative implementation, see itk::FastMarchingImageFilter.
TTraits | traits |
Definition at line 75 of file itkFastMarchingImageFilterBase.h.
Public Types | |
typedef ConnectedComponentImageType::Pointer | ConnectedComponentImagePointer |
typedef Image< unsigned int, ImageDimension > | ConnectedComponentImageType |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::InputDomainPointer | InputImagePointer |
typedef Superclass::InputDomainType | InputImageType |
typedef Superclass::InputPixelType | InputPixelType |
typedef FixedArray < InternalNodeStructure, ImageDimension > | InternalNodeStructureArray |
typedef LabelImageType::Pointer | LabelImagePointer |
typedef Image< unsigned char, ImageDimension > | LabelImageType |
typedef Superclass::LabelType | LabelType |
typedef NeighborhoodIterator < LabelImageType > | NeighborhoodIteratorType |
typedef NeighborhoodIteratorType::RadiusType | NeighborhoodRadiusType |
typedef Traits::NodePairContainerConstIterator | NodePairContainerConstIterator |
typedef Traits::NodePairContainerPointer | NodePairContainerPointer |
typedef Traits::NodePairContainerType | NodePairContainerType |
typedef Traits::NodePairType | NodePairType |
typedef Traits::NodeType | NodeType |
typedef OutputImageType::DirectionType | OutputDirectionType |
typedef Superclass::OutputDomainPointer | OutputImagePointer |
typedef Superclass::OutputDomainType | OutputImageType |
typedef Superclass::OutputPixelType | OutputPixelType |
typedef OutputImageType::PointType | OutputPointType |
typedef OutputImageType::RegionType | OutputRegionType |
typedef OutputImageType::SizeType | OutputSizeType |
typedef OutputImageType::SpacingType | OutputSpacingType |
typedef SmartPointer< Self > | Pointer |
typedef FastMarchingImageFilterBase | Self |
typedef FastMarchingBase < TInput, TOutput > | Superclass |
typedef Superclass::Traits | Traits |
Public Types inherited from itk::FastMarchingBase< TInput, TOutput > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Traits::InputDomainPointer | InputDomainPointer |
typedef Traits::InputDomainType | InputDomainType |
typedef Traits::InputPixelType | InputPixelType |
typedef Traits::LabelType | LabelType |
typedef Traits::NodePairContainerConstIterator | NodePairContainerConstIterator |
typedef Traits::NodePairContainerPointer | NodePairContainerPointer |
typedef Traits::NodePairContainerType | NodePairContainerType |
typedef Traits::NodePairType | NodePairType |
typedef Traits::NodeType | NodeType |
typedef Traits::OutputDomainPointer | OutputDomainPointer |
typedef Traits::OutputDomainType | OutputDomainType |
typedef Traits::OutputPixelType | OutputPixelType |
typedef SmartPointer< Self > | Pointer |
typedef FastMarchingBase | Self |
typedef StoppingCriterionType::Pointer | StoppingCriterionPointer |
typedef FastMarchingStoppingCriterionBase < TInput, TOutput > | StoppingCriterionType |
typedef SuperclassType | Superclass |
typedef Traits::SuperclassType | SuperclassType |
enum | TopologyCheckType { Nothing = 0, NoHandles, Strict } |
typedef FastMarchingTraits < TInput, TOutput > | Traits |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = Traits::ImageDimension |
Protected Member Functions | |
bool | DoesVoxelChangeViolateStrictTopology (const NodeType &) const |
bool | DoesVoxelChangeViolateWellComposedness (const NodeType &) const |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) override |
FastMarchingImageFilterBase () | |
virtual void | GenerateOutputInformation () override |
void | GetInternalNodesUsed (OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNodesUsed) |
unsigned char | GetLabelValueForGivenNode (const NodeType &iNode) const override |
const OutputPixelType | GetOutputValue (OutputImageType *oImage, const NodeType &iNode) const override |
IdentifierType | GetTotalNumberOfNodes () const override |
void | InitializeIndices2D () |
void | InitializeIndices3D () |
bool | IsChangeWellComposed2D (const NodeType &) const |
bool | IsChangeWellComposed3D (const NodeType &) const |
bool | IsCriticalC1Configuration2D (const std::bitset< 9 > &) const |
bool | IsCriticalC1Configuration3D (const std::bitset< 8 > &) const |
bool | IsCriticalC2Configuration2D (const std::bitset< 9 > &) const |
unsigned int | IsCriticalC2Configuration3D (const std::bitset< 8 > &) const |
bool | IsCriticalC3Configuration2D (const std::bitset< 9 > &) const |
bool | IsCriticalC4Configuration2D (const std::bitset< 9 > &) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | SetLabelValueForGivenNode (const NodeType &iNode, const LabelType &iLabel) override |
void | SetOutputValue (OutputImageType *oDomain, const NodeType &iNode, const OutputPixelType &iValue) override |
double | Solve (OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNeighbors) const |
virtual void | UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode) override |
virtual void | UpdateValue (OutputImageType *oImage, const NodeType &iValue) override |
virtual | ~FastMarchingImageFilterBase () override |
bool | CheckTopology (OutputImageType *oImage, const NodeType &iNode) override |
void | InitializeOutput (OutputImageType *oImage) override |
Protected Member Functions inherited from itk::FastMarchingBase< TInput, TOutput > | |
FastMarchingBase () | |
void | GenerateData () override |
void | Initialize (OutputDomainType *oDomain) |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual | ~FastMarchingBase () override |
Additional Inherited Members | |
Protected Types inherited from itk::FastMarchingBase< TInput, TOutput > | |
typedef std::vector< NodePairType > | HeapContainerType |
typedef std::greater < NodePairType > | NodeComparerType |
typedef std::priority_queue < NodePairType, HeapContainerType, NodeComparerType > | PriorityQueueType |
typedef ConnectedComponentImageType::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImagePointer |
Definition at line 123 of file itkFastMarchingImageFilterBase.h.
typedef Image< unsigned int, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImageType |
Definition at line 122 of file itkFastMarchingImageFilterBase.h.
typedef SmartPointer< const Self > itk::FastMarchingImageFilterBase< TInput, TOutput >::ConstPointer |
Definition at line 82 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::InputDomainPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImagePointer |
Definition at line 94 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::InputDomainType itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImageType |
Definition at line 90 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::InputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::InputPixelType |
Definition at line 95 of file itkFastMarchingImageFilterBase.h.
typedef FixedArray< InternalNodeStructure, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::InternalNodeStructureArray |
Definition at line 128 of file itkFastMarchingImageFilterBase.h.
typedef LabelImageType::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImagePointer |
Definition at line 119 of file itkFastMarchingImageFilterBase.h.
typedef Image< unsigned char, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImageType |
Definition at line 118 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::LabelType itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelType |
Definition at line 113 of file itkFastMarchingImageFilterBase.h.
typedef NeighborhoodIterator<LabelImageType> itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodIteratorType |
Definition at line 125 of file itkFastMarchingImageFilterBase.h.
typedef NeighborhoodIteratorType::RadiusType itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodRadiusType |
Definition at line 126 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairContainerConstIterator itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerConstIterator |
Definition at line 111 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairContainerPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerPointer |
Definition at line 109 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairContainerType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerType |
Definition at line 108 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairType |
Definition at line 107 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodeType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodeType |
Definition at line 106 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::DirectionType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputDirectionType |
Definition at line 104 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::OutputDomainPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImagePointer |
Definition at line 98 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::OutputDomainType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImageType |
Definition at line 97 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::OutputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPixelType |
Definition at line 99 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::PointType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPointType |
Definition at line 103 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::RegionType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputRegionType |
Definition at line 102 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::SizeType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSizeType |
Definition at line 101 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::SpacingType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSpacingType |
Definition at line 100 of file itkFastMarchingImageFilterBase.h.
typedef SmartPointer< Self > itk::FastMarchingImageFilterBase< TInput, TOutput >::Pointer |
Definition at line 81 of file itkFastMarchingImageFilterBase.h.
typedef FastMarchingImageFilterBase itk::FastMarchingImageFilterBase< TInput, TOutput >::Self |
Definition at line 79 of file itkFastMarchingImageFilterBase.h.
typedef FastMarchingBase< TInput, TOutput > itk::FastMarchingImageFilterBase< TInput, TOutput >::Superclass |
Definition at line 80 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::Traits itk::FastMarchingImageFilterBase< TInput, TOutput >::Traits |
Definition at line 83 of file itkFastMarchingImageFilterBase.h.
|
protected |
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Make sure the given node does not violate any topological constraint
Implements itk::FastMarchingBase< TInput, TOutput >.
virtual::itk::LightObject::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::CreateAnother | ( | ) | const |
|
protected |
|
protected |
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Generate the output image meta information.
Reimplemented in itk::FastMarchingExtensionImageFilterBase< TInput, TOutput, TAuxValue, VAuxDimension >.
|
protected |
Find the nodes were the front will propagate given a node
|
virtual |
|
overrideprotectedvirtual |
Returns the label value for a given node
Implements itk::FastMarchingBase< TInput, TOutput >.
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::FastMarchingExtensionImageFilterBase< TInput, TOutput, TAuxValue, VAuxDimension >, and itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
inlinevirtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
Definition at line 144 of file itkFastMarchingImageFilterBase.h.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
overrideprotectedvirtual |
Returns the output value for a given node
Implements itk::FastMarchingBase< TInput, TOutput >.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
overrideprotectedvirtual |
Get the total number of nodes in the domain.
Implements itk::FastMarchingBase< TInput, TOutput >.
|
protected |
|
protected |
|
overrideprotectedvirtual |
Make sure the given node does not violate any topological constraint
Implements itk::FastMarchingBase< TInput, TOutput >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
Method for creation through the object factory.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
overrideprotected |
|
overrideprotectedvirtual |
Set the label value for a given node
Implements itk::FastMarchingBase< TInput, TOutput >.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
inlinevirtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
Definition at line 142 of file itkFastMarchingImageFilterBase.h.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
overrideprotectedvirtual |
Set the output value (front value) for a given node.
Implements itk::FastMarchingBase< TInput, TOutput >.
|
virtual |
The output largeset possible, spacing and origin is computed as follows. If the speed image is ITK_NULLPTR or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not ITK_NULLPTR, the output information is copied from the input speed image.
|
protected |
Solve the quadratic equation
|
overrideprotectedvirtual |
Update values for the neighbors of a given node
Implements itk::FastMarchingBase< TInput, TOutput >.
|
overrideprotectedvirtual |
Update value for a given node
Implements itk::FastMarchingBase< TInput, TOutput >.
|
static |
Definition at line 115 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 167 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 248 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 249 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 183 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 255 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 182 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 169 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 174 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 172 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 171 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 173 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 175 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 240 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 239 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 168 of file itkFastMarchingImageFilterBase.h.