2 Added RCS Id strings to executable files
3 Added RPM Spec file for RPM package creation
4 Added loading of ASCII phanthom definitions from files
5 Fixed compilation for non-SGP architectures
6 Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
7 Added Filter-Generation option to reconstruction to allow direct or
8 inverse_fourier construction of filters
9 Added median to statistics and to auto-windowing
12 Added line color support to SGP
16 Finished support for dmallocxx library
17 Fixed bug in SignalFilter::convertFilterMethodNameToID()
18 Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
19 G2 windows and well as WXWindows.
20 ctsim program: "Create Phantom" now shows phantom object
21 Fixed row-plot bug in if-2
22 Reworked EZPlot's multiple plot operation
25 ctsim program: improved initial size and scroll area for image
27 ctsim program: added rasterization parameters, projections parameters,
28 and reconstruction parameters dialogs
29 Moved char[] static definition from header files to c++ files
30 Completely reorganized option processing in classes to improve
31 expandability and to assist ctsim graphical user interface.
34 ctsim program: Added dialog to set minimum/maximum display levels
35 Started ctsim.tex document file
38 Fixed compiler warnings at -Wall level
39 Began work on CTSim program to be graphical front-end of all functions
40 Moved current src/*.cpp to tools/*.cpp
41 Made CTSim graphical front-end's home to be src/
44 Added highly optimized backprojection method idiff3
45 Moved comparative stats to if-2 program from ifinfo
46 Fixed image display in if2img using G2 library
47 Added column-plot and row-plot options to if-2
48 Added autoselection of analytic/calculated spatial responses to SignalFilter
49 Added frequency-based preinterpolation to SignalFilter and idiff3
50 backprojection method. Currently, this technique is still under
51 development and debugging
52 Moved graphic file writing to ImageFile class from if2img program
55 Cleaned up SignalFilter class
56 Added zeropad option to pjrec
57 Added zeropad options to html and cgi files
58 Added fourier_table and rfttw filter methods
59 Added FFTW routines to use real/half-complex transformations
62 Updated trace level processing
63 Added trace level to SignalFilter
64 Fixed magnitude vs. real output bug in FFT/Fourier filter
67 Fixed const issue with ImageFileArray
68 Fixed Array2dFile::labelsCopy()
69 Added copy constructor and assignment for Array2dFileLabel class
70 Added Timer to if-2.cpp and ifinfo.cpp
71 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
72 Added option processing for filter-method for pjrec to choose
73 between convolution, dft, & fft filtering
74 Fixed format string for EZPlot so axis labels now print
75 Added support for FFTW library
78 Rewrote Array2dFile class to be non-templated
79 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
80 Rewrote Array2dFileLabel class to make members private, added access routines
81 Removed timedate.cpp in favor of standard C library time/date functions
82 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
83 Added signature tag and creation date/time to projection files
86 Standardized string option processing by classes. All classes use character strings
87 to select options rather than numeric constants. Added fail() and failMessage()
88 methods to verify that objects are created correctly by character strings.
89 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
90 Rewrote ImageFile class
91 Started support for dmallocxx library, not finished
92 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
93 Updated ifinfo to show comparative statistics
94 Added printLabels() to Array2dFile class
95 Added printStatistics() to ImageFile class
98 Moved conversion filter name/id to Filter class
99 Moved conversion backprojection name/id to Backproj class
100 Added MPI broadcasting of strings
103 Merged proj_reconstr into class Projections
104 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
105 Code cleanup in projections.cpp
106 Moved conversion of phantom names/id to Phantom class
109 Converted projection files to C++ library with frnetorderstream
110 Converted image files to C++ library with frnetorderstream
111 Converted filter and convolution to object-oriented code
112 Changed default image file to float from double -- Changable in imagefile.h
113 Optimized image file writing on little-endian architectures
114 Updated README and INSTALL
117 Reorganized source files
118 MPI bug fixed to phm2pj.cpp
121 Reorganized include files
122 Fixed const pointers in strfuncs
125 Renamed directories, moved source files, combined source files
126 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
130 Skip versions to make version 2.0 the first fully C++ version
131 Renamed Raysums to Projections throughout files
132 Renamed Detector to Scanner
133 Converted Scanner and Projecions to full object-oriented
136 Converted Phantom and PhantomElements to Object-Oriented
137 Converted Detector to Object-Oriented
140 Improved Integer backprojection method
141 Fixed nearest neighbor to be truly nearest neighbor
142 Made linear interpolation more integer arithmetic -> speed improvement
143 Finished converting all C files to C++
144 Converted all use of malloc/free to C++ new/delete
145 Began object-oriented conversion of Phantom and Projection structures
148 Converted MPI data structures to C++ object
149 Made ImageFile directly inherit from Array2dFile
152 First C++ conversions
153 Portable IF (image file) format implemented with objects (SDF removed)
154 - Now all data files are cross-platform compatible
155 Converted from MPI to MPI++
156 Converted backprojection to object-oriented
157 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
160 Simpilifed endian handling
163 Added support for 64-bit (IA64) CPU
164 Removed broken B-spline interpolation
165 Added support for cygwin platform under Windows 2000
166 Added support for 16-bit PNG graphics
169 Added compile-time configuration of endian order
172 Modified the raysum file format to be platform independent
175 Added Microsoft VC compatibility
176 Cleaned up compilation warnings in libgraph
179 Continued conversion to ANSI C
180 Removed old CRT routines
183 Renamed pictures to phantoms, objects to phantom elements
184 Continued code cleanup
187 More code cleanup with reorganizing libraries
188 Added --log and --exp to sdf-1
189 Allowed negative numbers for window levels in CGI interface
192 Continued code cleanup
196 Better documented, coded raysum in-memory on on-disk options
199 Cleaned out library that wasn't being used by CTSim
200 Modified ctsim.cgi to read in configuration file ctsim.conf
203 First open source distribution for GNU/Linux
206 Converted to GNU/Linux
207 added MPI support via LAM library
210 Developed under MS-DOS and IBM EGA graphics