-#define PERCENT_PHM_SIZE_INCR 0.0 /* Fractional increase in PHANTOM */
- /* limits compared to phmelm size */
-#define N_EXTRA_DETECTORS 4 /* Number of extra detectors */
- /* widths when calculating detlen */
-
-#define O_TRACE_NONE_STR "none"
-#define O_TRACE_TEXT_STR "text"
-#define O_TRACE_PHM_STR "phm"
-#define O_TRACE_RAYS_STR "rays"
-#define O_TRACE_PLOT_STR "plot"
-#define O_TRACE_CLIPPING_STR "clipping"
-
-
-#define TRACE_NONE 0 /* No tracing */
-#define TRACE_TEXT 1 /* Minimal status */
-#define TRACE_PHM 2 /* Show PHANTOM */
-#define TRACE_RAYS 3 /* Show all rays */
-#define TRACE_PLOT 4 /* Plot raysums */
-#define TRACE_CLIPPING 5 /* Plot clipping */
-
-#define O_PHM_HERMAN 1 /* Herman head phantom */
-#define O_PHM_ROWLAND 2 /* Rowland head phantom */
-#define O_PHM_BROWLAND 3 /* Bordered Rowland head phantom */
-#define O_PHM_UNITPULSE 4 /* Unit pulse phantom */
-
-#define O_PHM_HERMAN_STR "herman"
-#define O_PHM_ROWLAND_STR "rowland"
-#define O_PHM_BROWLAND_STR "browland"
-#define O_PHM_UNITPULSE_STR "unitpulse"
-
-#define O_INTERP_NEAREST_STR "nearest"
-#define O_INTERP_LINEAR_STR "linear"
-#define O_INTERP_BSPLINE_STR "bspline"
-
-#define O_FILTER_ABS_BANDLIMIT_STR "abs_bandlimit"
-#define O_FILTER_ABS_SINC_STR "abs_sinc"
-#define O_FILTER_ABS_COS_STR "abs_cos"
-#define O_FILTER_ABS_HAMMING_STR "abs_hamming"
-#define O_FILTER_SHEPP_STR "shepp"
-#define O_FILTER_BANDLIMIT_STR "bandlimit"
-#define O_FILTER_SINC_STR "sinc"
-#define O_FILTER_COS_STR "cos"
-#define O_FILTER_HAMMING_STR "hamming"
-#define O_FILTER_TRIANGLE_STR "triangle"
-
-#define O_BPROJ_TRIG 1
-#define O_BPROJ_TABLE 2
-#define O_BPROJ_DIFF 3
-#define O_BPROJ_DIFF2 4
-#define O_BPROJ_IDIFF2 5
-
-#define O_BPROJ_TRIG_STR "trig"
-#define O_BPROJ_TABLE_STR "table"
-#define O_BPROJ_DIFF_STR "diff"
-#define O_BPROJ_DIFF2_STR "diff2"
-#define O_BPROJ_IDIFF2_STR "idiff2"
-
-#define RAYSUM_TRACE_ROW_TITLE 1
-#define RAYSUM_TRACE_ROW_TITLE2 2
-#define RAYSUM_TRACE_ROW_PHANT_ID 4
-#define RAYSUM_TRACE_ROW_CHROMATIC 7
-#define RAYSUM_TRACE_ROW_SCATTER 8
-#define RAYSUM_TRACE_ROW_PHOT_STAT 9
-#define RAYSUM_TRACE_ROW_NDET 12
-#define RAYSUM_TRACE_ROW_NVIEW 13
-#define RAYSUM_TRACE_ROW_SAMPLES 14
-#define RAYSUM_TRACE_ROW_CURR_VIEW 17
-#define RAYSUM_TRACE_ROW_ATTEN 18
-
-
-/*----------------------------------------------------------------------*/
-/* GRAY SCALE STRUCTURES */
-/*----------------------------------------------------------------------*/
-
-#define GS_MAX_CELL_SIZE 4
-
-typedef int GS_BITMASK[4][4];
-
-struct greyscale_st {
- int dev; /* Device to output to */
- int (*dotfunc)(int x, int y, int color); /* Pointer to dot function for device */
- int cur_x, cur_y; /* Current cell location */
- int nxcell, nycell; /* size of cell in pixels */
- int xmin, ymin; /* starting position of grey scale */
- int num_color; /* Number of primary colors available */
- int num_intens; /* Number of intensities available */
- int max_level; /* gs levels range from 0 to max_level */
- char *fg_color_tbl; /* Hold foreground color for each level */
- char *bg_color_tbl; /* Holds background color */
- char *level_sub_tbl; /* Holds value to subtract for level */
- /* before accessing bit mask */
- GS_BITMASK *bm; /* Holds grey-scale bit mask */
- struct greyscale_st *next_dev; /* Pointer to next open device */
- /* == NULL when no more devices */
+static const double PERCENT_PHM_SIZE_INCR=0.0; /* Fractional increase in phantom limits compared to pelm size */
+static const int N_EXTRA_DETECTORS=4; /* Number of extra detectors widths when calculating detlen */
+
+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 */