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