+ctsim (4.2.5-1) unstable; urgency=low
+
+ * Fix gcc-3.3 compilation issues (closes:200074)
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Fri, 4 Jul 2003 14:23:38 -0600
+
ctsim (4.2.4b-2) unstable; urgency=low
* Allow mesag1 | libgl1 in all binary packages (closes:190213)
Maintainer: Kevin M. Rosenberg <kmr@debian.org>
Build-Depends: debhelper (>= 4.0.0), wxwin2.4-headers, fftw-dev, libreadline4-dev, mesa-common-dev, libwxgtk2.4-dev, ctn-dev, libpng12-dev, dpkg-dev
Build-Depends-Indep: debhelper (>= 4.0.0)
-Standards-Version: 3.5.9.0
+Standards-Version: 3.5.10.0
Package: ctsim
Architecture: any
#!/usr/bin/make -f
-export DH_COMPAT=4
-
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g
endif
** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: scanner.h,v 1.23 2003/04/01 19:49:41 kevin Exp $
+** $Id: scanner.h,v 1.24 2003/07/04 21:39:39 kevin Exp $
**
**
** This program is free software; you can redistribute it and/or modify
int geometry() const {return m_idGeometry;}
static int getGeometryCount() {return s_iGeometryCount;}
- static const char** getGeometryNameArray() {return s_aszGeometryName;}
- static const char** getGeometryTitleArray() {return s_aszGeometryTitle;}
+ static const char* const* getGeometryNameArray() {return s_aszGeometryName;}
+ static const char* const* getGeometryTitleArray() {return s_aszGeometryTitle;}
static int convertGeometryNameToID (const char* const geometryName);
static const char* convertGeometryIDToName (const int idGeometry);
static const char* convertGeometryIDToTitle (const int idGeometry);
double m_dTextHeight;
#endif
- static const char* s_aszGeometryName[];
- static const char* s_aszGeometryTitle[];
+ static const char* const s_aszGeometryName[];
+ static const char* const s_aszGeometryTitle[];
static const int s_iGeometryCount;
void projectSingleView (const Phantom& phm, DetectorArray& darray, const double xd1, const double yd1, const double xd2, const double yd2, const double xs1, const double ys1, const double xs2, const double ys2, const double dDetAngle);
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: backprojectors.cpp,v 1.33 2003/03/23 18:37:42 kevin Exp $
+** $Id: backprojectors.cpp,v 1.34 2003/07/04 21:39:40 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
const char* const Backprojector::s_aszBackprojectName[] =
{
- {"trig"},
- {"table"},
- {"diff"},
- {"idiff"},
+ "trig",
+ "table",
+ "diff",
+ "idiff",
};
const char* const Backprojector::s_aszBackprojectTitle[] =
{
- {"Direct Trigometric"},
- {"Trigometric Table"},
- {"Difference Iteration"},
- {"Integer Difference Iteration"},
+ "Direct Trigometric",
+ "Trigometric Table",
+ "Difference Iteration",
+ "Integer Difference Iteration",
};
const int Backprojector::s_iBackprojectCount = sizeof(s_aszBackprojectName) / sizeof(const char*);
const char* const Backprojector::s_aszInterpName[] =
{
- {"nearest"},
- {"linear"},
- {"cubic"},
+ "nearest",
+ "linear",
+ "cubic",
#if HAVE_FREQ_PREINTERP
- {"freq_preinterpolationj"},
+ "freq_preinterpolationj",
#endif
#if HAVE_BSPLINE_INTERP
- {"bspline"},
- {"1bspline"},
- {"2bspline"},
- {"3bspline"},
+ "bspline",
+ "1bspline",
+ "2bspline",
+ "3bspline",
#endif
};
const char* const Backprojector::s_aszInterpTitle[] =
{
- {"Nearest"},
- {"Linear"},
- {"Cubic"},
+ "Nearest",
+ "Linear",
+ "Cubic",
#if HAVE_FREQ_PREINTERP
- {"Frequency Preinterpolation"},
+ "Frequency Preinterpolation",
#endif
#if HAVE_BSPLINE_INTERP
- {"B-Spline"},
- {"B-Spline 1st Order"},
- {"B-Spline 2nd Order"},
- {"B-Spline 3rd Order"},
+ "B-Spline",
+ "B-Spline 1st Order",
+ "B-Spline 2nd Order",
+ "B-Spline 3rd Order",
#endif
};
** This is part of the CTSim program
** Copyright (c) 1983-2000 Kevin Rosenberg
**
-** $Id: filter.cpp,v 1.39 2001/03/13 04:44:25 kevin Exp $
+** $Id: filter.cpp,v 1.40 2003/07/04 21:39:40 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
const int SignalFilter::s_iReconstructFilterCount = 4;
const char* const SignalFilter::s_aszFilterName[] = {
- {"abs_bandlimit"},
- {"abs_hamming"},
- {"abs_hanning"},
- {"abs_cosine"},
- {"shepp"},
- {"abs_sinc"},
- {"bandlimit"},
- {"sinc"},
- {"hamming"},
- {"hanning"},
- {"cosine"},
- {"triangle"},
+ "abs_bandlimit",
+ "abs_hamming",
+ "abs_hanning",
+ "abs_cosine",
+ "shepp",
+ "abs_sinc",
+ "bandlimit",
+ "sinc",
+ "hamming",
+ "hanning",
+ "cosine",
+ "triangle"
};
const char* const SignalFilter::s_aszFilterTitle[] = {
- {"Abs(w) * Bandlimit"},
- {"Abs(w) * Hamming"},
- {"Abs(w) * Hanning"},
- {"Abs(w) * Cosine"},
- {"Shepp"},
- {"Abs(w) * Sinc"},
- {"Bandlimit"},
- {"Sinc"},
- {"Hamming"},
- {"Hanning"},
- {"Cosine"},
- {"Triangle"},
+ "Abs(w) * Bandlimit",
+ "Abs(w) * Hamming",
+ "Abs(w) * Hanning",
+ "Abs(w) * Cosine",
+ "Shepp",
+ "Abs(w) * Sinc",
+ "Bandlimit",
+ "Sinc",
+ "Hamming",
+ "Hanning",
+ "Cosine",
+ "Triangle"
};
const int SignalFilter::s_iFilterCount = sizeof(s_aszFilterName) / sizeof(const char*);
const int SignalFilter::DOMAIN_SPATIAL = 1;
const char* const SignalFilter::s_aszDomainName[] = {
- {"frequency"},
- {"spatial"},
+ "frequency",
+ "spatial",
};
const char* const SignalFilter::s_aszDomainTitle[] = {
- {"Frequency"},
- {"Spatial"},
+ "Frequency",
+ "Spatial",
};
const int SignalFilter::s_iDomainCount = sizeof(s_aszDomainName) / sizeof(const char*);
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: imagefile.cpp,v 1.47 2003/03/23 18:37:42 kevin Exp $
+** $Id: imagefile.cpp,v 1.48 2003/07/04 21:39:40 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
const char* ImageFile::s_aszExportFormatName[] =
{
- {"text"},
- {"pgm"},
- {"pgmascii"},
+ "text",
+ "pgm",
+ "pgmascii",
#ifdef HAVE_PNG
- {"png"},
- {"png16"},
+ "png",
+ "png16",
#endif
#ifdef HAVE_CTN_DICOM
- {"dicom"},
+ "dicom",
#endif
};
const char* ImageFile::s_aszExportFormatTitle[] =
{
- {"Text"},
- {"PGM"},
- {"PGM ASCII"},
- {"PNG"},
- {"PNG 16-bit"},
+ "Text",
+ "PGM",
+ "PGM ASCII",
+#ifdef HAVE_PNG
+ "PNG",
+ "PNG 16-bit",
+#endif
#ifdef HAVE_CTN_DICOM
- {"Dicom"},
+ "Dicom",
#endif
};
const int ImageFile::s_iExportFormatCount = sizeof(s_aszExportFormatName) / sizeof(const char*);
const char* ImageFile::s_aszImportFormatName[] =
{
- {"ppm"},
+ "ppm",
#ifdef HAVE_PNG
- {"png"},
+ "png",
#endif
#ifdef HAVE_CTN_DICOM
- {"dicom"},
+ "dicom",
#endif
};
const char* ImageFile::s_aszImportFormatTitle[] =
{
- {"PPM"},
- {"PNG"},
+ "PPM",
+#ifdef HAVE_PNG
+ "PNG",
+#endif
#ifdef HAVE_CTN_DICOM
- {"Dicom"},
+ "Dicom",
#endif
};
const int ImageFile::s_iImportFormatCount = sizeof(s_aszImportFormatName) / sizeof(const char*);
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: phantom.cpp,v 1.33 2003/03/15 14:52:36 kevin Exp $
+** $Id: phantom.cpp,v 1.34 2003/07/04 21:39:40 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
const char* Phantom::s_aszPhantomName[] =
{
- {"herman"},
- {"shepp-logan"},
- {"unit-pulse"},
+ "herman",
+ "shepp-logan",
+ "unit-pulse",
};
const char* Phantom::s_aszPhantomTitle[] =
{
- {"Herman Head"},
- {"Shepp-Logan"},
- {"Unit Pulse"},
+ "Herman Head",
+ "Shepp-Logan",
+ "Unit Pulse",
};
const int Phantom::s_iPhantomCount = sizeof(s_aszPhantomName) / sizeof(const char*);
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: procsignal.cpp,v 1.32 2001/03/30 19:17:32 kevin Exp $
+** $Id: procsignal.cpp,v 1.33 2003/07/04 21:39:40 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
const int ProcessSignal::FILTER_METHOD_RFFTW =5 ;
#endif
const char* const ProcessSignal::s_aszFilterMethodName[] = {
- {"convolution"},
- {"fourier"},
- {"fouier-table"},
- {"fft"},
+ "convolution",
+ "fourier",
+ "fouier-table",
+ "fft",
#if HAVE_FFTW
- {"fftw"},
- {"rfftw"},
+ "fftw",
+ "rfftw",
#endif
};
const char* const ProcessSignal::s_aszFilterMethodTitle[] = {
- {"Convolution"},
- {"Fourier"},
- {"Fouier Trigometric Table"},
- {"FFT"},
+ "Convolution",
+ "Fourier",
+ "Fouier Trigometric Table",
+ "FFT",
#if HAVE_FFTW
- {"FFTW"},
- {"Real/Half-Complex FFTW"},
+ "FFTW",
+ "Real/Half-Complex FFTW",
#endif
};
const int ProcessSignal::s_iFilterMethodCount = sizeof(s_aszFilterMethodName) / sizeof(const char*);
const int ProcessSignal::FILTER_GENERATION_DIRECT = 0;
const int ProcessSignal::FILTER_GENERATION_INVERSE_FOURIER = 1;
const char* const ProcessSignal::s_aszFilterGenerationName[] = {
- {"direct"},
- {"inverse-fourier"},
+ "direct",
+ "inverse-fourier",
};
const char* const ProcessSignal::s_aszFilterGenerationTitle[] = {
- {"Direct"},
- {"Inverse Fourier"},
+ "Direct",
+ "Inverse Fourier",
};
const int ProcessSignal::s_iFilterGenerationCount = sizeof(s_aszFilterGenerationName) / sizeof(const char*);
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: projections.cpp,v 1.82 2003/03/23 18:37:42 kevin Exp $
+** $Id: projections.cpp,v 1.83 2003/07/04 21:39:40 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
const char* const Projections::s_aszInterpName[] =
{
- {"nearest"},
- {"bilinear"},
+ "nearest",
+ "bilinear",
// {"bicubic"},
};
const char* const Projections::s_aszInterpTitle[] =
{
- {"Nearest"},
- {"Bilinear"},
+ "Nearest",
+ "Bilinear",
// {"Bicubic"},
};
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: scanner.cpp,v 1.43 2003/04/01 19:49:41 kevin Exp $
+** $Id: scanner.cpp,v 1.44 2003/07/04 21:39:40 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
const int Scanner::GEOMETRY_EQUILINEAR = 2;
const int Scanner::GEOMETRY_LINOGRAM = 3;
-const char* Scanner::s_aszGeometryName[] =
+const char* const Scanner::s_aszGeometryName[] =
{
- {"parallel"},
- {"equiangular"},
- {"equilinear"},
- {"linogram"},
+ "parallel",
+ "equiangular",
+ "equilinear",
+ "linogram",
};
-const char* Scanner::s_aszGeometryTitle[] =
+const char* const Scanner::s_aszGeometryTitle[] =
{
- {"Parallel"},
- {"Equiangular"},
- {"Equilinear"},
- {"Linogram"},
+ "Parallel",
+ "Equiangular",
+ "Equilinear",
+ "Linogram",
};
const int Scanner::s_iGeometryCount = sizeof(s_aszGeometryName) / sizeof(const char*);
** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: trace.cpp,v 1.3 2000/08/27 20:32:55 kevin Exp $
+** $Id: trace.cpp,v 1.4 2003/07/04 21:39:40 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
const char* Trace::s_aszTraceName[] =
{
- {"none"},
- {"console"},
- {"phantom"},
- {"proj"},
- {"plot"},
- {"clipping"},
+ "none",
+ "console",
+ "phantom",
+ "proj",
+ "plot",
+ "clipping",
};
const char* Trace::s_aszTraceTitle[] =
{
- {"None"},
- {"Console"},
- {"Phantom"},
- {"Projections"},
- {"Plot"},
- {"Clipping"},
+ "None",
+ "Console",
+ "Phantom",
+ "Projections",
+ "Plot",
+ "Clipping",
};
const int Trace::s_iTraceCount = sizeof(s_aszTraceName) / sizeof(const char*);
-man_MANS=pjrec.1 phm2pj.1 phm2if.1 ifexport.1 ifinfo.1 if1.1 if2.1 pjinfo.1 ifinfo.1 pj2if.1 ctsim.1 ctsimtext.1 phm2helix.1 pjHinterp.1
+man_MANS=pjrec.1 phm2pj.1 phm2if.1 ifexport.1 ifinfo.1 if1.1 if2.1 pjinfo.1 ifinfo.1 pj2if.1 ctsim.1 ctsimtext.1 phm2helix.1 pjHinterp.1 linogram.1
EXTRA_DIST = $(man_MANS)
--- /dev/null
+.\" -*- NROFF -*-
+.\"
+.TH "linogram" "1" "" "Kevin Rosenberg" "Engineering"
+.SH "NAME"
+linogram \- Linogram gribddisplay for CTSIM
+
+.SH "SYNOPSIS"
+.B linogram [OPTIONS]
+
+.SH "DESCRIPTION"
+.Nm linogram
+displays the grib used in linogram\-based scanning for
+the CTSim package.
+
+.SH "OPTIONS"
+\fIlinogram\fP accepts the following options
+.TP 12
+.B \-\-version Display version
+.TP 12
+.B \-\-help Print a terse help message
+
+.SH "AUTHORS"
+Kevin Rosenberg, M.D. <kevin@ctsim.org>
+
+.SH "HISTORY"
+CTSim was begun in 1983 using MS\-DOS and an EGA display adapter. In
+1999 it was ported to GNU/Linux and later ported to Microsoft Windows.
+
+.SH "SEE ALSO"
+.BR ifinfo (1), if1 (1), if2 (1), ifexport (1), phm2pj (1), phm2if (1), pj2if (1), pjinfo (1), pjrec (1)
** This is part of the CTSim program
** Copyright (C) 1983-2001 Kevin Rosenberg
**
-** $Id: tips.cpp,v 1.3 2001/03/05 20:29:23 kevin Exp $
+** $Id: tips.cpp,v 1.4 2003/07/04 21:39:40 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
const char* const CTSimTipProvider::s_aszTips[] = {
- {"You can create a geometric phantom using the \"File - Create Phantom\" menu command."},
- {"You can create a gray-scale, rasterized image of a phantom by using the \"Process - Rasterize\" menu command on a geometric phantom."},
- {"You can simulate the x-ray process by using the \"Process - Projections\" menu command on a geometric phantom."},
- {"You can simulate first, second, and third-fourth-fifth generation CT scanners by using different scanner geometries."},
- {"You can reconstruct an image from the x-ray data by using the \"Reconstruction\" menu on a projection file."},
- {"You can specify different levels of smoothing by using different filters in the \"Reconstruction\" dialog."},
- {"You can select a row and column of an image by left-mouse button clicking on an image."},
- {"You can plot a column or row of an image by using the \"Analyze - Plot\" command."},
- {"You can save your plots to a disk file by using the \"File - Save\" command."},
- {"You can create your own phantoms using a text editor. Please see the manual for the simple file format."},
- {"You can perform 2-dimension Fourier transform of images using the \"Filter\" menu commands."},
- {"You can create an image of a filter by using the \"File - Create Filter\" menu command."},
- {"You can add two images by using the \"Image - Add\" menu command."},
- {"You can display the value of a pixel in an image by right-mouse button clicking on an image."},
- {"You can view a 3-dimensional view of an image using the \"Image - 3D\" menu command."},
- {"You can scale an image to any size using the \"Image - Scale Size\" menu command."},
- {"You can display context-sensitive help by using the \"Help\" button on dialog boxes."},
- {"You can compare two images by using the \"Analyze - Compare Images\" menu command."},
- {"You can display these tips at any time by using the \"Help - Tips\" menu command."},
- {"You can control CTSim's operation using the \"File - Preferences\" menu command."},
+ "You can create a geometric phantom using the \"File - Create Phantom\" menu command.",
+ "You can create a gray-scale, rasterized image of a phantom by using the \"Process - Rasterize\" menu command on a geometric phantom.",
+ "You can simulate the x-ray process by using the \"Process - Projections\" menu command on a geometric phantom.",
+ "You can simulate first, second, and third-fourth-fifth generation CT scanners by using different scanner geometries.",
+ "You can reconstruct an image from the x-ray data by using the \"Reconstruction\" menu on a projection file.",
+ "You can specify different levels of smoothing by using different filters in the \"Reconstruction\" dialog.",
+ "You can select a row and column of an image by left-mouse button clicking on an image.",
+ "You can plot a column or row of an image by using the \"Analyze - Plot\" command.",
+ "You can save your plots to a disk file by using the \"File - Save\" command.",
+ "You can create your own phantoms using a text editor. Please see the manual for the simple file format.",
+ "You can perform 2-dimension Fourier transform of images using the \"Filter\" menu commands.",
+ "You can create an image of a filter by using the \"File - Create Filter\" menu command.",
+ "You can add two images by using the \"Image - Add\" menu command.",
+ "You can display the value of a pixel in an image by right-mouse button clicking on an image.",
+ "You can view a 3-dimensional view of an image using the \"Image - 3D\" menu command.",
+ "You can scale an image to any size using the \"Image - Scale Size\" menu command.",
+ "You can display context-sensitive help by using the \"Help\" button on dialog boxes.",
+ "You can compare two images by using the \"Analyze - Compare Images\" menu command.",
+ "You can display these tips at any time by using the \"Help - Tips\" menu command.",
+ "You can control CTSim's operation using the \"File - Preferences\" menu command.",
};
const size_t CTSimTipProvider::s_iNumTips = sizeof(s_aszTips) / sizeof(const char *);