** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ctsimtext.cpp,v 1.18 2001/03/31 16:43:20 kevin Exp $
+** $Id: ctsimtext.cpp,v 1.23 2002/10/24 20:09:55 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
// If linked to ctsimtext, but executed as another name, eg pjrec, then program will use that
// linked name as name of function.
-static const char* const g_szIdStr = "$Id: ctsimtext.cpp,v 1.18 2001/03/31 16:43:20 kevin Exp $";
+static const char* const g_szIdStr = "$Id: ctsimtext.cpp,v 1.23 2002/10/24 20:09:55 kevin Exp $";
static const char* const s_szProgramName = "ctsimtext";
static const char* const s_szProgramName2 = "ctsimtext.exe";
static const char* const s_szProgramName3 = "ctsimtext-lam";
extern int ifinfo_main (int argc, char* const argv[]);
extern int phm2if_main (int argc, char* const argv[]);
extern int phm2pj_main (int argc, char* const argv[]);
+extern int phm2helix_main (int argc, char* const argv[]);
+extern int pjHinterp_main (int argc, char* const argv[]);
extern int pj2if_main (int argc, char* const argv[]);
extern int pjinfo_main (int argc, char* const argv[]);
extern int pjrec_main (int argc, char* const argv[]);
ctsimtext_usage (const char *program)
{
std::cout << "usage: " << fileBasename(program) << " ctsim-function-name ctstim-function-parameters...\n";
- std::cout << "CTSim text shell\n\n";
+ std::cout << "CTSim text shell";
+#ifdef VERSION
+ std::cout << ", Version " <<VERSION;
+#endif
+ std::cout << "\n\n";
std::cout << " if1 Single image file conversion\n";
std::cout << " if2 Dual image file conversions\n";
std::cout << " ifexport Export an imagefile to a graphics file\n";
std::cout << " pjrec Projection reconstruction\n";
std::cout << " phm2if Convert a geometric phantom into an imagefile\n";
std::cout << " phm2pj Take projections of a phantom object\n";
+ std::cout << " phm2helix Take projections of a phantom object\n";
+ std::cout << " pjHinterp Interpolate helical projections of a phantom object\n";
+
}
void
std::cout << " if2 Dual image file conversions\n";
std::cout << " phm2if Convert a geometric phantom into an imagefile\n";
std::cout << " phm2pj Take projections of a phantom object\n";
+ std::cout << " phm2helix Take projections of a phantom object\n";
std::cout << " pjinfo Projection file information\n";
std::cout << " pj2if Convert an projection file into an imagefile\n";
+ std::cout << " pjHinterp Interpolate helical projections of a phantom object\n";
std::cout << " pjrec Projection reconstruction\n";
std::cout << " quit Quits shell\n";
std::cout << "All functions accept --help as parameter for online help\n\n";
argv++;
argc--;
iReturn = processCommand (argc, argv);
- } else if (argc >= 1) {
+ } else if (argc >= 1 && ! (strcmp(s_szProgramName, fileBasename (argv[0])) == 0 || strcmp(s_szProgramName2, fileBasename (argv[0])) == 0 || strcmp(s_szProgramName3, fileBasename (argv[0])) == 0)) {
iReturn = processCommand (argc, argv);
} else {
s_bInteractive = true;
char szPrompt[] = "CTSim> ";
- std::cout << "CTSim Text Shell (Type \"quit\" to end)\n\n";
+ std::cout << "CTSim Text Shell";
+#ifdef VERSION
+ std::cout << ", Version " << VERSION;
+#endif
+ std::cout << " (Type \"quit\" to end)\n\n";
while (1) {
#ifdef HAVE_READLINE
return phm2if_main (argc, argv);
else if (strcasecmp (pszFunction, "phm2pj") == 0)
return phm2pj_main (argc, argv);
+ else if (strcasecmp (pszFunction, "phm2helix") == 0)
+ return phm2helix_main (argc, argv);
+ else if (strcasecmp (pszFunction, "pjHinterp") == 0)
+ return pjHinterp_main (argc, argv);
else if (strcasecmp (pszFunction, "pj2if") == 0)
return pj2if_main (argc, argv);
else if (strcasecmp (pszFunction, "pjinfo") == 0)
return retval;
}
-