]> Creatis software - FrontAlgorithms.git/blobdiff - appli/CTBronchi/SliceBySliceRandomWalker.cxx
...
[FrontAlgorithms.git] / appli / CTBronchi / SliceBySliceRandomWalker.cxx
index b67e258c700bb6b91e63ad2558484010823c0b92..69895bfe354cdb51c5292b05ef3ac8bfef73d940 100644 (file)
@@ -31,10 +31,12 @@ int main( int argc, char* argv[] )
   _TStringArg out( "o", "output", "Output image", true, "", "file" );
   _TRealArg beta( "b", "beta", "Beta", false, 2.5, "value (2.5)" );
   _TRealArg eps( "e", "epsilon", "Epsilon", false, 1e-5, "value (1e-5)" );
+  _TRealArg vThr( "t", "vthreshold", "Vesselness thresnold (%)", false, 5, "value (5)" );
   try
   {
     TCLAP::CmdLine cmd( "FastRandomWalker", ' ', "1.0.0" );
     cmd.add( eps );
+    cmd.add( vThr );
     cmd.add( beta );
     cmd.add( out );
     cmd.add( vesselness );
@@ -74,26 +76,16 @@ int main( int argc, char* argv[] )
     filter->SetInput( input_image );
     filter->SetInputLabels( input_labels );
     filter->SetInputVesselness( input_vesselness );
+    filter->SetBeta( beta.getValue( ) );
+    filter->SetVesselnessThreshold( vThr.getValue( ) );
+    filter->SetEpsilon( eps.getValue( ) );
+    double t = CTBronchi::MeasureTime( filter );
+    std::cout
+      << "SliceBySliceRandomWalker executed in "
+      << t << " s" << std::endl;
 
-    // Prepare weight functor
-    /* TODO
-       typedef fpa::Functors::Dijkstra::Image::Gaussian< TImage, TScalar > TWeight;
-       TWeight::Pointer weight = TWeight::New( );
-       weight->SetBeta( beta.getValue( ) );
-       weight->SetEpsilon( eps.getValue( ) );
-
-       // Random walk
-       typedef fpa::Filters::Image::RandomWalker< TImage, TLabels, TScalar > TFilter;
-       TFilter::Pointer filter = TFilter::New( );
-       filter->SetInputImage( input_image );
-       filter->SetInputLabels( input_labels );
-       filter->SetWeightFunction( weight );
-       double t = CTBronchi::MeasureTime( filter );
-       std::cout << "FastRandomWalk executed in " << t << " s" << std::endl;
-
-       // Write result
-       CTBronchi::WriteImage( filter->GetOutputLabels( ), out.getValue( ) );
-    */
+    // Write result
+    CTBronchi::WriteImage( filter->GetOutput( ), out.getValue( ) );
   }
   catch( std::exception& err )
   {