- std::set< std::string > mandatory;
- mandatory.insert( "in" );
- mandatory.insert( "out" );
- mandatory.insert( "seed" );
-
- args[ "minimum_threshold" ] = "-850";
- args[ "signal_kernel_size" ] = "20";
- args[ "signal_threshold" ] = "100";
- args[ "signal_influence" ] = "0.5";
- args[ "lower_threshold" ] = "-1024";
- args[ "upper_threshold" ] = "0";
- args[ "delta_threshold" ] = "1";
-
- int i = 1;
- while( i < argc )
+ typedef TCLAP::ValueArg< std::string > _TStringArg;
+ typedef TCLAP::ValueArg< double > _TRealArg;
+ typedef TCLAP::ValueArg< unsigned long > _TUIntArg;
+ typedef TCLAP::ValueArg< TPixel > _TPixelArg;
+
+ // Parse input line
+ _TStringArg in( "i", "input", "Input image", true, "", "file" );
+ _TStringArg out( "o", "output", "Output image", true, "", "file" );
+ _TStringArg signal( "s", "signal", "Output signal", false, "", "file" );
+ _TStringArg aSeed( "p", "seed", "Input seed", true, "", "\"x y z\"" );
+ _TPixelArg mThr( "t", "min_thr", "Minimum threshold", false, -850, "value (-850)" );
+ _TUIntArg sKernel( "k", "kernel", "Kernel size", false, 20, "value (20)" );
+ _TRealArg sThr( "r", "signal_thr", "Signal threshold", false, 100, "value (100)" );
+ _TRealArg sInfluence( "f", "signal_influence", "Signal influence", false, 0.5, "value (0.5)" );
+ _TPixelArg lower( "l", "lower", "Lower threshold", false, -1024, "value (-1024)" );
+ _TPixelArg upper( "u", "upper", "Upper threshold", false, 0, "value (0)" );
+ _TPixelArg delta( "d", "delta", "Delta threshold", false, 1, "value (1)" );
+ try