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 Now, "Create Phantom" in ctsim shows phantom object
9 ctsim program: improved initial size and scroll area for image
11 ctsim program: added rasterization parameters, projections parameters,
12 and reconstruction parameters dialogs
13 Moved char[] static definition from header files to c++ files
14 Completely reorganized option processing in classes to improve
15 expandability and to assist ctsim graphical user interface.
18 ctsim program: Added dialog to set minimum/maximum display levels
19 Started ctsim.tex document file
22 Fixed compiler warnings at -Wall level
23 Began work on CTSim program to be graphical front-end of all functions
24 Moved current src/*.cpp to tools/*.cpp
25 Made CTSim graphical front-end's home to be src/
28 Added highly optimized backprojection method idiff3
29 Moved comparative stats to if-2 program from ifinfo
30 Fixed image display in if2img using G2 library
31 Added column-plot and row-plot options to if-2
32 Added autoselection of analytic/calculated spatial responses to SignalFilter
33 Added frequency-based preinterpolation to SignalFilter and idiff3
34 backprojection method. Currently, this technique is still under
35 development and debugging
36 Moved graphic file writing to ImageFile class from if2img program
39 Cleaned up SignalFilter class
40 Added zeropad option to pjrec
41 Added zeropad options to html and cgi files
42 Added fourier_table and rfttw filter methods
43 Added FFTW routines to use real/half-complex transformations
46 Updated trace level processing
47 Added trace level to SignalFilter
48 Fixed magnitude vs. real output bug in FFT/Fourier filter
51 Fixed const issue with ImageFileArray
52 Fixed Array2dFile::labelsCopy()
53 Added copy constructor and assignment for Array2dFileLabel class
54 Added Timer to if-2.cpp and ifinfo.cpp
55 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
56 Added option processing for filter-method for pjrec to choose
57 between convolution, dft, & fft filtering
58 Fixed format string for EZPlot so axis labels now print
59 Added support for FFTW library
62 Rewrote Array2dFile class to be non-templated
63 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
64 Rewrote Array2dFileLabel class to make members private, added access routines
65 Removed timedate.cpp in favor of standard C library time/date functions
66 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
67 Added signature tag and creation date/time to projection files
70 Standardized string option processing by classes. All classes use character strings
71 to select options rather than numeric constants. Added fail() and failMessage()
72 methods to verify that objects are created correctly by character strings.
73 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
74 Rewrote ImageFile class
75 Started support for dmallocxx library, not finished
76 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
77 Updated ifinfo to show comparative statistics
78 Added printLabels() to Array2dFile class
79 Added printStatistics() to ImageFile class
82 Moved conversion filter name/id to Filter class
83 Moved conversion backprojection name/id to Backproj class
84 Added MPI broadcasting of strings
87 Merged proj_reconstr into class Projections
88 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
89 Code cleanup in projections.cpp
90 Moved conversion of phantom names/id to Phantom class
93 Converted projection files to C++ library with frnetorderstream
94 Converted image files to C++ library with frnetorderstream
95 Converted filter and convolution to object-oriented code
96 Changed default image file to float from double -- Changable in imagefile.h
97 Optimized image file writing on little-endian architectures
98 Updated README and INSTALL
101 Reorganized source files
102 MPI bug fixed to phm2pj.cpp
105 Reorganized include files
106 Fixed const pointers in strfuncs
109 Renamed directories, moved source files, combined source files
110 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
114 Skip versions to make version 2.0 the first fully C++ version
115 Renamed Raysums to Projections throughout files
116 Renamed Detector to Scanner
117 Converted Scanner and Projecions to full object-oriented
120 Converted Phantom and PhantomElements to Object-Oriented
121 Converted Detector to Object-Oriented
124 Improved Integer backprojection method
125 Fixed nearest neighbor to be truly nearest neighbor
126 Made linear interpolation more integer arithmetic -> speed improvement
127 Finished converting all C files to C++
128 Converted all use of malloc/free to C++ new/delete
129 Began object-oriented conversion of Phantom and Projection structures
132 Converted MPI data structures to C++ object
133 Made ImageFile directly inherit from Array2dFile
136 First C++ conversions
137 Portable IF (image file) format implemented with objects (SDF removed)
138 - Now all data files are cross-platform compatible
139 Converted from MPI to MPI++
140 Converted backprojection to object-oriented
141 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
144 Simpilifed endian handling
147 Added support for 64-bit (IA64) CPU
148 Removed broken B-spline interpolation
149 Added support for cygwin platform under Windows 2000
150 Added support for 16-bit PNG graphics
153 Added compile-time configuration of endian order
156 Modified the raysum file format to be platform independent
159 Added Microsoft VC compatibility
160 Cleaned up compilation warnings in libgraph
163 Continued conversion to ANSI C
164 Removed old CRT routines
167 Renamed pictures to phantoms, objects to phantom elements
168 Continued code cleanup
171 More code cleanup with reorganizing libraries
172 Added --log and --exp to sdf-1
173 Allowed negative numbers for window levels in CGI interface
176 Continued code cleanup
180 Better documented, coded raysum in-memory on on-disk options
183 Cleaned out library that wasn't being used by CTSim
184 Modified ctsim.cgi to read in configuration file ctsim.conf
187 First open source distribution for GNU/Linux
190 Converted to GNU/Linux
191 added MPI support via LAM library
194 Developed under MS-DOS and IBM EGA graphics