typedef typename Superclass::InputImageType TImage;
typedef std::deque< TVertex > TVertices;
- typedef typename Superclass::TTraits::TVertexCmp TVertexCmp;
- typedef std::map< TVertex, TVertex, TVertexCmp > TTree;
+ typedef unsigned short TMark;
+ typedef itk::Image< TMark, I::ImageDimension > TMarkImage;
+
+ typedef typename Superclass::TTraits::TVertexCmp TVertexCmp;
+ typedef std::pair< TVertex, TMark > TTreeNode;
+ typedef std::map< TVertex, TTreeNode, TVertexCmp > TTree;
typedef typename Superclass::TEndEvent TEndEvent;
typedef typename Superclass::TBacktrackingEvent TBacktrackingEvent;
itkNewMacro( Self );
itkTypeMacro( DijkstraWithSphereBacktracking, Dijkstra );
- itkGetConstMacro( FinalTree, TTree );
+ itkGetConstMacro( FullTree, TTree );
+ itkGetConstMacro( ReducedTree, TTree );
itkGetConstMacro( EndPoints, TVertices );
+ itkGetConstMacro( BifurcationPoints, TVertices );
+ itkGetConstMacro( NumberOfBranches, TMark );
+
+ public:
+ TMarkImage* GetOutputMarkImage( );
+ const TMarkImage* GetOutputMarkImage( ) const;
protected:
DijkstraWithSphereBacktracking( );
protected:
_TCandidates m_Candidates;
- TTree m_FinalTree;
+ TTree m_FullTree;
+ TTree m_ReducedTree;
+ TVertices m_BifurcationPoints;
TVertices m_EndPoints;
+ TMark m_NumberOfBranches;
};
} // ecapseman