2 Added RCS Id strings to executable files
3 Added RPM Spec file for RPM package creation
4 Added loading of ASCII phanthom definitions from files
5 Added Filter-Generation option to reconstruction
6 Fixed compilation for non-SGP architectures
7 Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
9 Added line color support to SGP
13 Finished support for dmallocxx library
14 Fixed bug in SignalFilter::convertFilterMethodNameToID()
15 Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
16 G2 windows and well as WXWindows.
17 ctsim program: "Create Phantom" now shows phantom object
18 Fixed row-plot bug in if-2
19 Reworked EZPlot's multiple plot operation
22 ctsim program: improved initial size and scroll area for image
24 ctsim program: added rasterization parameters, projections parameters,
25 and reconstruction parameters dialogs
26 Moved char[] static definition from header files to c++ files
27 Completely reorganized option processing in classes to improve
28 expandability and to assist ctsim graphical user interface.
31 ctsim program: Added dialog to set minimum/maximum display levels
32 Started ctsim.tex document file
35 Fixed compiler warnings at -Wall level
36 Began work on CTSim program to be graphical front-end of all functions
37 Moved current src/*.cpp to tools/*.cpp
38 Made CTSim graphical front-end's home to be src/
41 Added highly optimized backprojection method idiff3
42 Moved comparative stats to if-2 program from ifinfo
43 Fixed image display in if2img using G2 library
44 Added column-plot and row-plot options to if-2
45 Added autoselection of analytic/calculated spatial responses to SignalFilter
46 Added frequency-based preinterpolation to SignalFilter and idiff3
47 backprojection method. Currently, this technique is still under
48 development and debugging
49 Moved graphic file writing to ImageFile class from if2img program
52 Cleaned up SignalFilter class
53 Added zeropad option to pjrec
54 Added zeropad options to html and cgi files
55 Added fourier_table and rfttw filter methods
56 Added FFTW routines to use real/half-complex transformations
59 Updated trace level processing
60 Added trace level to SignalFilter
61 Fixed magnitude vs. real output bug in FFT/Fourier filter
64 Fixed const issue with ImageFileArray
65 Fixed Array2dFile::labelsCopy()
66 Added copy constructor and assignment for Array2dFileLabel class
67 Added Timer to if-2.cpp and ifinfo.cpp
68 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
69 Added option processing for filter-method for pjrec to choose
70 between convolution, dft, & fft filtering
71 Fixed format string for EZPlot so axis labels now print
72 Added support for FFTW library
75 Rewrote Array2dFile class to be non-templated
76 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
77 Rewrote Array2dFileLabel class to make members private, added access routines
78 Removed timedate.cpp in favor of standard C library time/date functions
79 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
80 Added signature tag and creation date/time to projection files
83 Standardized string option processing by classes. All classes use character strings
84 to select options rather than numeric constants. Added fail() and failMessage()
85 methods to verify that objects are created correctly by character strings.
86 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
87 Rewrote ImageFile class
88 Started support for dmallocxx library, not finished
89 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
90 Updated ifinfo to show comparative statistics
91 Added printLabels() to Array2dFile class
92 Added printStatistics() to ImageFile class
95 Moved conversion filter name/id to Filter class
96 Moved conversion backprojection name/id to Backproj class
97 Added MPI broadcasting of strings
100 Merged proj_reconstr into class Projections
101 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
102 Code cleanup in projections.cpp
103 Moved conversion of phantom names/id to Phantom class
106 Converted projection files to C++ library with frnetorderstream
107 Converted image files to C++ library with frnetorderstream
108 Converted filter and convolution to object-oriented code
109 Changed default image file to float from double -- Changable in imagefile.h
110 Optimized image file writing on little-endian architectures
111 Updated README and INSTALL
114 Reorganized source files
115 MPI bug fixed to phm2pj.cpp
118 Reorganized include files
119 Fixed const pointers in strfuncs
122 Renamed directories, moved source files, combined source files
123 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
127 Skip versions to make version 2.0 the first fully C++ version
128 Renamed Raysums to Projections throughout files
129 Renamed Detector to Scanner
130 Converted Scanner and Projecions to full object-oriented
133 Converted Phantom and PhantomElements to Object-Oriented
134 Converted Detector to Object-Oriented
137 Improved Integer backprojection method
138 Fixed nearest neighbor to be truly nearest neighbor
139 Made linear interpolation more integer arithmetic -> speed improvement
140 Finished converting all C files to C++
141 Converted all use of malloc/free to C++ new/delete
142 Began object-oriented conversion of Phantom and Projection structures
145 Converted MPI data structures to C++ object
146 Made ImageFile directly inherit from Array2dFile
149 First C++ conversions
150 Portable IF (image file) format implemented with objects (SDF removed)
151 - Now all data files are cross-platform compatible
152 Converted from MPI to MPI++
153 Converted backprojection to object-oriented
154 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
157 Simpilifed endian handling
160 Added support for 64-bit (IA64) CPU
161 Removed broken B-spline interpolation
162 Added support for cygwin platform under Windows 2000
163 Added support for 16-bit PNG graphics
166 Added compile-time configuration of endian order
169 Modified the raysum file format to be platform independent
172 Added Microsoft VC compatibility
173 Cleaned up compilation warnings in libgraph
176 Continued conversion to ANSI C
177 Removed old CRT routines
180 Renamed pictures to phantoms, objects to phantom elements
181 Continued code cleanup
184 More code cleanup with reorganizing libraries
185 Added --log and --exp to sdf-1
186 Allowed negative numbers for window levels in CGI interface
189 Continued code cleanup
193 Better documented, coded raysum in-memory on on-disk options
196 Cleaned out library that wasn't being used by CTSim
197 Modified ctsim.cgi to read in configuration file ctsim.conf
200 First open source distribution for GNU/Linux
203 Converted to GNU/Linux
204 added MPI support via LAM library
207 Developed under MS-DOS and IBM EGA graphics