2 Added highly optimized backprojection method idiff3
3 Moved comparative stats to if-2 program from ifinfo
4 Fixed image display in if2img using G2 library
5 Added column-plot and row-plot options to if-2
6 Added autoselection of analytic/calculated spatial responses to SignalFilter
7 Added frequency-based preinterpolation to SignalFilter and idiff3
8 backprojection method. Currently, this technique is still under
9 development and debugging
10 Moved graphic file writing to ImageFile class from if2img program
13 Cleaned up SignalFilter class
14 Added zeropad option to pjrec
15 Added zeropad options to html and cgi files
16 Added fourier_table and rfttw filter methods
17 Added FFTW routines to use real/half-complex transformations
20 Updated trace level processing
21 Added trace level to SignalFilter
22 Fixed magnitude vs. real output bug in FFT/Fourier filter
25 Fixed const issue with ImageFileArray
26 Fixed Array2dFile::labelsCopy()
27 Added copy constructor and assignment for Array2dFileLabel class
28 Added Timer to if-2.cpp and ifinfo.cpp
29 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
30 Added option processing for filter-method for pjrec to choose
31 between convolution, dft, & fft filtering
32 Fixed format string for EZPlot so axis labels now print
33 Added support for FFTW library
36 Rewrote Array2dFile class to be non-templated
37 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
38 Rewrote Array2dFileLabel class to make members private, added access routines
39 Removed timedate.cpp in favor of standard C library time/date functions
40 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
41 Added signature tag and creation date/time to projection files
44 Standardized string option processing by classes. All classes use character strings
45 to select options rather than numeric constants. Added fail() and failMessage()
46 methods to verify that objects are created correctly by character strings.
47 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
48 Rewrote ImageFile class
49 Started support for dmallocxx library, not finished
50 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
51 Updated ifinfo to show comparative statistics
52 Added printLabels() to Array2dFile class
53 Added printStatistics() to ImageFile class
56 Moved conversion filter name/id to Filter class
57 Moved conversion backprojection name/id to Backproj class
58 Added MPI broadcasting of strings
61 Merged proj_reconstr into class Projections
62 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
63 Code cleanup in projections.cpp
64 Moved conversion of phantom names/id to Phantom class
67 Converted projection files to C++ library with frnetorderstream
68 Converted image files to C++ library with frnetorderstream
69 Converted filter and convolution to object-oriented code
70 Changed default image file to float from double -- Changable in imagefile.h
71 Optimized image file writing on little-endian architectures
72 Updated README and INSTALL
75 Reorganized source files
76 MPI bug fixed to phm2pj.cpp
79 Reorganized include files
80 Fixed const pointers in strfuncs
83 Renamed directories, moved source files, combined source files
84 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
88 Skip versions to make version 2.0 the first fully C++ version
89 Renamed Raysums to Projections throughout files
90 Renamed Detector to Scanner
91 Converted Scanner and Projecions to full object-oriented
94 Converted Phantom and PhantomElements to Object-Oriented
95 Converted Detector to Object-Oriented
98 Improved Integer backprojection method
99 Fixed nearest neighbor to be truly nearest neighbor
100 Made linear interpolation more integer arithmetic -> speed improvement
101 Finished converting all C files to C++
102 Converted all use of malloc/free to C++ new/delete
103 Began object-oriented conversion of Phantom and Projection structures
106 Converted MPI data structures to C++ object
107 Made ImageFile directly inherit from Array2dFile
110 First C++ conversions
111 Portable IF (image file) format implemented with objects (SDF removed)
112 - Now all data files are cross-platform compatible
113 Converted from MPI to MPI++
114 Converted backprojection to object-oriented
115 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
118 Simpilifed endian handling
121 Added support for 64-bit (IA64) CPU
122 Removed broken B-spline interpolation
123 Added support for cygwin platform under Windows 2000
124 Added support for 16-bit PNG graphics
127 Added compile-time configuration of endian order
130 Modified the raysum file format to be platform independent
133 Added Microsoft VC compatibility
134 Cleaned up compilation warnings in libgraph
137 Continued conversion to ANSI C
138 Removed old CRT routines
141 Renamed pictures to phantoms, objects to phantom elements
142 Continued code cleanup
145 More code cleanup with reorganizing libraries
146 Added --log and --exp to sdf-1
147 Allowed negative numbers for window levels in CGI interface
150 Continued code cleanup
154 Better documented, coded raysum in-memory on on-disk options
157 Cleaned out library that wasn't being used by CTSim
158 Modified ctsim.cgi to read in configuration file ctsim.conf
161 First open source distribution for GNU/Linux
164 Converted to GNU/Linux
165 added MPI support via LAM library
168 Developed under MS-DOS and IBM EGA graphics