+3.0.0beta1 - Released
+
+ * ctsim: Fixed initialization of min/max for PlotFiles
+
+3.0.0alpha3 - Released 1/02/01
+
+ * ctsim: Added plotting of histograms
+
+ * imagefile.cpp: fixed bug in generation of 16-bit PNG images
+
+ * ezplot.cpp: adjusted xtick label displays for better placement
+
+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
added MPI support via LAM library
1983-84
- Developed under MS-DOS and IBM EGA graphics
\ No newline at end of file
+ Developed under MS-DOS and IBM EGA graphics
+