X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fct.h;h=ead95ad7381edd02fa98a2a25b8122ca912c974a;hp=deec77b9514b4ad26cfc4894924c022e6736a49a;hb=2d39e823ba389fc68e5317c422b55be006094252;hpb=0c41eadc2ba97b93d6cfbaa16d8bf0a1e75597e3 diff --git a/include/ct.h b/include/ct.h index deec77b..ead95ad 100644 --- a/include/ct.h +++ b/include/ct.h @@ -1,15 +1,15 @@ /***************************************************************************** -** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** FILE IDENTIFICATION ** -** $Id: ct.h,v 1.3 2000/04/30 19:17:35 kevin Exp $ -** $Log: ct.h,v $ -** Revision 1.3 2000/04/30 19:17:35 kevin -** Set up include files for conditional INTERACTIVE_GRAPHICS +** Name: ct.h +** Purpose: Master header file for CTSim +** Programmer: Kevin Rosenberg +** Date Started: Aug 1984 ** -** 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 @@ -24,18 +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 +#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 @@ -46,7 +63,9 @@ #ifdef HAVE_STDDEF_H #include #endif +#ifdef HAVE_STDLIB_H #include +#endif #ifdef HAVE_STDARG_H #include #endif @@ -77,21 +96,93 @@ #ifdef HAVE_SETJMP_H #include #endif +#ifdef HAVE_SYS_PARAM_H +#include /* for htonl on FreeBSD */ +#endif +#ifdef HAVE_NETINET_IN_H +#include /* for htonl on Linux/Solaris */ +#endif +#ifdef HAVE_INTTYPES_H +#include /* for htonl on Solaris */ +#endif +#ifdef HAVE_STDINT_H +#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