ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkArrivalFunctionToPathFilter.h>
Extracts a path from a Fast Marching arrival function.
This filter extracts the geodesic (minimal) path between the given end-point and a start-point (which is implicitly embedded in the given arrival function). The path is extracted by back-propagating perpendicular to the Fast Marching front from the end-point to the global minimum of the arrival function (ie. the start-point). A step-wise optimizer is used to perform the back-propagation.
The user must provide the following:
A cost function optimizer may also be provided. If an optimizer is not given, a RegularStepGradientDescentOptimizer is created with default settings. The optimizer is responsible for tracking from the given end-point to the embedded start-point. This filter listens for the optimizer Iteration event and stores the current position as a point in the current path. Therefore, only step-wise optimizers (which report their intermediate position at each iteration) are suitable for extracting the path. Current suitable optimizers include: RegularStepGradientDescentOptimizer, GradientDescentOptimizer, and IterateNeighborhoodOptimizer.
The TerminationValue parameter prevents unwanted oscillations when closing in on the start-point. The optimizer is terminated when the current arrival value is less than TerminationValue; the smaller the value, the closer the path will get to the start-point. The default is 1.0. It is recommended that your optimizer has a small step size when TerminationValue is small.
This filter is based on the methods described in: [1] J. Sethian. Level Set Methods and Fast Marching Methods, chapter 20. Cambridge Press, 2nd edition, 1999. [2] J. Andrews and J. Sethian. Fast marching methods for the continuous traveling salesman problem. Proceedings of the National Academy of Sciences (PNAS), 104(4):1118/1123, 2007.
Definition at line 145 of file itkArrivalFunctionToPathFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::PathSource< TOutputPath > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | InputImageDimension = InputImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToPathFilter< TInputImage, TOutputPath > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
Protected Attributes | |
CostFunctionType::Pointer | m_CostFunction |
unsigned int | m_CurrentOutput |
OptimizerType::Pointer | m_Optimizer |
std::vector< PointType > | m_PointList |
OptimizerType::MeasureType | m_TerminationValue |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
Private Member Functions | |
ArrivalFunctionToPathFilter (const Self &) | |
void | operator= (const Self &) |
typedef ArrivalFunctionToPathCommand< Self > itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::CommandType |
Definition at line 181 of file itkArrivalFunctionToPathFilter.h.
typedef SmartPointer<const Self> itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::ConstPointer |
Definition at line 153 of file itkArrivalFunctionToPathFilter.h.
typedef ContinuousIndex< double, InputImageDimension > itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::ContinuousIndexType |
Definition at line 179 of file itkArrivalFunctionToPathFilter.h.
typedef SingleImageCostFunction< InputImageType > itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::CostFunctionType |
Definition at line 182 of file itkArrivalFunctionToPathFilter.h.
typedef RegularStepGradientDescentOptimizer itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::DefaultOptimizerType |
Definition at line 184 of file itkArrivalFunctionToPathFilter.h.
typedef Index< InputImageDimension > itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::IndexType |
Some convenient typedefs.
Definition at line 178 of file itkArrivalFunctionToPathFilter.h.
typedef InputImageType::ConstPointer itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::InputImageConstPointer |
Definition at line 164 of file itkArrivalFunctionToPathFilter.h.
typedef InputImageType::PixelType itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::InputImagePixelType |
Definition at line 166 of file itkArrivalFunctionToPathFilter.h.
typedef InputImageType::Pointer itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::InputImagePointer |
Definition at line 163 of file itkArrivalFunctionToPathFilter.h.
typedef InputImageType::RegionType itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::InputImageRegionType |
Definition at line 165 of file itkArrivalFunctionToPathFilter.h.
typedef TInputImage itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::InputImageType |
Some image typedefs.
Definition at line 159 of file itkArrivalFunctionToPathFilter.h.
typedef SingleValuedNonLinearOptimizer itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::OptimizerType |
Definition at line 183 of file itkArrivalFunctionToPathFilter.h.
typedef OutputPathType::ConstPointer itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::OutputPathConstPointer |
Definition at line 171 of file itkArrivalFunctionToPathFilter.h.
typedef OutputPathType::Pointer itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::OutputPathPointer |
Definition at line 170 of file itkArrivalFunctionToPathFilter.h.
typedef TOutputPath itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::OutputPathType |
Some path typedefs.
Definition at line 169 of file itkArrivalFunctionToPathFilter.h.
typedef SmartPointer<Self> itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::Pointer |
Definition at line 152 of file itkArrivalFunctionToPathFilter.h.
typedef Point< double, InputImageDimension > itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::PointType |
Definition at line 180 of file itkArrivalFunctionToPathFilter.h.
typedef ArrivalFunctionToPathFilter itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::Self |
Standard class typedefs.
Definition at line 150 of file itkArrivalFunctionToPathFilter.h.
typedef ImageToPathFilter<TInputImage,TOutputPath> itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >::Superclass |
Definition at line 151 of file itkArrivalFunctionToPathFilter.h.
|
protected |
|
protected |
|
private |
|
virtual |
Adds the given point to the list.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
virtual |
Clear the list of end points.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
protectedvirtual |
Compute the arrival function from which to extract the path. In this case it is simply the filter input.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
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::PathSource< TOutputPath >.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
virtual |
Handle optimizer iteration events.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
protectedvirtual |
Implemention of algorithm
Reimplemented from itk::ProcessObject.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
protectedvirtual |
Override since the filter needs all the data for the algorithm
Reimplemented from itk::ProcessObject.
|
virtual |
Get/set the cost function. The filter (not the user) is responsible for connecting the arrival function to the cost function.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToPathFilter< TInputImage, TOutputPath >.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
protectedvirtual |
Get the next end point from which to back propagate.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
protectedvirtual |
Get the arrival function from which to extract the path.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
virtual |
Get/set the Optimizer.
|
virtual |
Get/set the termination. Once the current optimizer value falls below TerminationValue, no further points will be appended to the path. The default value is 0.0.
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToPathFilter< TInputImage, TOutputPath >.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
virtual |
Get/set the cost function. The filter (not the user) is responsible for connecting the arrival function to the cost function.
|
virtual |
Get/set the Optimizer.
|
virtual |
Clears the list of end points and adds the given point to the list.
Reimplemented in itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >.
|
virtual |
Get/set the termination. Once the current optimizer value falls below TerminationValue, no further points will be appended to the path. The default value is 0.0.
|
static |
ImageDimension constants.
Definition at line 175 of file itkArrivalFunctionToPathFilter.h.
|
protected |
Definition at line 237 of file itkArrivalFunctionToPathFilter.h.
|
protected |
Definition at line 241 of file itkArrivalFunctionToPathFilter.h.
|
protected |
Definition at line 238 of file itkArrivalFunctionToPathFilter.h.
|
protected |
Definition at line 240 of file itkArrivalFunctionToPathFilter.h.
|
protected |
Definition at line 239 of file itkArrivalFunctionToPathFilter.h.