ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkFastMarchingImageFilter.h>
Solve an Eikonal equation using Fast Marching.
Fast marching solves an Eikonal equation where the speed is always non-negative and depends on the position only. Starting from an initial position on the front, fast marching systematically moves the front forward one grid point at a time.
Updates are preformed using an entropy satisfy scheme where only "upwind" neighborhoods are used. This implementation of Fast Marching uses a std::priority_queue to locate the next proper grid position to update.
Fast Marching sweeps through N grid points in (N log N) steps to obtain the arrival time value as the front propagates through the grid.
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.
This class is templated over the level set image type and the speed image type. The initial front is specified by two containers: one containing the known points and one containing the trial points. Alive points are those that are already part of the object, and trial points are considered for inclusion. In order for the filter to evolve, at least some trial points must be specified. These can for instance be specified as the layer of pixels around the alive points.
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 NULL, 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 in an approximate distance function from the initial alive points. FastMarchingImageFilter is used in the ReinitializeLevelSetImageFilter object to create a signed distance function from the zero level set.
The algorithm can be terminated early by setting an appropriate stopping value. The algorithm terminates when the current arrival time being processed is greater than the stopping value.
There are two ways to specify the output image information ( LargestPossibleRegion, Spacing, Origin): (a) it is copied directly from the input speed image or (b) it is specified by the user. Default values are used if the user does not specify all the information.
The output information is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is set to 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 NULL, the output information is copied from the input speed image.
Possible Improvements: In the current implemenation, std::priority_queue only allows taking nodes out from the front and putting nodes in from the back. To update a value already on the heap, a new node is added to the heap. The defunct old node is left on the heap. When it is removed from the top, it will be recognized as invalid and not used. Future implementations can implement the heap in a different way allowing the values to be updated. This will generally require some sift-up and sift-down functions and an image of back-pointers going from the image to heap in order to locate the node which is to be updated.
Definition at line 105 of file itkFastMarchingImageFilter.h.
typedef SmartPointer< const Self > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 113 of file itkFastMarchingImageFilter.h.
typedef std::vector< AxisNodeType > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::HeapContainer [private] |
Trial points are stored in a min-heap. This allow efficient access to the trial point with minimum value which is the next grid point the algorithm processes.
Definition at line 405 of file itkFastMarchingImageFilter.h.
typedef std::priority_queue< AxisNodeType, HeapContainer, NodeComparer > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::HeapType [private] |
Definition at line 408 of file itkFastMarchingImageFilter.h.
typedef Index< itkGetStaticConstMacro(SetDimension) > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::IndexType |
Index typedef support.
Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 162 of file itkFastMarchingImageFilter.h.
typedef LabelImageType::Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LabelImagePointer |
LabelImagePointer typedef support.
Definition at line 175 of file itkFastMarchingImageFilter.h.
typedef Image< unsigned char, itkGetStaticConstMacro(SetDimension) > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LabelImageType |
LabelImage typedef support.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 172 of file itkFastMarchingImageFilter.h.
typedef LevelSetType::LevelSetImageType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetImageType |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 123 of file itkFastMarchingImageFilter.h.
typedef LevelSetImageType::IndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetIndexType [protected] |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 370 of file itkFastMarchingImageFilter.h.
typedef LevelSetType::LevelSetPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetPointer |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 124 of file itkFastMarchingImageFilter.h.
typedef LevelSetTypeDefault< TLevelSet > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetType |
Typedef support of level set method types.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 119 of file itkFastMarchingImageFilter.h.
typedef std::greater< AxisNodeType > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeComparer [private] |
Definition at line 406 of file itkFastMarchingImageFilter.h.
typedef LevelSetType::NodeContainer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeContainer |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 128 of file itkFastMarchingImageFilter.h.
typedef LevelSetType::NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeContainerPointer |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 129 of file itkFastMarchingImageFilter.h.
typedef NodeType::IndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeIndexType |
Definition at line 127 of file itkFastMarchingImageFilter.h.
typedef LevelSetType::NodeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeType |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 126 of file itkFastMarchingImageFilter.h.
typedef LevelSetImageType::DirectionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputDirectionType |
Definition at line 133 of file itkFastMarchingImageFilter.h.
typedef LevelSetImageType::PointType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputPointType |
Definition at line 134 of file itkFastMarchingImageFilter.h.
typedef LevelSetImageType::RegionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputRegionType |
Definition at line 131 of file itkFastMarchingImageFilter.h.
typedef LevelSetImageType::SizeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputSizeType |
Definition at line 130 of file itkFastMarchingImageFilter.h.
typedef LevelSetImageType::SpacingType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputSpacingType |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 132 of file itkFastMarchingImageFilter.h.
typedef LevelSetType::PixelType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::PixelType |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 125 of file itkFastMarchingImageFilter.h.
typedef SmartPointer< Self > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 112 of file itkFastMarchingImageFilter.h.
typedef FastMarchingImageFilter itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Self |
Standard class typdedefs.
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 110 of file itkFastMarchingImageFilter.h.
typedef SpeedImageType::ConstPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImageConstPointer |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
Definition at line 152 of file itkFastMarchingImageFilter.h.
typedef SpeedImageType::Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImagePointer |
SpeedImagePointer typedef support.
Definition at line 151 of file itkFastMarchingImageFilter.h.
typedef TSpeedImage itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImageType |
SpeedImage typedef support.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 148 of file itkFastMarchingImageFilter.h.
typedef ImageSource< TLevelSet > itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 111 of file itkFastMarchingImageFilter.h.
enum itk::FastMarchingImageFilter::LabelType |
Enum of Fast Marching algorithm point types. FarPoints represent far away points; TrialPoints represent points within a narrowband of the propagating front; and AlivePoints represent points which have already been processed.
Definition at line 168 of file itkFastMarchingImageFilter.h.
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::FastMarchingImageFilter | ( | ) | [protected] |
End concept checking
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::~FastMarchingImageFilter | ( | ) | [inline, protected] |
End concept checking
Definition at line 341 of file itkFastMarchingImageFilter.h.
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::FastMarchingImageFilter | ( | const Self & | ) | [private] |
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::CollectPointsOff | ( | ) | [virtual] |
Get thConste Collect Points flag.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::CollectPointsOn | ( | ) | [virtual] |
Get thConste Collect Points flag.
virtual::itk::LightObject::Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::EnlargeOutputRequestedRegion | ( | DataObject * | ) | [protected, virtual] |
Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GenerateData | ( | void | ) | [protected, virtual] |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GenerateOutputInformation | ( | ) | [protected, virtual] |
Generate the output image meta information.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetAlivePoints | ( | ) | [inline] |
Get the container of Alive Points representing the initial front.
Definition at line 227 of file itkFastMarchingImageFilter.h.
virtual const bool& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetCollectPoints | ( | ) | [virtual] |
Get thConste Collect Points flag.
LabelImagePointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetLabelImage | ( | ) | const [inline] |
Get the point type label image.
Definition at line 248 of file itkFastMarchingImageFilter.h.
virtual const PixelType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetLargeValue | ( | ) | [protected, virtual] |
Get Large Value. This value is used to represent the concept of infinity for the time assigned to pixels that have not been visited. This value is set by default to half the max() of the pixel type used to represent the time-crossing map.
virtual const LevelSetIndexType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetLastIndex | ( | ) | [protected, virtual] |
virtual const char* itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
const AxisNodeType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNodeUsedInCalculation | ( | unsigned int | idx | ) | const [inline, protected] |
Definition at line 353 of file itkFastMarchingImageFilter.h.
virtual double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNormalizationFactor | ( | ) | const [virtual] |
virtual const OutputDirectionType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputDirection | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual const OutputPointType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputOrigin | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual const OutputRegionType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputRegion | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual OutputSizeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputSize | ( | ) | const [inline, virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
Definition at line 311 of file itkFastMarchingImageFilter.h.
virtual const OutputSpacingType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputSpacing | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual const bool& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOverrideOutputInformation | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetProcessedPoints | ( | ) | const [inline] |
Get the container of Processed Points. If the CollectPoints flag is set, the algorithm collects a container of all processed nodes. This is useful for defining creating Narrowbands for level set algorithms that supports narrow banding.
Definition at line 298 of file itkFastMarchingImageFilter.h.
virtual const double& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetSpeedConstant | ( | ) | [virtual] |
Get the Speed Constant.
virtual const LevelSetIndexType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetStartIndex | ( | ) | [protected, virtual] |
virtual const double& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetStoppingValue | ( | ) | [virtual] |
Get the Fast Marching algorithm Stopping Value.
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetTrialPoints | ( | ) | [inline] |
Get the container of Trial Points representing the initial front.
Definition at line 242 of file itkFastMarchingImageFilter.h.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Initialize | ( | LevelSetImageType * | ) | [protected, virtual] |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
static Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::operator= | ( | const Self & | ) | [private] |
PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OverrideOutputInformationOff | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OverrideOutputInformationOn | ( | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
End concept checking
Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetAlivePoints | ( | NodeContainer * | points | ) | [inline] |
Set the container of Alive Points representing the initial front. Alive points are represented as a VectorContainer of LevelSetNodes.
Definition at line 219 of file itkFastMarchingImageFilter.h.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetBinaryMask | ( | Image< TPixel, SetDimension > * | iImage | ) | [inline] |
Definition at line 178 of file itkFastMarchingImageFilter.h.
References itk::ImageBase< VImageDimension >::GetLargestPossibleRegion(), itk::ImageConstIteratorWithIndex< TImage >::GoToBegin(), itk::LevelSetNode< TPixel, VSetDimension >::SetIndex(), and itk::LevelSetNode< TPixel, VSetDimension >::SetValue().
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetCollectPoints | ( | bool | _arg | ) | [virtual] |
Set the Collect Points flag. Instrument the algorithm to collect a container of all nodes which it has visited. Useful for creating Narrowbands for level set algorithms that supports narrow banding.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetNormalizationFactor | ( | double | _arg | ) | [virtual] |
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputDirection | ( | OutputDirectionType | _arg | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputOrigin | ( | OutputPointType | _arg | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputRegion | ( | OutputRegionType | _arg | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputSize | ( | const OutputSizeType & | size | ) | [inline, virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
Definition at line 309 of file itkFastMarchingImageFilter.h.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputSpacing | ( | OutputSpacingType | _arg | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutsidePoints | ( | NodeContainer * | points | ) | [inline] |
Set the container of points that are not meant to be evaluated.
Definition at line 210 of file itkFastMarchingImageFilter.h.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOverrideOutputInformation | ( | bool | _arg | ) | [virtual] |
The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL 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 NULL, the output information is copied from the input speed image.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetSpeedConstant | ( | double | value | ) | [inline] |
Set the Speed Constant. If the Speed Image is NULL, the SpeedConstant value is used for the whole level set. By default, the SpeedConstant is set to 1.0.
Definition at line 256 of file itkFastMarchingImageFilter.h.
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetStoppingValue | ( | double | _arg | ) | [virtual] |
Set the Fast Marching algorithm Stopping Value. The Fast Marching algorithm is terminated when the value of the smallest trial point is greater than the stopping value.
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetTrialPoints | ( | NodeContainer * | points | ) | [inline] |
Set the container of Trial Points representing the initial front. Trial points are represented as a VectorContainer of LevelSetNodes.
Definition at line 234 of file itkFastMarchingImageFilter.h.
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::typedef | ( | Concept::SameDimension< SetDimension, SpeedImageDimension > | ) |
Begin concept checking This class requires SameDimensionCheck in the form of ( Concept::SameDimension< SetDimension, SpeedImageDimension > )
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::typedef | ( | Concept::Convertible< typename TSpeedImage::PixelType, double > | ) |
This class requires SpeedConvertibleToDoubleCheck in the form of ( Concept::Convertible< typename TSpeedImage::PixelType, double > )
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::typedef | ( | Concept::Convertible< double, PixelType > | ) |
This class requires DoubleConvertibleToLevelSetCheck in the form of ( Concept::Convertible< double, PixelType > )
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::typedef | ( | Concept::OStreamWritable< PixelType > | ) |
This class requires LevelSetOStreamWritableCheck in the form of ( Concept::OStreamWritable< PixelType > )
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::UpdateNeighbors | ( | const IndexType & | index, |
const SpeedImageType * | , | ||
LevelSetImageType * | |||
) | [protected, virtual] |
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.
virtual double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::UpdateValue | ( | const IndexType & | index, |
const SpeedImageType * | , | ||
LevelSetImageType * | |||
) | [protected, virtual] |
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_AlivePoints [private] |
Definition at line 380 of file itkFastMarchingImageFilter.h.
OutputRegionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_BufferedRegion [protected] |
Definition at line 367 of file itkFastMarchingImageFilter.h.
bool itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_CollectPoints [private] |
Definition at line 390 of file itkFastMarchingImageFilter.h.
double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_InverseSpeed [private] |
Definition at line 387 of file itkFastMarchingImageFilter.h.
LabelImagePointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_LabelImage [private] |
Definition at line 384 of file itkFastMarchingImageFilter.h.
LevelSetImageType::PixelType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_LargeValue [private] |
Definition at line 399 of file itkFastMarchingImageFilter.h.
LevelSetIndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_LastIndex [protected] |
Definition at line 372 of file itkFastMarchingImageFilter.h.
AxisNodeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_NodesUsed[SetDimension] [private] |
Definition at line 400 of file itkFastMarchingImageFilter.h.
double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_NormalizationFactor [private] |
Definition at line 412 of file itkFastMarchingImageFilter.h.
OutputDirectionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_OutputDirection [private] |
Definition at line 396 of file itkFastMarchingImageFilter.h.
OutputPointType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_OutputOrigin [private] |
Definition at line 394 of file itkFastMarchingImageFilter.h.
OutputRegionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_OutputRegion [private] |
Definition at line 393 of file itkFastMarchingImageFilter.h.
OutputSpacingType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_OutputSpacing [private] |
Definition at line 395 of file itkFastMarchingImageFilter.h.
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_OutsidePoints [private] |
Definition at line 382 of file itkFastMarchingImageFilter.h.
bool itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_OverrideOutputInformation [private] |
Definition at line 397 of file itkFastMarchingImageFilter.h.
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_ProcessedPoints [private] |
Definition at line 391 of file itkFastMarchingImageFilter.h.
double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_SpeedConstant [private] |
Definition at line 386 of file itkFastMarchingImageFilter.h.
LevelSetIndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_StartIndex [protected] |
Definition at line 371 of file itkFastMarchingImageFilter.h.
double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_StoppingValue [private] |
Definition at line 388 of file itkFastMarchingImageFilter.h.
HeapType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_TrialHeap [private] |
Definition at line 410 of file itkFastMarchingImageFilter.h.
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_TrialPoints [private] |
Definition at line 381 of file itkFastMarchingImageFilter.h.
const unsigned int itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetDimension = LevelSetType::SetDimension [static] |
Dimension of the level set and the speed image.
Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >, and itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.
Definition at line 156 of file itkFastMarchingImageFilter.h.
const unsigned int itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImageDimension = SpeedImageType::ImageDimension [static] |
Dimension of the level set and the speed image.
Definition at line 158 of file itkFastMarchingImageFilter.h.