X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fct.h;h=ead95ad7381edd02fa98a2a25b8122ca912c974a;hp=79c6ec871cfe72208da9667c9809ab451a9d7445;hb=2d39e823ba389fc68e5317c422b55be006094252;hpb=182997ba0074a9e2d0f1c9780ed3baef938f7aaa diff --git a/include/ct.h b/include/ct.h index 79c6ec8..ead95ad 100644 --- a/include/ct.h +++ b/include/ct.h @@ -1,21 +1,15 @@ /***************************************************************************** -** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg -** -** $Id: ct.h,v 1.5 2000/05/11 01:04:44 kevin Exp $ -** $Log: ct.h,v $ -** Revision 1.5 2000/05/11 01:04:44 kevin -** Added Microsoft Windows compatibility +** FILE IDENTIFICATION ** -** Revision 1.4 2000/05/03 19:51:41 kevin -** function renaming for phantoms and phantom elements +** Name: ct.h +** Purpose: Master header file for CTSim +** Programmer: Kevin Rosenberg +** Date Started: Aug 1984 ** -** Revision 1.3 2000/04/30 19:17:35 kevin -** Set up include files for conditional INTERACTIVE_GRAPHICS -** -** Revision 1.2 2000/04/28 14:14:16 kevin -** *** empty log message *** +** 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 $ ** ** 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 @@ -30,28 +24,35 @@ ** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************************/ -/*---------------------------------------------------------------------*/ -/* HEADER FILE FOR TOMOGRAPY SYSTEM */ -/*---------------------------------------------------------------------*/ #ifndef CT_H #define CT_H #ifdef _WIN32 -typedef long off_t; -#define HAVE_STRING_H 1 -#include -#define snprintf _snprintf -#define vsnprintf _vsnprintf -#define strcasecmp stricmp -#define strncasecmp strnicmp + typedef long off_t; + #define HAVE_STRING_H 1 + #include + #define snprintf _snprintf + #define vsnprintf _vsnprintf + #define strcasecmp stricmp + #define strncasecmp strnicmp #endif #ifdef HAVE_CONFIG_H -#include + #include #endif #ifdef HAVE_PNG -#include "png.h" + #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_STDIO_H #include @@ -108,20 +109,80 @@ typedef long off_t; #include /* Standard ints on Linux */ #endif -#ifdef MPI_CT -#include "mpi.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +#ifdef HAVE_MPI +#include "mpi++.h" +#include "mpiworld.h" #endif -#include "kstddef.h" -#include "kmath.h" -#include "sdf.h" -#include "ir.h" -#include "keyboard.h" -#include "cio.h" -#ifdef HAVE_INTERACTIVE_GRAPHICS -#include "ezplot.h" -#include "sgp.h" +#include "ctsupport.h" +#include "fnetorderstream.h" + +#ifdef HAVE_SGP + #include "ezplot.h" + #include "sgp.h" #endif +#include "array2d.h" +#include "fnetorderstream.h" +#include "imagefile.h" +#include "phantom.h" +#include "scanner.h" +#include "backprojectors.h" +#include "filter.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); + + #endif