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