_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 );
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 )
{