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