]> Creatis software - FrontAlgorithms.git/blobdiff - appli/CTArteries/algorithms/RandomWalkSegmentation.h
...
[FrontAlgorithms.git] / appli / CTArteries / algorithms / RandomWalkSegmentation.h
index 8d5570d20dc3171649c249a05cdd1aeeae9a6293..6644dba3eb251c6e59a3a01c50569d4afca50406 100644 (file)
@@ -71,8 +71,55 @@ protected:
   virtual void GenerateData( ) override;
 
 private:
-  template< class _TImage >
-  void _save( _TImage* image, const std::string& fname );
+  template< class _TIn, class _TSeed >
+  void _SynchSeed( const _TIn* in, _TSeed& seed );
+
+  template< class _TIn, class _TOutPtr >
+  void _Smooth( const _TIn* in, _TOutPtr& out );
+
+  template< class _TIn, class _TOutPtr, class _TAxisPtr, class _TSeeds >
+  typename _TIn::RegionType _RawSegmentation(
+    const _TIn* in, const _TSeeds& seeds,
+    const typename _TIn::IndexType& s0,
+    const typename _TIn::IndexType& s1,
+    const typename _TOutPtr::ObjectType::PixelType& beta,
+    _TOutPtr& out, _TAxisPtr& out_axis,
+    typename _TOutPtr::ObjectType::PixelType& oMean,
+    typename _TOutPtr::ObjectType::PixelType& oSTD
+    );
+
+  template< class _TIn, class _TOutPtr >
+  typename _TIn::RegionType _ROI(
+    const _TIn* in, const typename _TIn::RegionType& roi, unsigned int pad,
+    _TOutPtr& out
+    );
+
+  template< class _TAxisPtr, class _TRegion >
+  void _AxisROI(
+    const typename _TAxisPtr::ObjectType* in, const _TRegion& roi,
+    _TAxisPtr& out
+    );
+
+  template< class _TInRaw, class _TInCosts, class _TAxis, class _TScalar, class _TOutPtr >
+  void _Label(
+    const _TInRaw* raw, const _TInCosts* costs, const _TAxis* axis,
+    const _TScalar& mean, const _TScalar& dev, const _TScalar& radius,
+    _TOutPtr& out
+    );
+
+  template< class _TIn, class _TOutPtr >
+  void _RandomWalker(
+    const _TIn* in, const typename _TOutPtr::ObjectType* labels,
+    const typename _TIn::PixelType& beta,
+    _TOutPtr& out
+    );
+
+  template< class _TIn, class _TSeeds, class _TSeed, class _TOutPtr, class _TAxisPtr >
+  void _DistanceAndAxis(
+    const _TIn* in, const _TSeeds& seeds,
+    const _TSeed& p0, const _TSeed& p1,
+    _TOutPtr& out_dist, _TAxisPtr& out_axis
+    );
 
 private:
   // Purposely not implemented