2 Finished support for dmallocxx library
3 Fixed bug in SignalFilter::convertFilterMethodNameToID()
4 Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
5 G2 windows and well as WXWindows.
6 ctsim program: "Create Phantom" now shows phantom object
7 Fixed row-plot bug in if-2
8 Reworked EZPlot's multiple plot operation
11 ctsim program: improved initial size and scroll area for image
13 ctsim program: added rasterization parameters, projections parameters,
14 and reconstruction parameters dialogs
15 Moved char[] static definition from header files to c++ files
16 Completely reorganized option processing in classes to improve
17 expandability and to assist ctsim graphical user interface.
20 ctsim program: Added dialog to set minimum/maximum display levels
21 Started ctsim.tex document file
24 Fixed compiler warnings at -Wall level
25 Began work on CTSim program to be graphical front-end of all functions
26 Moved current src/*.cpp to tools/*.cpp
27 Made CTSim graphical front-end's home to be src/
30 Added highly optimized backprojection method idiff3
31 Moved comparative stats to if-2 program from ifinfo
32 Fixed image display in if2img using G2 library
33 Added column-plot and row-plot options to if-2
34 Added autoselection of analytic/calculated spatial responses to SignalFilter
35 Added frequency-based preinterpolation to SignalFilter and idiff3
36 backprojection method. Currently, this technique is still under
37 development and debugging
38 Moved graphic file writing to ImageFile class from if2img program
41 Cleaned up SignalFilter class
42 Added zeropad option to pjrec
43 Added zeropad options to html and cgi files
44 Added fourier_table and rfttw filter methods
45 Added FFTW routines to use real/half-complex transformations
48 Updated trace level processing
49 Added trace level to SignalFilter
50 Fixed magnitude vs. real output bug in FFT/Fourier filter
53 Fixed const issue with ImageFileArray
54 Fixed Array2dFile::labelsCopy()
55 Added copy constructor and assignment for Array2dFileLabel class
56 Added Timer to if-2.cpp and ifinfo.cpp
57 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
58 Added option processing for filter-method for pjrec to choose
59 between convolution, dft, & fft filtering
60 Fixed format string for EZPlot so axis labels now print
61 Added support for FFTW library
64 Rewrote Array2dFile class to be non-templated
65 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
66 Rewrote Array2dFileLabel class to make members private, added access routines
67 Removed timedate.cpp in favor of standard C library time/date functions
68 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
69 Added signature tag and creation date/time to projection files
72 Standardized string option processing by classes. All classes use character strings
73 to select options rather than numeric constants. Added fail() and failMessage()
74 methods to verify that objects are created correctly by character strings.
75 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
76 Rewrote ImageFile class
77 Started support for dmallocxx library, not finished
78 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
79 Updated ifinfo to show comparative statistics
80 Added printLabels() to Array2dFile class
81 Added printStatistics() to ImageFile class
84 Moved conversion filter name/id to Filter class
85 Moved conversion backprojection name/id to Backproj class
86 Added MPI broadcasting of strings
89 Merged proj_reconstr into class Projections
90 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
91 Code cleanup in projections.cpp
92 Moved conversion of phantom names/id to Phantom class
95 Converted projection files to C++ library with frnetorderstream
96 Converted image files to C++ library with frnetorderstream
97 Converted filter and convolution to object-oriented code
98 Changed default image file to float from double -- Changable in imagefile.h
99 Optimized image file writing on little-endian architectures
100 Updated README and INSTALL
103 Reorganized source files
104 MPI bug fixed to phm2pj.cpp
107 Reorganized include files
108 Fixed const pointers in strfuncs
111 Renamed directories, moved source files, combined source files
112 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
116 Skip versions to make version 2.0 the first fully C++ version
117 Renamed Raysums to Projections throughout files
118 Renamed Detector to Scanner
119 Converted Scanner and Projecions to full object-oriented
122 Converted Phantom and PhantomElements to Object-Oriented
123 Converted Detector to Object-Oriented
126 Improved Integer backprojection method
127 Fixed nearest neighbor to be truly nearest neighbor
128 Made linear interpolation more integer arithmetic -> speed improvement
129 Finished converting all C files to C++
130 Converted all use of malloc/free to C++ new/delete
131 Began object-oriented conversion of Phantom and Projection structures
134 Converted MPI data structures to C++ object
135 Made ImageFile directly inherit from Array2dFile
138 First C++ conversions
139 Portable IF (image file) format implemented with objects (SDF removed)
140 - Now all data files are cross-platform compatible
141 Converted from MPI to MPI++
142 Converted backprojection to object-oriented
143 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
146 Simpilifed endian handling
149 Added support for 64-bit (IA64) CPU
150 Removed broken B-spline interpolation
151 Added support for cygwin platform under Windows 2000
152 Added support for 16-bit PNG graphics
155 Added compile-time configuration of endian order
158 Modified the raysum file format to be platform independent
161 Added Microsoft VC compatibility
162 Cleaned up compilation warnings in libgraph
165 Continued conversion to ANSI C
166 Removed old CRT routines
169 Renamed pictures to phantoms, objects to phantom elements
170 Continued code cleanup
173 More code cleanup with reorganizing libraries
174 Added --log and --exp to sdf-1
175 Allowed negative numbers for window levels in CGI interface
178 Continued code cleanup
182 Better documented, coded raysum in-memory on on-disk options
185 Cleaned out library that wasn't being used by CTSim
186 Modified ctsim.cgi to read in configuration file ctsim.conf
189 First open source distribution for GNU/Linux
192 Converted to GNU/Linux
193 added MPI support via LAM library
196 Developed under MS-DOS and IBM EGA graphics