ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkFastMarchingImageFilterBase.h>
Fast Marching Method on 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.
TTraits | traits |
Definition at line 72 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 | 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 () |
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 () |
Private Member Functions | |
FastMarchingImageFilterBase (const Self &) | |
void | operator= (const Self &) |
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 < NodeType, HeapContainerType, NodeComparerType > | PriorityQueueType |
typedef ConnectedComponentImageType::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImagePointer |
Definition at line 120 of file itkFastMarchingImageFilterBase.h.
typedef Image< unsigned int, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImageType |
Definition at line 119 of file itkFastMarchingImageFilterBase.h.
typedef SmartPointer< const Self > itk::FastMarchingImageFilterBase< TInput, TOutput >::ConstPointer |
Definition at line 79 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::InputDomainPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImagePointer |
Definition at line 91 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::InputDomainType itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImageType |
Definition at line 87 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::InputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::InputPixelType |
Definition at line 92 of file itkFastMarchingImageFilterBase.h.
typedef FixedArray< InternalNodeStructure, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::InternalNodeStructureArray |
Definition at line 125 of file itkFastMarchingImageFilterBase.h.
typedef LabelImageType::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImagePointer |
Definition at line 116 of file itkFastMarchingImageFilterBase.h.
typedef Image< unsigned char, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImageType |
Definition at line 115 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::LabelType itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelType |
Definition at line 110 of file itkFastMarchingImageFilterBase.h.
typedef NeighborhoodIterator<LabelImageType> itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodIteratorType |
Definition at line 122 of file itkFastMarchingImageFilterBase.h.
typedef NeighborhoodIteratorType::RadiusType itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodRadiusType |
Definition at line 123 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairContainerConstIterator itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerConstIterator |
Definition at line 108 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairContainerPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerPointer |
Definition at line 106 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairContainerType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerType |
Definition at line 105 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodePairType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairType |
Definition at line 104 of file itkFastMarchingImageFilterBase.h.
typedef Traits::NodeType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodeType |
Definition at line 103 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::DirectionType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputDirectionType |
Definition at line 101 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::OutputDomainPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImagePointer |
Definition at line 95 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::OutputDomainType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImageType |
Definition at line 94 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::OutputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPixelType |
Definition at line 96 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::PointType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPointType |
Definition at line 100 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::RegionType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputRegionType |
Definition at line 99 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::SizeType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSizeType |
Definition at line 98 of file itkFastMarchingImageFilterBase.h.
typedef OutputImageType::SpacingType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSpacingType |
Definition at line 97 of file itkFastMarchingImageFilterBase.h.
typedef SmartPointer< Self > itk::FastMarchingImageFilterBase< TInput, TOutput >::Pointer |
Definition at line 78 of file itkFastMarchingImageFilterBase.h.
typedef FastMarchingImageFilterBase itk::FastMarchingImageFilterBase< TInput, TOutput >::Self |
Definition at line 76 of file itkFastMarchingImageFilterBase.h.
typedef FastMarchingBase< TInput, TOutput > itk::FastMarchingImageFilterBase< TInput, TOutput >::Superclass |
Definition at line 77 of file itkFastMarchingImageFilterBase.h.
typedef Superclass::Traits itk::FastMarchingImageFilterBase< TInput, TOutput >::Traits |
Definition at line 80 of file itkFastMarchingImageFilterBase.h.
|
protected |
Constructor
|
protectedvirtual |
Destructor
|
private |
|
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 141 of file itkFastMarchingImageFilterBase.h.
References itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputRegion.
|
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 |
Functions and variables to check for topology changes (2D/3D only).
|
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.
|
private |
|
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.
|
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 139 of file itkFastMarchingImageFilterBase.h.
References itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputRegion.
|
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 112 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 164 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 180 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 255 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 179 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 166 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 171 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 169 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 168 of file itkFastMarchingImageFilterBase.h.
Referenced by itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputSize(), and itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputSize().
|
protected |
Definition at line 170 of file itkFastMarchingImageFilterBase.h.
|
protected |
Definition at line 172 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 165 of file itkFastMarchingImageFilterBase.h.