Medical Imaging Interaction Toolkit
2024.12.99-0da743f6
Medical Imaging Interaction Toolkit
|
Go to the documentation of this file.
12 #ifndef __itkShortestPathImageFilter_h
13 #define __itkShortestPathImageFilter_h
15 #include "itkImageToImageFilter.h"
18 #include <itkImageRegionIteratorWithIndex.h>
51 template <
class TInputImageType,
class TOutputImageType>
57 typedef ImageToImageFilter<TInputImageType, TOutputImageType>
Superclass;
70 typedef typename TInputImageType::IndexType
IndexType;
81 itkFactorylessNewMacro(
Self);
88 void PrintSelf(std::ostream &os, Indent indent)
const override;
107 itkSetMacro(FullNeighborsMode,
bool);
108 itkGetMacro(FullNeighborsMode,
bool);
112 itkSetMacro(Graph_fullNeighbors,
bool);
116 itkSetMacro(MakeOutputImage,
bool);
117 itkGetMacro(MakeOutputImage,
bool);
120 itkSetMacro(StoreVectorOrder,
bool);
121 itkGetMacro(StoreVectorOrder,
bool);
125 itkSetMacro(CalcAllDistances,
bool);
126 itkGetMacro(CalcAllDistances,
bool);
130 itkSetMacro(ActivateTimeOut,
bool);
131 itkGetMacro(ActivateTimeOut,
bool);
154 itkSetObjectMacro(CostFunction,
162 std::vector<IndexType>
233 #include "itkShortestPathImageFilter.txx"
TInputImageType::Pointer InputImagePointer
OutputImagePointer GetVectorOrderImage()
std::vector< NodeNumType > m_VectorOrder
CostFunctionType::Pointer CostFunctionTypePointer
double getEstimatedCostsToTarget(const IndexType &a)
TOutputImageType::Pointer OutputImagePointer
ShortestPathNode * m_Nodes
OutputImagePointer GetDistanceImage()
void GenerateData() override
NodeNumType m_Graph_StartNode
CostFunctionTypePointer m_CostFunction
std::vector< std::vector< IndexType > > GetMultipleVectorPaths()
ImageRegionIteratorWithIndex< OutputImageType > OutputImageIteratorType
itk::ImageRegionIteratorWithIndex< InputImageType > InputImageIteratorType
SmartPointer< Self > Pointer
bool GetUseCostFunction()
ShortestPathImageFilter()
ShortestPathCostFunction< TInputImageType > CostFunctionType
std::vector< IndexType > m_endPoints
NodeNumType m_Graph_EndNode
TInputImageType::IndexType IndexType
NodeNumType m_Graph_NumberOfNodes
void StartShortestPathSearch()
const static int FOREGROUND
~ShortestPathImageFilter() override
InputImageType::Pointer m_magnitudeImage
bool operator()(ShortestPathNode *a, ShortestPathNode *b)
void SetUseCostFunction(bool doUseCostFunction)
TInputImageType InputImageType
TInputImageType::SizeType InputImageSizeType
itk::ShapedNeighborhoodIterator< TInputImageType > itkShapedNeighborhoodIteratorType
unsigned int CoordToNode(IndexType)
TOutputImageType::PixelType OutputImagePixelType
TOutputImageType OutputImageType
SmartPointer< const Self > ConstPointer
std::vector< IndexType > m_VectorPath
std::vector< IndexType > GetVectorPath()
TInputImageType::IndexType NodeToCoord(NodeNumType)
const static int BACKGROUND
void SetEndIndex(const IndexType &EndIndex)
void AddEndIndex(const IndexType &index)
std::vector< IndexType > m_endPointsClosed
ImageToImageFilter< TInputImageType, TOutputImageType > Superclass
void PrintSelf(std::ostream &os, Indent indent) const override
bool m_Graph_fullNeighbors
std::vector< ShortestPathNode * > m_Graph_DiscoveredNodeList
std::vector< ShortestPathNode * > GetNeighbors(NodeNumType nodeNum, bool FullNeighbors)
void MakeShortestPathVector()
ShortestPathImageFilter Self
void SetStartIndex(const IndexType &StartIndex)
TInputImageType::PixelType InputImagePixelType
std::vector< std::vector< IndexType > > m_MultipleVectorPaths
TOutputImageType::IndexType OutputImageIndexType
void operator=(const Self &)
bool CoordIsInBounds(IndexType)