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