-3.0alpha2 - Released 1/02/01
-
- * ctsim: All functions of command-line tools are now in graphical ctsim
-
- * ctsim: added generation of filter images
-
- * ctsim: Added 2-image math functions (mul, add, div, sub)
-
- * ctsim: Added export of imagefiles to graphic file formats
-
- * ctsim: Added support for scaling imagefiles in new sizes
-
- * ctsim: Added ability to save standard phantom definitions as
- text files suitable for reading.
-
- * ctsim: Add labels for image transformations and display of labels
- when performing properties of images.
-
- * processsignal.cpp: Fixed "off by one" bug in
- shuffleNaturalToFourierOrder when n is even. Moved functions to
- fourier.cpp
-
- * imagefile.cpp: Added FFTW library to imagefile processing. Converted
- image math functions to complex-valued math.
-
- * phantom.cpp: Added ability to save phantom files as ASCII text.
-
-3.0alpha1 - Released 12/29/00
-
- * Added PlotFile class to system, used by if2 and ctsim for row
- and column plots and comparison plots
-
- * ctsim: Added image comparison statistics and image subtraction
-
- * ctsim: Added plotting of rows & columns with y-axis scaling
-
- * ctsim: Added row and column plot comparisons between two image
- files.
-
- * ctsim: Added "Process" menu to image file display with math
- functions. Added 2-dimensional inverse Fourier to math
- functions. Added support for complex (real/imaginary) images.
-
- * mathfuncs.cpp: Reworked statistics algorithm to share between
- imagefile and plotfile classes.
-
- * imagefile.cpp: Fixed scaling bug when rasterizing Phantom with
- nsamples > 2. Added generic mage math functions, moved from
- if1.cpp and if2.cpp to imagefile.cpp. Added support complex
- images.
-
- * array2dfile.cpp: Added code to support complex (real/imaginary)
- images.
-
- * if1: Updated to handle error conditions, such as sqrt of a
- negative number. Converted to use new ImageFile math functions.
-
- * if2: Updated to output plot files and use new ImageFile class
- math functions
-
- * if1: Updated to use new ImageFile class math functions
-
- * ezplot: Reworked to better store colors/linestyles/symbols with
- individual curves. Improved display of labels and ticks. Updated
- to use POL class member variable. Updated to more C++ conventions.
-
- * pol: converted to C++ class. Extracted HashTable to separate
- class.
-
- * sgp: Added linestyle settings
-
-2.5.0 - 12/18/00
- First Microsoft Windows GUI version
- Modifications for Microsoft Visual C++ compilation.
- Improved pjinfo to output binary headers and view data, useful
- when manually compiling phantoms that vary during projection
- process. Thanks to Ian Kay for idea and code submission.
- Improved sorting to find median in ImageFile::statistics
- Fixed core-dump bug in Array2dFile::labelsCopy() function (Ian Kay)
- Changed reconstruction dialog to fix onto smaller screens
- Fixed display of plotting in Projection views
- Improved animation displays for Projections and Reconstructions
- Changed code to explicitly use std:: namespace rather than
- "namespace using std" statements
- Fixed reconstruction scaling bug introduced in 2.0.6
- Renamed if2img to ifexport, if-1 to if1, if-2 to if2
-
-2.0.6 - 12/03/00
- Fixed minor compilation problem with procsignal.h
- Updated README file
- Fixed bug when simulating projections and Trace == CONSOLE
- Fixed scaling bug when performing redundant rotations around object
-
-2.0.5 - 12/01/00
- Improved compilation on RedHat 7
- Changed some of ANSI C header files to C++ header files
- Removed README.RedHat7
-
-2.0.4 - 11/25/00
- Added documentation for --geometry setting
- Added README.RedHat7 document
-
-2.0.3 - 11/20/00
- Fixed bug in generation of binary PGM files
- Fixed MPI compilation bug in phm2pj.cpp
- Inverted y-axis output for pj2if (bug alert from Ian Kay)
-
-2.0.2 - 11/8/00
- Additions to man pages (Ian Kay)
- Fix problem with reading of ASCII phantom files (Ian Kay)
-
-2.0.1 - 10/1/00
- Fixed syntax error in fftw configuration
- Slight modifications to support gcc v2.9.6
-
-2.0.0 - 9/7/00
- Version 2.0.0 released!
- ctsim: Added Window menu to Main frame
- ctsim: Disabled not support reconstruction method
- Fixed obscure bug in sys_error
- Fixed compilation in mingw environment not present
- Fixed compilation in non-graphical environments
-
-2.0.0-b12 - 9/4/00
- ctsim: Added animation of reconstruction
- ctsim: Added saving of dialog parameters for Projection & Reconstruction
- ctsim: Added progress dialog for rasterization of phantom
- ctsim: used setpriority to set lower priority
- ctsim: fixed pReconstruct not being deleted causing scaling problem
- ctsim: fixed projection animation dialog buttons
-
-2.0.0-b11 - 9/1/00
- ctsim: Added projection graph to animation of projection collection
- ctsim: Added single stepping to projection collection animation
- ctsim: improved File/Properties display for projection files
- ctsim: Added progress dialog for reconstructions
- ctsim: Added file labels for projection and reconstruction images
- ctsim: Made File/Properties bring up modal dialogs
- Added reconstruction for Equilinear and Equiangular geometries
- Changed theta to be -PI/2 to make compliant with Kak-Slaney formulas
- Separated reconstruction into Reconstructor class
- Fixed center of detector adjustment for even number of detectors
- Added --enable-static to generate statically linked programs
-
-2.0.0-b10 - 8/25/00
- ctsim: Added animation of projection collection processs
- ctsim: Added Auto Scaling for image windows
- ctsim: Change menus from "windowing" to "display scaling"
- Added FieldOfView and FocalLength ratio parameters to projection collection
- Added FocalLength & FieldOfView fields to projection data files
- Added Projection collection for Equilinear and Equiangular geometries
- Changed name of Rowland Phantom to correct name of Shepp-Logan
- Fixed bug in backprojection selection
-
-2.0.0-b9 - 8/22/00
- Added RCS Id strings to executable files
- Added RPM Spec file for RPM package creation
- Added loading of ASCII phanthom definitions from files
- Fixed compilation for non-SGP architectures
- Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
- Added Filter-Generation option to reconstruction to allow direct or
- inverse_fourier construction of filters
- Added median to statistics and to auto-windowing
-
-2.0.0-b8 - 8/1/00
- Added line color support to SGP
- Fixed lineAbs bug
-
-2.0.0-b7 - 7/25/00
- Finished support for dmallocxx library
- Fixed bug in SignalFilter::convertFilterMethodNameToID()
- Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
- G2 windows and well as WXWindows.
- ctsim program: "Create Phantom" now shows phantom object
- Fixed row-plot bug in if-2
- Reworked EZPlot's multiple plot operation
-
-2.0.0-b6 - 7/22/00
- ctsim program: improved initial size and scroll area for image
- and projection files
- ctsim program: added rasterization parameters, projections parameters,
- and reconstruction parameters dialogs
- Moved char[] static definition from header files to c++ files
- Completely reorganized option processing in classes to improve
- expandability and to assist ctsim graphical user interface.
-
-2.0.0-b5 - 7/17/00
- ctsim program: Added dialog to set minimum/maximum display levels
- Started ctsim.tex document file
-
-2.0.0-b4 - 7/13/00
- Fixed compiler warnings at -Wall level
- Began work on CTSim program to be graphical front-end of all functions
- Moved current src/*.cpp to tools/*.cpp
- Made CTSim graphical front-end's home to be src/
-
-2.0.0-b3 - 7/10/00
- Added highly optimized backprojection method idiff3
- Moved comparative stats to if-2 program from ifinfo
- Fixed image display in if2img using G2 library
- Added column-plot and row-plot options to if-2
- Added autoselection of analytic/calculated spatial responses to SignalFilter
- Added frequency-based preinterpolation to SignalFilter and idiff3
- backprojection method. Currently, this technique is still under
- development and debugging
- Moved graphic file writing to ImageFile class from if2img program
-
-2.0.0-b2 - 7/07/00
- Cleaned up SignalFilter class
- Added zeropad option to pjrec
- Added zeropad options to html and cgi files
- Added fourier_table and rfttw filter methods
- Added FFTW routines to use real/half-complex transformations
-
-2.0.0-b1 - 7/05/00
- Updated trace level processing
- Added trace level to SignalFilter
- Fixed magnitude vs. real output bug in FFT/Fourier filter
-
-1.9.9 - 7/04/00
- Fixed const issue with ImageFileArray
- Fixed Array2dFile::labelsCopy()
- Added copy constructor and assignment for Array2dFileLabel class
- Added Timer to if-2.cpp and ifinfo.cpp
- Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
- Added option processing for filter-method for pjrec to choose
- between convolution, dft, & fft filtering
- Fixed format string for EZPlot so axis labels now print
- Added support for FFTW library
-
-1.9.8 - 6/27/2000
- Rewrote Array2dFile class to be non-templated
- Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
- Rewrote Array2dFileLabel class to make members private, added access routines
- Removed timedate.cpp in favor of standard C library time/date functions
- Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
- Added signature tag and creation date/time to projection files
-
-1.9.7 - 6/25/2000
- Standardized string option processing by classes. All classes use character strings
- to select options rather than numeric constants. Added fail() and failMessage()
- methods to verify that objects are created correctly by character strings.
- Hid C++ assignment and copy constructors in classes that should not have assignment/copy
- Rewrote ImageFile class
- Started support for dmallocxx library, not finished
- Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
- Updated ifinfo to show comparative statistics
- Added printLabels() to Array2dFile class
- Added printStatistics() to ImageFile class
-
-1.9.6 - 6/22/2000
- Moved conversion filter name/id to Filter class
- Moved conversion backprojection name/id to Backproj class
- Added MPI broadcasting of strings
-
-1.9.5 - 6/21/2000
- Merged proj_reconstr into class Projections
- Used auto_ptr in Projections::reconstruct to make sure destructor is always called
- Code cleanup in projections.cpp
- Moved conversion of phantom names/id to Phantom class
-
-1.9.4 - 6/20/2000
- Converted projection files to C++ library with frnetorderstream
- Converted image files to C++ library with frnetorderstream
- Converted filter and convolution to object-oriented code
- Changed default image file to float from double -- Changable in imagefile.h
- Optimized image file writing on little-endian architectures
- Updated README and INSTALL
-
-1.9.3 - 6/19/2000
- Reorganized source files
- MPI bug fixed to phm2pj.cpp
-
-1.9.2 - 6/18/2000
- Reorganized include files
- Fixed const pointers in strfuncs
-
-1.9.1 - 6/16/2000
- Renamed directories, moved source files, combined source files
- to change from 6 libraries to 3 libraries (libctsim, libctsupport,
- and libctgraphics)
-
-1.9.0 - 6/15/2000
- Skip versions to make version 2.0 the first fully C++ version
- Renamed Raysums to Projections throughout files
- Renamed Detector to Scanner
- Converted Scanner and Projecions to full object-oriented
-
-0.6.1 - 6/12/2000
- Converted Phantom and PhantomElements to Object-Oriented
- Converted Detector to Object-Oriented
-
-0.6.0-b3 - 6/10/2000
- Improved Integer backprojection method
- Fixed nearest neighbor to be truly nearest neighbor
- Made linear interpolation more integer arithmetic -> speed improvement
- Finished converting all C files to C++
- Converted all use of malloc/free to C++ new/delete
- Began object-oriented conversion of Phantom and Projection structures
-
-0.6.0-b2 - 6/8/2000
- Converted MPI data structures to C++ object
- Made ImageFile directly inherit from Array2dFile
-
-0.6.0-b1 - 6/6/2000
- First C++ conversions
- Portable IF (image file) format implemented with objects (SDF removed)
- - Now all data files are cross-platform compatible
- Converted from MPI to MPI++
- Converted backprojection to object-oriented
- Removed MTX from libkmath as no longer need -- replaced with C++ matrices
-
-0.5.4 - 6/4/2000
- Simpilifed endian handling
-
-0.5.4-b3 - 6/1/2000
- Added support for 64-bit (IA64) CPU
- Removed broken B-spline interpolation
- Added support for cygwin platform under Windows 2000
- Added support for 16-bit PNG graphics
-
-0.5.4-b2 - 5/16/2000
- Added compile-time configuration of endian order
-
-0.5.4-b1 - 5/14/2000
- Modified the raysum file format to be platform independent
-
-0.5.3 - 5/11/2000
- Added Microsoft VC compatibility
- Cleaned up compilation warnings in libgraph
-
-0.5.2-b5 - 5/7/2000
- Continued conversion to ANSI C
- Removed old CRT routines
-
-0.5.2-b4 - 5/4/2000
- Renamed pictures to phantoms, objects to phantom elements
- Continued code cleanup
-
-0.5.2-b3 - 4/30/200
- More code cleanup with reorganizing libraries
- Added --log and --exp to sdf-1
- Allowed negative numbers for window levels in CGI interface
-
-0.5.2-b2 - 4/30/200
- Continued code cleanup
-
-0.5.2-b1 - 4/29/2000
- Fixed a few MPI bugs
- Better documented, coded raysum in-memory on on-disk options
-
-0.5.1 - 4/28/2000
- Cleaned out library that wasn't being used by CTSim
- Modified ctsim.cgi to read in configuration file ctsim.conf
-
-0.5.0 - 4/27/2000
- First open source distribution for GNU/Linux
-
-6/1999
- Converted to GNU/Linux
- added MPI support via LAM library
-
-1983-84
- Developed under MS-DOS and IBM EGA graphics
-
+3.0.0alpha3\r
+\r
+ * ctsim: Added plotting of histograms\r
+ \r
+ * imagefile.cpp: fixed bug in generation of 16-bit PNG images\r
+\r
+ * ezplot.cpp: adjusted xtick label displays for better placement\r
+ \r
+3.0alpha2 - Released 1/02/01\r
+ \r
+ * ctsim: All functions of command-line tools are now in graphical ctsim\r
+ \r
+ * ctsim: added generation of filter images\r
+\r
+ * ctsim: Added 2-image math functions (mul, add, div, sub)\r
+\r
+ * ctsim: Added export of imagefiles to graphic file formats\r
+\r
+ * ctsim: Added support for scaling imagefiles in new sizes\r
+\r
+ * ctsim: Added ability to save standard phantom definitions as\r
+ text files suitable for reading.\r
+ \r
+ * ctsim: Add labels for image transformations and display of labels\r
+ when performing properties of images.\r
+\r
+ * processsignal.cpp: Fixed "off by one" bug in\r
+ shuffleNaturalToFourierOrder when n is even. Moved functions to\r
+ fourier.cpp\r
+\r
+ * imagefile.cpp: Added FFTW library to imagefile processing. Converted\r
+ image math functions to complex-valued math.\r
+\r
+ * phantom.cpp: Added ability to save phantom files as ASCII text.\r
+ \r
+3.0alpha1 - Released 12/29/00\r
+\r
+ * Added PlotFile class to system, used by if2 and ctsim for row\r
+ and column plots and comparison plots\r
+\r
+ * ctsim: Added image comparison statistics and image subtraction\r
+\r
+ * ctsim: Added plotting of rows & columns with y-axis scaling \r
+\r
+ * ctsim: Added row and column plot comparisons between two image\r
+ files.\r
+\r
+ * ctsim: Added "Process" menu to image file display with math\r
+ functions. Added 2-dimensional inverse Fourier to math\r
+ functions. Added support for complex (real/imaginary) images.\r
+\r
+ * mathfuncs.cpp: Reworked statistics algorithm to share between\r
+ imagefile and plotfile classes.\r
+\r
+ * imagefile.cpp: Fixed scaling bug when rasterizing Phantom with\r
+ nsamples > 2. Added generic mage math functions, moved from\r
+ if1.cpp and if2.cpp to imagefile.cpp. Added support complex\r
+ images.\r
+\r
+ * array2dfile.cpp: Added code to support complex (real/imaginary)\r
+ images.\r
+\r
+ * if1: Updated to handle error conditions, such as sqrt of a\r
+ negative number. Converted to use new ImageFile math functions.\r
+ \r
+ * if2: Updated to output plot files and use new ImageFile class\r
+ math functions\r
+\r
+ * if1: Updated to use new ImageFile class math functions\r
+\r
+ * ezplot: Reworked to better store colors/linestyles/symbols with\r
+ individual curves. Improved display of labels and ticks. Updated\r
+ to use POL class member variable. Updated to more C++ conventions.\r
+\r
+ * pol: converted to C++ class. Extracted HashTable to separate\r
+ class.\r
+ \r
+ * sgp: Added linestyle settings\r
+ \r
+2.5.0 - 12/18/00 \r
+ First Microsoft Windows GUI version\r
+ Modifications for Microsoft Visual C++ compilation.\r
+ Improved pjinfo to output binary headers and view data, useful\r
+ when manually compiling phantoms that vary during projection\r
+ process. Thanks to Ian Kay for idea and code submission.\r
+ Improved sorting to find median in ImageFile::statistics\r
+ Fixed core-dump bug in Array2dFile::labelsCopy() function (Ian Kay) \r
+ Changed reconstruction dialog to fix onto smaller screens\r
+ Fixed display of plotting in Projection views\r
+ Improved animation displays for Projections and Reconstructions\r
+ Changed code to explicitly use std:: namespace rather than \r
+ "namespace using std" statements\r
+ Fixed reconstruction scaling bug introduced in 2.0.6\r
+ Renamed if2img to ifexport, if-1 to if1, if-2 to if2\r
+ \r
+2.0.6 - 12/03/00\r
+ Fixed minor compilation problem with procsignal.h\r
+ Updated README file\r
+ Fixed bug when simulating projections and Trace == CONSOLE\r
+ Fixed scaling bug when performing redundant rotations around object\r
+ \r
+2.0.5 - 12/01/00\r
+ Improved compilation on RedHat 7\r
+ Changed some of ANSI C header files to C++ header files\r
+ Removed README.RedHat7\r
+ \r
+2.0.4 - 11/25/00\r
+ Added documentation for --geometry setting\r
+ Added README.RedHat7 document\r
+ \r
+2.0.3 - 11/20/00\r
+ Fixed bug in generation of binary PGM files\r
+ Fixed MPI compilation bug in phm2pj.cpp\r
+ Inverted y-axis output for pj2if (bug alert from Ian Kay)\r
+ \r
+2.0.2 - 11/8/00\r
+ Additions to man pages (Ian Kay)\r
+ Fix problem with reading of ASCII phantom files (Ian Kay)\r
+\r
+2.0.1 - 10/1/00\r
+ Fixed syntax error in fftw configuration\r
+ Slight modifications to support gcc v2.9.6\r
+ \r
+2.0.0 - 9/7/00\r
+ Version 2.0.0 released!\r
+ ctsim: Added Window menu to Main frame\r
+ ctsim: Disabled not support reconstruction method\r
+ Fixed obscure bug in sys_error\r
+ Fixed compilation in mingw environment not present\r
+ Fixed compilation in non-graphical environments \r
+ \r
+2.0.0-b12 - 9/4/00\r
+ ctsim: Added animation of reconstruction\r
+ ctsim: Added saving of dialog parameters for Projection & Reconstruction\r
+ ctsim: Added progress dialog for rasterization of phantom\r
+ ctsim: used setpriority to set lower priority\r
+ ctsim: fixed pReconstruct not being deleted causing scaling problem\r
+ ctsim: fixed projection animation dialog buttons\r
+\r
+2.0.0-b11 - 9/1/00\r
+ ctsim: Added projection graph to animation of projection collection \r
+ ctsim: Added single stepping to projection collection animation\r
+ ctsim: improved File/Properties display for projection files\r
+ ctsim: Added progress dialog for reconstructions\r
+ ctsim: Added file labels for projection and reconstruction images\r
+ ctsim: Made File/Properties bring up modal dialogs\r
+ Added reconstruction for Equilinear and Equiangular geometries\r
+ Changed theta to be -PI/2 to make compliant with Kak-Slaney formulas\r
+ Separated reconstruction into Reconstructor class\r
+ Fixed center of detector adjustment for even number of detectors\r
+ Added --enable-static to generate statically linked programs\r
+ \r
+2.0.0-b10 - 8/25/00\r
+ ctsim: Added animation of projection collection processs\r
+ ctsim: Added Auto Scaling for image windows\r
+ ctsim: Change menus from "windowing" to "display scaling"\r
+ Added FieldOfView and FocalLength ratio parameters to projection collection\r
+ Added FocalLength & FieldOfView fields to projection data files\r
+ Added Projection collection for Equilinear and Equiangular geometries\r
+ Changed name of Rowland Phantom to correct name of Shepp-Logan\r
+ Fixed bug in backprojection selection\r
+ \r
+2.0.0-b9 - 8/22/00\r
+ Added RCS Id strings to executable files\r
+ Added RPM Spec file for RPM package creation\r
+ Added loading of ASCII phanthom definitions from files\r
+ Fixed compilation for non-SGP architectures \r
+ Decomposed SignalFilter class into ProcessSignal and SignalFilter classes\r
+ Added Filter-Generation option to reconstruction to allow direct or \r
+ inverse_fourier construction of filters\r
+ Added median to statistics and to auto-windowing\r
+ \r
+2.0.0-b8 - 8/1/00\r
+ Added line color support to SGP\r
+ Fixed lineAbs bug\r
+ \r
+2.0.0-b7 - 7/25/00\r
+ Finished support for dmallocxx library\r
+ Fixed bug in SignalFilter::convertFilterMethodNameToID()\r
+ Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to \r
+ G2 windows and well as WXWindows.\r
+ ctsim program: "Create Phantom" now shows phantom object\r
+ Fixed row-plot bug in if-2\r
+ Reworked EZPlot's multiple plot operation\r
+ \r
+2.0.0-b6 - 7/22/00\r
+ ctsim program: improved initial size and scroll area for image \r
+ and projection files\r
+ ctsim program: added rasterization parameters, projections parameters,\r
+ and reconstruction parameters dialogs\r
+ Moved char[] static definition from header files to c++ files\r
+ Completely reorganized option processing in classes to improve\r
+ expandability and to assist ctsim graphical user interface.\r
+ \r
+2.0.0-b5 - 7/17/00\r
+ ctsim program: Added dialog to set minimum/maximum display levels \r
+ Started ctsim.tex document file\r
+ \r
+2.0.0-b4 - 7/13/00\r
+ Fixed compiler warnings at -Wall level\r
+ Began work on CTSim program to be graphical front-end of all functions\r
+ Moved current src/*.cpp to tools/*.cpp\r
+ Made CTSim graphical front-end's home to be src/\r
+ \r
+2.0.0-b3 - 7/10/00\r
+ Added highly optimized backprojection method idiff3\r
+ Moved comparative stats to if-2 program from ifinfo\r
+ Fixed image display in if2img using G2 library\r
+ Added column-plot and row-plot options to if-2\r
+ Added autoselection of analytic/calculated spatial responses to SignalFilter\r
+ Added frequency-based preinterpolation to SignalFilter and idiff3\r
+ backprojection method. Currently, this technique is still under\r
+ development and debugging\r
+ Moved graphic file writing to ImageFile class from if2img program\r
+\r
+2.0.0-b2 - 7/07/00 \r
+ Cleaned up SignalFilter class\r
+ Added zeropad option to pjrec\r
+ Added zeropad options to html and cgi files\r
+ Added fourier_table and rfttw filter methods\r
+ Added FFTW routines to use real/half-complex transformations\r
+ \r
+2.0.0-b1 - 7/05/00\r
+ Updated trace level processing\r
+ Added trace level to SignalFilter\r
+ Fixed magnitude vs. real output bug in FFT/Fourier filter\r
+ \r
+1.9.9 - 7/04/00\r
+ Fixed const issue with ImageFileArray\r
+ Fixed Array2dFile::labelsCopy()\r
+ Added copy constructor and assignment for Array2dFileLabel class\r
+ Added Timer to if-2.cpp and ifinfo.cpp\r
+ Added beginning of frequency-based (DFT & FFT) filter to SignalFilter\r
+ Added option processing for filter-method for pjrec to choose\r
+ between convolution, dft, & fft filtering\r
+ Fixed format string for EZPlot so axis labels now print\r
+ Added support for FFTW library\r
+ \r
+1.9.8 - 6/27/2000\r
+ Rewrote Array2dFile class to be non-templated\r
+ Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.\r
+ Rewrote Array2dFileLabel class to make members private, added access routines\r
+ Removed timedate.cpp in favor of standard C library time/date functions\r
+ Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim\r
+ Added signature tag and creation date/time to projection files\r
+ \r
+1.9.7 - 6/25/2000\r
+ Standardized string option processing by classes. All classes use character strings\r
+ to select options rather than numeric constants. Added fail() and failMessage()\r
+ methods to verify that objects are created correctly by character strings.\r
+ Hid C++ assignment and copy constructors in classes that should not have assignment/copy\r
+ Rewrote ImageFile class\r
+ Started support for dmallocxx library, not finished\r
+ Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)\r
+ Updated ifinfo to show comparative statistics\r
+ Added printLabels() to Array2dFile class\r
+ Added printStatistics() to ImageFile class\r
+ \r
+1.9.6 - 6/22/2000\r
+ Moved conversion filter name/id to Filter class\r
+ Moved conversion backprojection name/id to Backproj class\r
+ Added MPI broadcasting of strings\r
+ \r
+1.9.5 - 6/21/2000\r
+ Merged proj_reconstr into class Projections\r
+ Used auto_ptr in Projections::reconstruct to make sure destructor is always called\r
+ Code cleanup in projections.cpp\r
+ Moved conversion of phantom names/id to Phantom class\r
+ \r
+1.9.4 - 6/20/2000\r
+ Converted projection files to C++ library with frnetorderstream\r
+ Converted image files to C++ library with frnetorderstream\r
+ Converted filter and convolution to object-oriented code\r
+ Changed default image file to float from double -- Changable in imagefile.h\r
+ Optimized image file writing on little-endian architectures\r
+ Updated README and INSTALL\r
+ \r
+1.9.3 - 6/19/2000\r
+ Reorganized source files\r
+ MPI bug fixed to phm2pj.cpp\r
+ \r
+1.9.2 - 6/18/2000\r
+ Reorganized include files\r
+ Fixed const pointers in strfuncs\r
+ \r
+1.9.1 - 6/16/2000\r
+ Renamed directories, moved source files, combined source files\r
+ to change from 6 libraries to 3 libraries (libctsim, libctsupport,\r
+ and libctgraphics)\r
+ \r
+1.9.0 - 6/15/2000\r
+ Skip versions to make version 2.0 the first fully C++ version\r
+ Renamed Raysums to Projections throughout files\r
+ Renamed Detector to Scanner\r
+ Converted Scanner and Projecions to full object-oriented\r
+ \r
+0.6.1 - 6/12/2000\r
+ Converted Phantom and PhantomElements to Object-Oriented\r
+ Converted Detector to Object-Oriented\r
+ \r
+0.6.0-b3 - 6/10/2000\r
+ Improved Integer backprojection method\r
+ Fixed nearest neighbor to be truly nearest neighbor\r
+ Made linear interpolation more integer arithmetic -> speed improvement\r
+ Finished converting all C files to C++\r
+ Converted all use of malloc/free to C++ new/delete\r
+ Began object-oriented conversion of Phantom and Projection structures\r
+ \r
+0.6.0-b2 - 6/8/2000\r
+ Converted MPI data structures to C++ object\r
+ Made ImageFile directly inherit from Array2dFile\r
+ \r
+0.6.0-b1 - 6/6/2000\r
+ First C++ conversions\r
+ Portable IF (image file) format implemented with objects (SDF removed)\r
+ - Now all data files are cross-platform compatible\r
+ Converted from MPI to MPI++\r
+ Converted backprojection to object-oriented\r
+ Removed MTX from libkmath as no longer need -- replaced with C++ matrices \r
+ \r
+0.5.4 - 6/4/2000\r
+ Simpilifed endian handling\r
+ \r
+0.5.4-b3 - 6/1/2000\r
+ Added support for 64-bit (IA64) CPU\r
+ Removed broken B-spline interpolation\r
+ Added support for cygwin platform under Windows 2000\r
+ Added support for 16-bit PNG graphics\r
+ \r
+0.5.4-b2 - 5/16/2000\r
+ Added compile-time configuration of endian order\r
+\r
+0.5.4-b1 - 5/14/2000\r
+ Modified the raysum file format to be platform independent\r
+ \r
+0.5.3 - 5/11/2000\r
+ Added Microsoft VC compatibility\r
+ Cleaned up compilation warnings in libgraph\r
+ \r
+0.5.2-b5 - 5/7/2000\r
+ Continued conversion to ANSI C \r
+ Removed old CRT routines\r
+ \r
+0.5.2-b4 - 5/4/2000\r
+ Renamed pictures to phantoms, objects to phantom elements\r
+ Continued code cleanup\r
+ \r
+0.5.2-b3 - 4/30/200\r
+ More code cleanup with reorganizing libraries\r
+ Added --log and --exp to sdf-1\r
+ Allowed negative numbers for window levels in CGI interface\r
+\r
+0.5.2-b2 - 4/30/200\r
+ Continued code cleanup\r
+ \r
+0.5.2-b1 - 4/29/2000\r
+ Fixed a few MPI bugs\r
+ Better documented, coded raysum in-memory on on-disk options\r
+ \r
+0.5.1 - 4/28/2000\r
+ Cleaned out library that wasn't being used by CTSim \r
+ Modified ctsim.cgi to read in configuration file ctsim.conf\r
+\r
+0.5.0 - 4/27/2000 \r
+ First open source distribution for GNU/Linux\r
+ \r
+6/1999 \r
+ Converted to GNU/Linux\r
+ added MPI support via LAM library\r
+ \r
+1983-84 \r
+ Developed under MS-DOS and IBM EGA graphics\r
+\r