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