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 Fixed compilation for non-SGP architectures
6 Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
7 Added Filter-Generation option to reconstruction to allow direct or
8 inverse_fourier construction of filters
11 Added line color support to SGP
15 Finished support for dmallocxx library
16 Fixed bug in SignalFilter::convertFilterMethodNameToID()
17 Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
18 G2 windows and well as WXWindows.
19 ctsim program: "Create Phantom" now shows phantom object
20 Fixed row-plot bug in if-2
21 Reworked EZPlot's multiple plot operation
24 ctsim program: improved initial size and scroll area for image
26 ctsim program: added rasterization parameters, projections parameters,
27 and reconstruction parameters dialogs
28 Moved char[] static definition from header files to c++ files
29 Completely reorganized option processing in classes to improve
30 expandability and to assist ctsim graphical user interface.
33 ctsim program: Added dialog to set minimum/maximum display levels
34 Started ctsim.tex document file
37 Fixed compiler warnings at -Wall level
38 Began work on CTSim program to be graphical front-end of all functions
39 Moved current src/*.cpp to tools/*.cpp
40 Made CTSim graphical front-end's home to be src/
43 Added highly optimized backprojection method idiff3
44 Moved comparative stats to if-2 program from ifinfo
45 Fixed image display in if2img using G2 library
46 Added column-plot and row-plot options to if-2
47 Added autoselection of analytic/calculated spatial responses to SignalFilter
48 Added frequency-based preinterpolation to SignalFilter and idiff3
49 backprojection method. Currently, this technique is still under
50 development and debugging
51 Moved graphic file writing to ImageFile class from if2img program
54 Cleaned up SignalFilter class
55 Added zeropad option to pjrec
56 Added zeropad options to html and cgi files
57 Added fourier_table and rfttw filter methods
58 Added FFTW routines to use real/half-complex transformations
61 Updated trace level processing
62 Added trace level to SignalFilter
63 Fixed magnitude vs. real output bug in FFT/Fourier filter
66 Fixed const issue with ImageFileArray
67 Fixed Array2dFile::labelsCopy()
68 Added copy constructor and assignment for Array2dFileLabel class
69 Added Timer to if-2.cpp and ifinfo.cpp
70 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
71 Added option processing for filter-method for pjrec to choose
72 between convolution, dft, & fft filtering
73 Fixed format string for EZPlot so axis labels now print
74 Added support for FFTW library
77 Rewrote Array2dFile class to be non-templated
78 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
79 Rewrote Array2dFileLabel class to make members private, added access routines
80 Removed timedate.cpp in favor of standard C library time/date functions
81 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
82 Added signature tag and creation date/time to projection files
85 Standardized string option processing by classes. All classes use character strings
86 to select options rather than numeric constants. Added fail() and failMessage()
87 methods to verify that objects are created correctly by character strings.
88 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
89 Rewrote ImageFile class
90 Started support for dmallocxx library, not finished
91 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
92 Updated ifinfo to show comparative statistics
93 Added printLabels() to Array2dFile class
94 Added printStatistics() to ImageFile class
97 Moved conversion filter name/id to Filter class
98 Moved conversion backprojection name/id to Backproj class
99 Added MPI broadcasting of strings
102 Merged proj_reconstr into class Projections
103 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
104 Code cleanup in projections.cpp
105 Moved conversion of phantom names/id to Phantom class
108 Converted projection files to C++ library with frnetorderstream
109 Converted image files to C++ library with frnetorderstream
110 Converted filter and convolution to object-oriented code
111 Changed default image file to float from double -- Changable in imagefile.h
112 Optimized image file writing on little-endian architectures
113 Updated README and INSTALL
116 Reorganized source files
117 MPI bug fixed to phm2pj.cpp
120 Reorganized include files
121 Fixed const pointers in strfuncs
124 Renamed directories, moved source files, combined source files
125 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
129 Skip versions to make version 2.0 the first fully C++ version
130 Renamed Raysums to Projections throughout files
131 Renamed Detector to Scanner
132 Converted Scanner and Projecions to full object-oriented
135 Converted Phantom and PhantomElements to Object-Oriented
136 Converted Detector to Object-Oriented
139 Improved Integer backprojection method
140 Fixed nearest neighbor to be truly nearest neighbor
141 Made linear interpolation more integer arithmetic -> speed improvement
142 Finished converting all C files to C++
143 Converted all use of malloc/free to C++ new/delete
144 Began object-oriented conversion of Phantom and Projection structures
147 Converted MPI data structures to C++ object
148 Made ImageFile directly inherit from Array2dFile
151 First C++ conversions
152 Portable IF (image file) format implemented with objects (SDF removed)
153 - Now all data files are cross-platform compatible
154 Converted from MPI to MPI++
155 Converted backprojection to object-oriented
156 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
159 Simpilifed endian handling
162 Added support for 64-bit (IA64) CPU
163 Removed broken B-spline interpolation
164 Added support for cygwin platform under Windows 2000
165 Added support for 16-bit PNG graphics
168 Added compile-time configuration of endian order
171 Modified the raysum file format to be platform independent
174 Added Microsoft VC compatibility
175 Cleaned up compilation warnings in libgraph
178 Continued conversion to ANSI C
179 Removed old CRT routines
182 Renamed pictures to phantoms, objects to phantom elements
183 Continued code cleanup
186 More code cleanup with reorganizing libraries
187 Added --log and --exp to sdf-1
188 Allowed negative numbers for window levels in CGI interface
191 Continued code cleanup
195 Better documented, coded raysum in-memory on on-disk options
198 Cleaned out library that wasn't being used by CTSim
199 Modified ctsim.cgi to read in configuration file ctsim.conf
202 First open source distribution for GNU/Linux
205 Converted to GNU/Linux
206 added MPI support via LAM library
209 Developed under MS-DOS and IBM EGA graphics