if (argc >1) {
for (int i = 1; i < argc; i++) {
std::string current = argv[i];
- if (!current.compare(0,2,"--")) { //We are parsing an option
+ if (!current.compare(0,1,"-")) { // && !current.compare(0,2,"--")) { //We are parsing an option
if (parse_mode == P_SEQUENCE) {//First finish the current sequence
- window.LoadImages(sequence_filenames, vvImageReader::MERGEDWITHTIME);
- sequence_filenames.clear();
- parse_mode=P_NORMAL;
+ open_sequence(window, open_mode, parse_mode, sequence_filenames, n_image_loaded);
+ }
+ else if (parse_mode == P_WINDOW) { // handle negative window values
+ win=current;
+ parse_mode=P_NORMAL;
+ continue;
+ } else if (parse_mode == P_LEVEL) { // handle negative level values
+ lev=current;
+ parse_mode=P_NORMAL;
+ continue;
}
if ((current=="--help") || (current=="-h")) {
std::cout << "vv " << VV_VERSION << ", the 2D, 2D+t, 3D and 3D+t (or 4D) image viewer" << std::endl << std::endl
//<< "--roi file \t Overlay binary mask images. Option may be repeated on a single base image." << std::endl
<< "--contour file \t Overlay DICOM RT-STRUCT contours." << std::endl;
exit(0);
- }
- if (current=="--vf") {
+ } else if (current=="--vf") {
if (!n_image_loaded) load_image_first_error();
- window.AddField(argv[i+1],n_image_loaded-1);
- i++; //skip vf name
+ open_mode = O_VF;
} else if (current=="--overlay") {
if (!n_image_loaded) load_image_first_error();
- window.AddOverlayImage(n_image_loaded-1,argv[i+1]);
- i++; //skip overlay name
- } /*else if (current=="--roi") {
+ open_mode = O_OVERLAY;
+ } else if (current=="--contour") {
if (!n_image_loaded) load_image_first_error();
- window.AddROI(n_image_loaded-1,argv[i+1]);
- i++; //skip roi name
- }*/ else if (current=="--contour") {
- if (!n_image_loaded) load_image_first_error();
- window.AddDCStructContour(n_image_loaded-1,argv[i+1]);
- i++; //skip roi name
+ open_mode = O_CONTOUR;
} else if (current=="--fusion") {
if (!n_image_loaded) load_image_first_error();
- window.AddFusionImage(n_image_loaded-1,argv[i+1]);
- i++; //skip fusion name
+ open_mode = O_FUSION;
} else if (current == "--sequence") {
- n_image_loaded++; //count only one for the sequence
+ if(open_mode==O_BASE) n_image_loaded++; //count only one for the whole sequence
parse_mode=P_SEQUENCE;
} else if (current == "--window") {
parse_mode=P_WINDOW;