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