/************************************************************************************************* ************************************************************************************************* * * Start of Main Function * ************************************************************************************************* ************************************************************************************************/ int main (int argc, char *argv[]) { init_salute(); #ifdef _DEBUG atexit (memstatus); dbgmemInit(); #endif /* _DEBUG */ ofstream null_ostream("/dev/null"); // must stay live for entire scope, or crash when writing TheSilenceOfTheArmadillos(null_ostream); TrackProgress my_progress; DumpStartingStateOfProgram (argc,argv,my_progress); CommandLineOpts inception_state (argc, argv); SeqListClass my_keys; ImageSpecClass my_image_spec; SlicedPrequel my_prequel_setup; SetUpOrLoadInitialState(inception_state, my_keys, my_progress, my_image_spec, my_prequel_setup); // Start logging process parameters & timing now that we have somewhere to log my_progress.InitFPLog(inception_state); // Write processParameters.parse file now that processing is about to begin my_progress.WriteProcessParameters(inception_state); // Do separator Region wholeChip(0, 0, my_image_spec.cols, my_image_spec.rows); IsolatedBeadFind( my_prequel_setup, my_image_spec, wholeChip, inception_state, inception_state.sys_context.GetResultsFolder(), inception_state.sys_context.analysisLocation, my_keys, my_progress); exit (EXIT_SUCCESS); }
/************************************************************************************************* ************************************************************************************************* * * Start of Main Function * ************************************************************************************************* ************************************************************************************************/ int main (int argc, char *argv[]) { init_salute(); ofstream null_ostream("/dev/null"); // must stay live for entire scope, or crash when writing TheSilenceOfTheArmadillos(null_ostream); TrackProgress my_progress; DumpStartingStateOfProgram (argc,argv,my_progress); if(argc < 2) { PrintHelp(); } for(int i = 1; i < argc; ++i) { string s = argv[i]; if(s == "-" || s == "--") { cerr << "ERROR: command line input \"-\" must be followed by a short option name (a letter) and \"--\" must be followed by a long option name." << endl; exit ( EXIT_FAILURE ); } else if(s == "-?" || s == "-h" || s == "--help") { PrintHelp(); } } ValidateOpts validater; validater.Validate(argc, argv); char** argv2 = new char*[argc]; int datind = TrapAndDeprecateOldArgs(argc, argv, argv2); OptArgs opts; opts.ParseCmdLine(argc, (const char**)argv2); for(int k = 0; k < argc ; ++k) { delete [] argv2[k]; } delete [] argv2; Json::Value json_params; CommandLineOpts inception_state; inception_state.SetOpts(opts, json_params); if(datind < 0) // there is no "--dat-source-directory" { inception_state.sys_context.dat_source_directory = argv[argc - 1]; cout << "dat_source_directory = " << inception_state.sys_context.dat_source_directory << endl; } inception_state.PostProcessArgs(opts); SeqListClass my_keys; ImageSpecClass my_image_spec; SlicedPrequel my_prequel_setup; SetUpOrLoadInitialState(inception_state, my_keys, my_progress, my_image_spec, my_prequel_setup); // Start logging process parameters & timing now that we have somewhere to log my_progress.InitFPLog(inception_state); // Write processParameters.parse file now that processing is about to begin my_progress.WriteProcessParameters(inception_state); // Do separator Region wholeChip(0, 0, my_image_spec.cols, my_image_spec.rows); IsolatedBeadFind( my_prequel_setup, my_image_spec, wholeChip, inception_state, inception_state.sys_context.GetResultsFolder(), inception_state.sys_context.analysisLocation, my_keys, my_progress); exit (EXIT_SUCCESS); }