ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkSpeedFunctionToPathFilter.h>
Extracts a path from a speed function between a start point and end point, which also passes near the given way points.
This filter propagates a number of Fast Marching fronts using the given speed image to facilitate the path extraction. For each end- and way-point, a Fast Marching arrival function is computed. The minimal path is extracted for each segment and concatenated to obtain the total path between the start- and end-points, while passing near the given way-points.
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. Other suitable optimizers include GradientDescentOptimizer and IterateNeighborhoodOptimizer. See itkArrivalFunctionToPathFilter.h for more details.
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 66 of file itkSpeedFunctionToPathFilter.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | ContinuousIndexType = typename Superclass::ContinuousIndexType |
using | CostFunctionType = typename Superclass::CostFunctionType |
using | IndexType = typename Superclass::IndexType |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OptimizerType = typename Superclass::OptimizerType |
using | OutputPathConstPointer = typename OutputPathType::ConstPointer |
using | OutputPathPointer = typename OutputPathType::Pointer |
using | OutputPathType = TOutputPath |
using | PathInformationType = SpeedFunctionPathInformation< PointType > |
using | Pointer = SmartPointer< Self > |
using | PointsContainerType = typename PathInformationType::PointsContainerType |
using | PointType = typename Superclass::PointType |
using | Self = SpeedFunctionToPathFilter |
using | Superclass = ArrivalFunctionToPathFilter< TInputImage, TOutputPath > |
Public Types inherited from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath > | |
using | CommandType = ArrivalFunctionToPathCommand< Self > |
using | ConstPointer = SmartPointer< const Self > |
using | ContinuousIndexType = ContinuousIndex< double, InputImageDimension > |
using | CostFunctionType = SingleImageCostFunction< InputImageType > |
using | DefaultOptimizerType = RegularStepGradientDescentOptimizer |
using | IndexType = Index< InputImageDimension > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | OptimizerType = SingleValuedNonLinearOptimizer |
using | OutputPathConstPointer = typename OutputPathType::ConstPointer |
using | OutputPathPointer = typename OutputPathType::Pointer |
using | OutputPathType = TOutputPath |
using | Pointer = SmartPointer< Self > |
using | PointsContainerType = std::vector< PointType > |
using | PointType = Point< double, InputImageDimension > |
using | Self = ArrivalFunctionToPathFilter |
using | Superclass = ImageToPathFilter< TInputImage, TOutputPath > |
Public Types inherited from itk::ImageToPathFilter< TInputImage, TOutputPath > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | Pointer = SmartPointer< Self > |
using | Self = ImageToPathFilter |
using | Superclass = PathSource< TOutputPath > |
Public Types inherited from itk::PathSource< TOutputPath > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectPointer = DataObject::Pointer |
using | OutputPathIndexType = typename OutputPathType::IndexType |
using | OutputPathInputType = typename OutputPathType::InputType |
using | OutputPathOffsetType = typename OutputPathType::OffsetType |
using | OutputPathOutputType = typename OutputPathType::OutputType |
using | OutputPathPointer = typename OutputPathType::Pointer |
using | OutputPathType = TOutputPath |
using | Pointer = SmartPointer< Self > |
using | Self = PathSource |
using | Superclass = ProcessObject |
using | DataObjectPointerArraySizeType = ProcessObject::DataObjectPointerArraySizeType |
Public Types inherited from itk::ProcessObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector< DataObjectIdentifierType > |
using | Pointer = SmartPointer< Self > |
using | Self = ProcessObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath > | |
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 constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath > | |
static constexpr unsigned int | InputImageDimension = InputImageType::ImageDimension |
Static Public Attributes inherited from itk::ImageToPathFilter< TInputImage, TOutputPath > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
Protected Attributes | |
InputImagePointer | m_CurrentArrivalFunction |
std::vector< typename PathInformationType::Pointer > | m_Information |
Protected Attributes inherited from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath > | |
CostFunctionType::Pointer | m_CostFunction |
unsigned int | m_CurrentOutput |
OptimizerType::Pointer | m_Optimizer |
std::vector< PointsContainerType > | m_PointList |
OptimizerType::MeasureType | m_TerminationValue |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::ConstPointer = SmartPointer<const Self> |
Definition at line 76 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::ContinuousIndexType = typename Superclass::ContinuousIndexType |
Some convenient type alias.
Definition at line 100 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::CostFunctionType = typename Superclass::CostFunctionType |
Definition at line 103 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::IndexType = typename Superclass::IndexType |
Definition at line 101 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::InputImageConstPointer = typename InputImageType::ConstPointer |
Definition at line 90 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::InputImagePixelType = typename InputImageType::PixelType |
Definition at line 92 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::InputImagePointer = typename InputImageType::Pointer |
Definition at line 89 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::InputImageRegionType = typename InputImageType::RegionType |
Definition at line 91 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::InputImageType = TInputImage |
Some image type alias.
Definition at line 88 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::OptimizerType = typename Superclass::OptimizerType |
Definition at line 104 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::OutputPathConstPointer = typename OutputPathType::ConstPointer |
Definition at line 97 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::OutputPathPointer = typename OutputPathType::Pointer |
Definition at line 96 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::OutputPathType = TOutputPath |
Some path type alias.
Definition at line 95 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::PathInformationType = SpeedFunctionPathInformation<PointType> |
Path information type alias.
Definition at line 107 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::Pointer = SmartPointer<Self> |
Definition at line 75 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::PointsContainerType = typename PathInformationType::PointsContainerType |
Definition at line 108 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::PointType = typename Superclass::PointType |
Definition at line 102 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::Self = SpeedFunctionToPathFilter |
Standard class type alias.
Definition at line 73 of file itkSpeedFunctionToPathFilter.h.
using itk::SpeedFunctionToPathFilter< TInputImage, TOutputPath >::Superclass = ArrivalFunctionToPathFilter<TInputImage,TOutputPath> |
Definition at line 74 of file itkSpeedFunctionToPathFilter.h.
|
protected |
|
overrideprotected |
|
inlineoverridevirtual |
Override superclass behaviour. Warning: AddPathEndPoint() is not valid for this filter. This method is provided by the superclass, however it is not used by this subclass. Use AddPathInfo() instead.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
Definition at line 123 of file itkSpeedFunctionToPathFilter.h.
|
inline |
Add a path information object to process. At least one PathInfo object must be added before processing.
Definition at line 139 of file itkSpeedFunctionToPathFilter.h.
|
inlineoverridevirtual |
Override superclass behaviour. Warning: ClearPathEndPoints() is not valid for this filter. This method is provided by the superclass, however it is not used by this subclass. Use ClearPathInfo() instead.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
Definition at line 132 of file itkSpeedFunctionToPathFilter.h.
|
inline |
Clear the list of path information objects.
Definition at line 145 of file itkSpeedFunctionToPathFilter.h.
|
overrideprotectedvirtual |
Compute the arrival function from which to extract the path.
Reimplemented from itk::ArrivalFunctionToPathFilter< 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::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
overridevirtual |
Handle optimizer iteration events.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
overrideprotectedvirtual |
Implemention of algorithm.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
virtual |
access the arrival image for debugging purposes
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
overrideprotectedvirtual |
Override handling of optimizer iteration events to accomodate way points.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
overrideprotectedvirtual |
Get the number of paths which the user has instructed to extracted.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
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::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
|
inlineoverridevirtual |
Override superclass behaviour. Warning: SetPathEndPoint() is not valid for this filter. This method is provided by the superclass, however it is not used by this subclass. Use AddPathInfo() instead.
Reimplemented from itk::ArrivalFunctionToPathFilter< TInputImage, TOutputPath >.
Definition at line 114 of file itkSpeedFunctionToPathFilter.h.
|
static |
ImageDimension constants
Definition at line 85 of file itkSpeedFunctionToPathFilter.h.
|
protected |
Definition at line 174 of file itkSpeedFunctionToPathFilter.h.
|
protected |
Definition at line 173 of file itkSpeedFunctionToPathFilter.h.