X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fpj2if.cpp;fp=src%2Fpj2if.cpp;h=0000000000000000000000000000000000000000;hp=25b72cadfda6c128d9183e7e8a3fd0edf3f31d72;hb=1fd4f7cc977b9f1499716de10d15656bd50f4816;hpb=52107baf438f31ce8930b062e7fdebf95d3fd9ee diff --git a/src/pj2if.cpp b/src/pj2if.cpp deleted file mode 100644 index 25b72ca..0000000 --- a/src/pj2if.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/***************************************************************************** -** FILE IDENTIFICATION -** -** Name: pj2if.cpp -** Purpose: Convert an projection data file to an image file -** Programmer: Kevin Rosenberg -** Date Started: April 2000 -** -** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg -** -** $Id: pj2if.cpp,v 1.6 2000/06/28 15:25:34 kevin Exp $ -** -** This program is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License (version 2) as -** published by the Free Software Foundation. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program; if not, write to the Free Software -** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -******************************************************************************/ - -/* FILE - * pj2if.c Convert Raysum to image - * - * DATE - * Apr 1999 - */ - -#include "ct.h" -#include "timer.h" - - -enum { O_VERBOSE, O_HELP, O_VERSION }; - -static struct option my_options[] = -{ - {"verbose", 0, 0, O_VERBOSE}, - {"help", 0, 0, O_HELP}, - {"version", 0, 0, O_VERSION}, - {0, 0, 0, 0} -}; - - -void -pj2if_usage (const char *program) -{ - cout << "usage: " << fileBasename(program) << " in-proj-file out-if-file [OPTIONS]" << endl; - cout << "Converts a projection file to a IF file" << endl; - cout << endl; - cout << " --verbose Verbose mode" << endl; - cout << " --version Print version" << endl; - cout << " --help Print this help message" << endl; -} - - - -int -pj2if_main (const int argc, char *const argv[]) -{ - char *pj_name, *im_name; - bool optVerbose = false; - extern int optind; - Timer timerProgram; - - while (1) - { - int c = getopt_long (argc, argv, "", my_options, NULL); - if (c == -1) - break; - - switch (c) - { - case O_VERBOSE: - optVerbose = true; - break; - case O_VERSION: -#ifdef VERSION - cout << "Version " << VERSION << endl; -#else - cout << "Unknown version number" << endl; -#endif - return (0); - case O_HELP: - case '?': - pj2if_usage(argv[0]); - return (0); - default: - pj2if_usage(argv[0]); - return (1); - } - } - - if (argc - optind != 2) { - pj2if_usage(argv[0]); - return (1); - } - - pj_name = argv[optind]; - im_name = argv[optind + 1]; - - Projections pj; - if (! pj.read (pj_name)) { - sys_error (ERR_SEVERE, "Can not open projection file %s", pj_name); - return (1); - } - - if (optVerbose) - pj.printScanInfo(); - - ImageFile im (pj.nDet(), pj.nView()); - - ImageFileArray v = im.getArray(); - - for (int iy = 0; iy < pj.nView(); iy++) - { - DetectorArray& detarray = pj.getDetectorArray (iy); - const DetectorValue* detval = detarray.detValues(); - for (int ix = 0; ix < pj.nDet(); ix++) - { - v[ix][iy] = detval[ix]; - } - } - - im.labelAdd (pj.getLabel()); - im.labelAdd (Array2dFileLabel::L_HISTORY, "Conversion from .pj to .if", timerProgram.timerEnd()); - im.fileWrite (im_name); - - return(0); -} - - -#ifndef NO_MAIN -int -main (const int argc, char *const argv[]) -{ - int retval = 1; - - try { - retval = pj2if_main(argc, argv); - } catch (exception e) { - cerr << "Exception: " << e.what() << endl; - } catch (...) { - cerr << "Unknown exception" << endl; - } - - return (retval); -} -#endif