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