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