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