** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ct.h,v 1.21 2000/06/22 10:17:28 kevin Exp $
+** $Id: ct.h,v 1.43 2000/12/15 23:48:25 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
#ifndef CT_H
#define CT_H
-#ifdef _WIN32
+#ifdef MSVC
+ // extern "C" {int strcasecmp(const char*, const char*);}
typedef long off_t;
- #define HAVE_STRING_H 1
- #include <fcntl.h>
- #define snprintf _snprintf
- #define vsnprintf _vsnprintf
- #define strcasecmp stricmp
- #define strncasecmp strnicmp
+ #define HAVE_STRING_H 1\r
+ #include <fcntl.h>\r
+ #define strdup _strdup
+ #define strcasecmp _stricmp
+ #define strncasecmp _strnicmp
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#ifdef HAVE_PNG
- #include "png.h"
-#endif
-#ifdef HAVE_G2_H
-extern "C" {
-#include "g2.h"
-}
-#ifdef HAVE_X11
-extern "C" {
-#include "g2_X11.h"
-}
+
+#define HAVE_ANSI_CPP 1
+#ifdef HAVE_ANSI_CPP
+#include <complex>
+#include <cmath>
+#include <cstdio>
+#include <cctype>
+#include <cstring>
+#include <cstddef>
+#include <cstdarg>
+#include <cstdlib>
+using namespace std;
+\r
+#if defined(MSVC) || HAVE_SSTREAM\r
+#include <sstream>
+#else\r
+#include <sstream_subst>
+#endif\r
+\r
+#include <fstream>
+#include <iostream>
+#include <string>
+#include <iterator>
+#include <algorithm>
+#include <exception>
+#include <stdexcept>
+#include <memory>
+
+#else
+
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
#endif
+#ifdef HAVE_MATH_H
+#include <math.h>
#endif
#ifdef HAVE_STDIO_H
#include <stdio.h>
#ifdef HAVE_STDARG_H
#include <stdarg.h>
#endif
+
+#endif
+
+
+#ifdef HAVE_DMALLOC
+#include <dmalloc.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_PNG
+ #include "png.h"
+#endif
+#ifdef HAVE_G2_H
+extern "C" {
+#include "g2.h"
+}
+#ifdef HAVE_X11
+extern "C" {
+#include "g2_X11.h"
+}
+#endif
+#endif
+
+
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-#ifdef HAVE_MATH_H
-#include <math.h>
-#endif
#ifdef HAVE_SYS_FCNTL_H
#include <sys/fcntl.h>
#endif
#if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)
#include <getopt.h>
#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
#ifdef HAVE_SETJMP_H
#include <setjmp.h>
#endif
#ifdef HAVE_STDINT_H
#include <stdint.h> /* Standard ints on Linux */
#endif
+#ifdef HAVE_ASSERT_H
+#include <assert.h>
+#endif
-#include <fstream>
-#include <iostream>
-#include <sstream>
-#include <string>
-#include <iterator>
-#include <algorithm>
-#include <exception>
-#include <stdexcept>
-#include <memory>
-using namespace std;
+#ifdef HAVE_FFTW
+#include <rfftw.h>
+#include <fftw.h>
+#endif
#ifdef HAVE_MPI
#include "mpi++.h"
#endif
#include "array2d.h"
+#include "array2dfile.h"
#include "fnetorderstream.h"
#include "imagefile.h"
#include "phantom.h"
#include "scanner.h"
#include "backprojectors.h"
#include "filter.h"
+#include "procsignal.h"
#include "projections.h"
-
-//----------------------------------------------------------------------//
-// USER SYMBOLS //
-//----------------------------------------------------------------------//
-
-// Trace levels
-static const char O_TRACE_NONE_STR[]= "none";
-static const char O_TRACE_TEXT_STR[]= "text";
-static const char O_TRACE_PHM_STR[]= "phm";
-static const char O_TRACE_RAYS_STR[]= "rays";
-static const char O_TRACE_PLOT_STR[]= "plot";
-static const char O_TRACE_CLIPPING_STR[]= "clipping";
-
-enum {
- TRACE_NONE, /* No tracing */
- TRACE_TEXT, /* Minimal status */
- TRACE_PHM, /* Show phantom */
- TRACE_RAYS, /* Show all rays */
- TRACE_PLOT, /* Plot raysums */
- TRACE_CLIPPING /* Plot clipping */
-};
-
-
-/*************************************************************************
- * FUNCTION DECLARATIONS
- ************************************************************************/
-
-// dialogs.cpp
-bool phm_add_pelem_kb (Phantom& phm);
-const Phantom& phm_select (Phantom& phm);
-int interpolation_select (void);
-int filter_select (double *filter_param);
-
-// options.cpp
-int opt_set_trace(const char *optarg);
-
-// imagefile.cpp
-void image_filter_response (ImageFile& im, const char* const domainName, double bw, const char* const filterName, double filt_param, const int opt_trace);
-int image_display (const ImageFile& im);
-int image_display_scale (const ImageFile& im, const int scale, const double pmin, const double pmax);
+#include "reconstruct.h"
+#include "trace.h"
#endif