16 #ifndef __itkShortestPathCostFunction_h
17 #define __itkShortestPathCostFunction_h
19 #include "itkObject.h"
20 #include "itkObjectFactory.h"
21 #include "itkShapedNeighborhoodIterator.h"
26 template <
class TInputImageType>
47 typedef typename TInputImageType::IndexType
IndexType;
50 itkSetConstObjectMacro(
Image, TInputImageType);
53 virtual double GetCost(IndexType p1, IndexType p2) = 0;
70 void PrintSelf(std::ostream &os, Indent indent)
const override;
76 void operator=(
const Self &);
itk::SmartPointer< Self > Pointer
TInputImageType ImageType
TInputImageType::Pointer ImagePointer
ShortestPathCostFunction()
TInputImageType::IndexType IndexType
itk::SmartPointer< const Self > ConstPointer
ShortestPathCostFunction Self
ImageConstPointer m_Image
SmartPointer< const Self > ConstPointer
void SetEndIndex(const IndexType &index)
virtual double GetMinCost()=0
TInputImageType::ConstPointer ImageConstPointer
virtual ~ShortestPathCostFunction()
virtual void Initialize()=0
ShapedNeighborhoodIterator< TInputImageType > ShapedNeighborhoodIteratorType
SmartPointer< Self > Pointer
void SetStartIndex(const IndexType &index)
TInputImageType::PixelType PixelType
void PrintSelf(std::ostream &os, Indent indent) const override
virtual double GetCost(IndexType p1, IndexType p2)=0