2 Improved compilation on RedHat 7
3 Changed some of ANSI C header files to C++ header files
6 Added documentation for --geometry setting
7 Added README.RedHat7 document
10 Fixed bug in generation of binary PGM files
11 Fixed MPI compilation bug in phm2pj.cpp
12 Inverted y-axis output for pj2if (bug alert from Ian Kay)
15 Additions to man pages (Ian Kay)
16 Fix problem with reading of ASCII phantom files (Ian Kay)
19 Fixed syntax error in fftw configuration
20 Slight modifications to support gcc v2.9.6
23 Version 2.0.0 released!
24 ctsim: Added Window menu to Main frame
25 ctsim: Disabled not support reconstruction method
26 Fixed obscure bug in sys_error
27 Fixed compilation in mingw environment not present
28 Fixed compilation in non-graphical environments
31 ctsim: Added animation of reconstruction
32 ctsim: Added saving of dialog parameters for Projection & Reconstruction
33 ctsim: Added progress dialog for rasterization of phantom
34 ctsim: used setpriority to set lower priority
35 ctsim: fixed pReconstruct not being deleted causing scaling problem
36 ctsim: fixed projection animation dialog buttons
39 ctsim: Added projection graph to animation of projection collection
40 ctsim: Added single stepping to projection collection animation
41 ctsim: improved File/Properties display for projection files
42 ctsim: Added progress dialog for reconstructions
43 ctsim: Added file labels for projection and reconstruction images
44 ctsim: Made File/Properties bring up modal dialogs
45 Added reconstruction for Equilinear and Equiangular geometries
46 Changed theta to be -PI/2 to make compliant with Kak-Slaney formulas
47 Separated reconstruction into Reconstructor class
48 Fixed center of detector adjustment for even number of detectors
49 Added --enable-static to generate statically linked programs
52 ctsim: Added animation of projection collection processs
53 ctsim: Added Auto Scaling for image windows
54 ctsim: Change menus from "windowing" to "display scaling"
55 Added FieldOfView and FocalLength ratio parameters to projection collection
56 Added FocalLength & FieldOfView fields to projection data files
57 Added Projection collection for Equilinear and Equiangular geometries
58 Changed name of Rowland Phantom to correct name of Shepp-Logan
59 Fixed bug in backprojection selection
62 Added RCS Id strings to executable files
63 Added RPM Spec file for RPM package creation
64 Added loading of ASCII phanthom definitions from files
65 Fixed compilation for non-SGP architectures
66 Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
67 Added Filter-Generation option to reconstruction to allow direct or
68 inverse_fourier construction of filters
69 Added median to statistics and to auto-windowing
72 Added line color support to SGP
76 Finished support for dmallocxx library
77 Fixed bug in SignalFilter::convertFilterMethodNameToID()
78 Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
79 G2 windows and well as WXWindows.
80 ctsim program: "Create Phantom" now shows phantom object
81 Fixed row-plot bug in if-2
82 Reworked EZPlot's multiple plot operation
85 ctsim program: improved initial size and scroll area for image
87 ctsim program: added rasterization parameters, projections parameters,
88 and reconstruction parameters dialogs
89 Moved char[] static definition from header files to c++ files
90 Completely reorganized option processing in classes to improve
91 expandability and to assist ctsim graphical user interface.
94 ctsim program: Added dialog to set minimum/maximum display levels
95 Started ctsim.tex document file
98 Fixed compiler warnings at -Wall level
99 Began work on CTSim program to be graphical front-end of all functions
100 Moved current src/*.cpp to tools/*.cpp
101 Made CTSim graphical front-end's home to be src/
104 Added highly optimized backprojection method idiff3
105 Moved comparative stats to if-2 program from ifinfo
106 Fixed image display in if2img using G2 library
107 Added column-plot and row-plot options to if-2
108 Added autoselection of analytic/calculated spatial responses to SignalFilter
109 Added frequency-based preinterpolation to SignalFilter and idiff3
110 backprojection method. Currently, this technique is still under
111 development and debugging
112 Moved graphic file writing to ImageFile class from if2img program
115 Cleaned up SignalFilter class
116 Added zeropad option to pjrec
117 Added zeropad options to html and cgi files
118 Added fourier_table and rfttw filter methods
119 Added FFTW routines to use real/half-complex transformations
122 Updated trace level processing
123 Added trace level to SignalFilter
124 Fixed magnitude vs. real output bug in FFT/Fourier filter
127 Fixed const issue with ImageFileArray
128 Fixed Array2dFile::labelsCopy()
129 Added copy constructor and assignment for Array2dFileLabel class
130 Added Timer to if-2.cpp and ifinfo.cpp
131 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
132 Added option processing for filter-method for pjrec to choose
133 between convolution, dft, & fft filtering
134 Fixed format string for EZPlot so axis labels now print
135 Added support for FFTW library
138 Rewrote Array2dFile class to be non-templated
139 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
140 Rewrote Array2dFileLabel class to make members private, added access routines
141 Removed timedate.cpp in favor of standard C library time/date functions
142 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
143 Added signature tag and creation date/time to projection files
146 Standardized string option processing by classes. All classes use character strings
147 to select options rather than numeric constants. Added fail() and failMessage()
148 methods to verify that objects are created correctly by character strings.
149 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
150 Rewrote ImageFile class
151 Started support for dmallocxx library, not finished
152 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
153 Updated ifinfo to show comparative statistics
154 Added printLabels() to Array2dFile class
155 Added printStatistics() to ImageFile class
158 Moved conversion filter name/id to Filter class
159 Moved conversion backprojection name/id to Backproj class
160 Added MPI broadcasting of strings
163 Merged proj_reconstr into class Projections
164 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
165 Code cleanup in projections.cpp
166 Moved conversion of phantom names/id to Phantom class
169 Converted projection files to C++ library with frnetorderstream
170 Converted image files to C++ library with frnetorderstream
171 Converted filter and convolution to object-oriented code
172 Changed default image file to float from double -- Changable in imagefile.h
173 Optimized image file writing on little-endian architectures
174 Updated README and INSTALL
177 Reorganized source files
178 MPI bug fixed to phm2pj.cpp
181 Reorganized include files
182 Fixed const pointers in strfuncs
185 Renamed directories, moved source files, combined source files
186 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
190 Skip versions to make version 2.0 the first fully C++ version
191 Renamed Raysums to Projections throughout files
192 Renamed Detector to Scanner
193 Converted Scanner and Projecions to full object-oriented
196 Converted Phantom and PhantomElements to Object-Oriented
197 Converted Detector to Object-Oriented
200 Improved Integer backprojection method
201 Fixed nearest neighbor to be truly nearest neighbor
202 Made linear interpolation more integer arithmetic -> speed improvement
203 Finished converting all C files to C++
204 Converted all use of malloc/free to C++ new/delete
205 Began object-oriented conversion of Phantom and Projection structures
208 Converted MPI data structures to C++ object
209 Made ImageFile directly inherit from Array2dFile
212 First C++ conversions
213 Portable IF (image file) format implemented with objects (SDF removed)
214 - Now all data files are cross-platform compatible
215 Converted from MPI to MPI++
216 Converted backprojection to object-oriented
217 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
220 Simpilifed endian handling
223 Added support for 64-bit (IA64) CPU
224 Removed broken B-spline interpolation
225 Added support for cygwin platform under Windows 2000
226 Added support for 16-bit PNG graphics
229 Added compile-time configuration of endian order
232 Modified the raysum file format to be platform independent
235 Added Microsoft VC compatibility
236 Cleaned up compilation warnings in libgraph
239 Continued conversion to ANSI C
240 Removed old CRT routines
243 Renamed pictures to phantoms, objects to phantom elements
244 Continued code cleanup
247 More code cleanup with reorganizing libraries
248 Added --log and --exp to sdf-1
249 Allowed negative numbers for window levels in CGI interface
252 Continued code cleanup
256 Better documented, coded raysum in-memory on on-disk options
259 Cleaned out library that wasn't being used by CTSim
260 Modified ctsim.cgi to read in configuration file ctsim.conf
263 First open source distribution for GNU/Linux
266 Converted to GNU/Linux
267 added MPI support via LAM library
270 Developed under MS-DOS and IBM EGA graphics