]> Creatis software - FrontAlgorithms.git/blobdiff - lib/fpa/Image/MarksInterface.h
...
[FrontAlgorithms.git] / lib / fpa / Image / MarksInterface.h
diff --git a/lib/fpa/Image/MarksInterface.h b/lib/fpa/Image/MarksInterface.h
new file mode 100644 (file)
index 0000000..d238d82
--- /dev/null
@@ -0,0 +1,59 @@
+// =========================================================================
+// @author Leonardo Florez Valencia
+// @email florez-l@javeriana.edu.co
+// =========================================================================
+
+#ifndef __fpa__Image__MarksInterface__h__
+#define __fpa__Image__MarksInterface__h__
+
+#include <fpa/Base/MarksInterface.h>
+#include <itkIndex.h>
+#include <itkImage.h>
+
+namespace fpa
+{
+  namespace Image
+  {
+    /**
+     */
+    template< unsigned int _VDim >
+    class MarksInterface
+      : public fpa::Base::MarksInterface< itk::Index< _VDim > >
+    {
+    public:
+      typedef MarksInterface Self;
+      typedef fpa::Base::MarksInterface< itk::Index< _VDim > > Superclass;
+
+      typedef typename Superclass::TVertex        TVertex;
+      typedef typename Superclass::TCollision     TCollision;
+      typedef typename Superclass::TCollisionsRow TCollisionsRow;
+      typedef typename Superclass::TCollisions    TCollisions;
+
+      typedef itk::Image< unsigned long, _VDim > TMarks;
+
+    protected:
+      virtual bool _IsMarked( const TVertex& v ) const override;
+      virtual unsigned long _GetMark( const TVertex& v ) const override;
+      virtual void _Mark( const TVertex& v, unsigned long frontId ) override;
+      virtual void _FreeMarks( ) override;
+      virtual void _InitMarks( unsigned long nSeeds ) override;
+
+    protected:
+      MarksInterface( itk::ProcessObject* filter );
+      virtual ~MarksInterface( );
+
+    private:
+      typename TMarks::Pointer m_Marks;
+    };
+
+  } // ecapseman
+
+} // ecapseman
+
+#ifndef ITK_MANUAL_INSTANTIATION
+#  include <fpa/Image/MarksInterface.hxx>
+#endif // ITK_MANUAL_INSTANTIATION
+
+#endif // __fpa__Image__MarksInterface__h__
+
+// eof - $RCSfile$