]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/Dijkstra.h
...
[FrontAlgorithms.git] / lib / fpa / Image / Dijkstra.h
index 48d7a79b8bf026385a88a35c176033c48439e284..45759cb9c1fa5b9d0cb880dee10068414b2468f0 100644 (file)
@@ -15,23 +15,25 @@ namespace fpa
      * @param I Input image type
      * @param O Output image type
      */
-    template< class I, class O >
+    template< class I, class O = I >
     class Dijkstra
-      : public Algorithm< I, O, fpa::Base::Dijkstra< typename I::IndexType, typename I::PixelType, typename O::PixelType, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > >
+      : public Algorithm< I, O, fpa::Base::Dijkstra< typename I::IndexType, typename I::PixelType, typename O::PixelType, I, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > >
     {
     public:
-      typedef fpa::Base::Dijkstra< typename I::IndexType, typename I::PixelType, typename O::PixelType, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > TBaseAlgorithm;
+      typedef fpa::Base::Dijkstra< typename I::IndexType, typename I::PixelType, typename O::PixelType, I, itk::Functor::IndexLexicographicCompare< I::ImageDimension >, itk::ImageToImageFilter< I, O > > TBaseAlgorithm;
 
       typedef Dijkstra                          Self;
       typedef Algorithm< I, O, TBaseAlgorithm > Superclass;
       typedef itk::SmartPointer< Self >         Pointer;
       typedef itk::SmartPointer< const Self >   ConstPointer;
 
-      typedef typename Superclass::TInputImage  TInputImage;
-      typedef typename Superclass::TOutputImage TOutputImage;
-      typedef typename Superclass::TVertex      TVertex;
-      typedef typename Superclass::TValue       TValue;
-      typedef typename Superclass::TResult      TResult;
+      typedef typename Superclass::TInputImage          TInputImage;
+      typedef typename Superclass::TOutputImage         TOutputImage;
+      typedef typename Superclass::TVertex              TVertex;
+      typedef typename Superclass::TValue               TValue;
+      typedef typename Superclass::TResult              TResult;
+      typedef typename Superclass::TSpace               TSpace;
+      typedef typename Superclass::TMinimumSpanningTree TMinimumSpanningTree;
 
       typedef typename Superclass::TStartEvent     TStartEvent;
       typedef typename Superclass::TStartLoopEvent TStartLoopEvent;