2 Modifications for Microsoft Visual C++ compilation
3 Fixed core-dump bug in Array2dFile::labelsCopy() function (Ian Kay)
4 Improved pjinfo to output binary headers and view data, useful
5 when manually compiling phantoms that vary during projection
6 process. Thanks to Ian Kay for idea and code submission.
7 Changed code to explicitly use std:: namespace
\r
10 Fixed minor compilation problem with procsignal.h
12 Fixed bug when simulating projections and Trace == CONSOLE
13 Fixed scaling bug when performing redundant rotations around object
16 Improved compilation on RedHat 7
17 Changed some of ANSI C header files to C++ header files
18 Removed README.RedHat7
21 Added documentation for --geometry setting
22 Added README.RedHat7 document
25 Fixed bug in generation of binary PGM files
26 Fixed MPI compilation bug in phm2pj.cpp
27 Inverted y-axis output for pj2if (bug alert from Ian Kay)
30 Additions to man pages (Ian Kay)
31 Fix problem with reading of ASCII phantom files (Ian Kay)
34 Fixed syntax error in fftw configuration
35 Slight modifications to support gcc v2.9.6
38 Version 2.0.0 released!
39 ctsim: Added Window menu to Main frame
40 ctsim: Disabled not support reconstruction method
41 Fixed obscure bug in sys_error
42 Fixed compilation in mingw environment not present
43 Fixed compilation in non-graphical environments
46 ctsim: Added animation of reconstruction
47 ctsim: Added saving of dialog parameters for Projection & Reconstruction
48 ctsim: Added progress dialog for rasterization of phantom
49 ctsim: used setpriority to set lower priority
50 ctsim: fixed pReconstruct not being deleted causing scaling problem
51 ctsim: fixed projection animation dialog buttons
54 ctsim: Added projection graph to animation of projection collection
55 ctsim: Added single stepping to projection collection animation
56 ctsim: improved File/Properties display for projection files
57 ctsim: Added progress dialog for reconstructions
58 ctsim: Added file labels for projection and reconstruction images
59 ctsim: Made File/Properties bring up modal dialogs
60 Added reconstruction for Equilinear and Equiangular geometries
61 Changed theta to be -PI/2 to make compliant with Kak-Slaney formulas
62 Separated reconstruction into Reconstructor class
63 Fixed center of detector adjustment for even number of detectors
64 Added --enable-static to generate statically linked programs
67 ctsim: Added animation of projection collection processs
68 ctsim: Added Auto Scaling for image windows
69 ctsim: Change menus from "windowing" to "display scaling"
70 Added FieldOfView and FocalLength ratio parameters to projection collection
71 Added FocalLength & FieldOfView fields to projection data files
72 Added Projection collection for Equilinear and Equiangular geometries
73 Changed name of Rowland Phantom to correct name of Shepp-Logan
74 Fixed bug in backprojection selection
77 Added RCS Id strings to executable files
78 Added RPM Spec file for RPM package creation
79 Added loading of ASCII phanthom definitions from files
80 Fixed compilation for non-SGP architectures
81 Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
82 Added Filter-Generation option to reconstruction to allow direct or
83 inverse_fourier construction of filters
84 Added median to statistics and to auto-windowing
87 Added line color support to SGP
91 Finished support for dmallocxx library
92 Fixed bug in SignalFilter::convertFilterMethodNameToID()
93 Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
94 G2 windows and well as WXWindows.
95 ctsim program: "Create Phantom" now shows phantom object
96 Fixed row-plot bug in if-2
97 Reworked EZPlot's multiple plot operation
100 ctsim program: improved initial size and scroll area for image
102 ctsim program: added rasterization parameters, projections parameters,
103 and reconstruction parameters dialogs
104 Moved char[] static definition from header files to c++ files
105 Completely reorganized option processing in classes to improve
106 expandability and to assist ctsim graphical user interface.
109 ctsim program: Added dialog to set minimum/maximum display levels
110 Started ctsim.tex document file
113 Fixed compiler warnings at -Wall level
114 Began work on CTSim program to be graphical front-end of all functions
115 Moved current src/*.cpp to tools/*.cpp
116 Made CTSim graphical front-end's home to be src/
119 Added highly optimized backprojection method idiff3
120 Moved comparative stats to if-2 program from ifinfo
121 Fixed image display in if2img using G2 library
122 Added column-plot and row-plot options to if-2
123 Added autoselection of analytic/calculated spatial responses to SignalFilter
124 Added frequency-based preinterpolation to SignalFilter and idiff3
125 backprojection method. Currently, this technique is still under
126 development and debugging
127 Moved graphic file writing to ImageFile class from if2img program
130 Cleaned up SignalFilter class
131 Added zeropad option to pjrec
132 Added zeropad options to html and cgi files
133 Added fourier_table and rfttw filter methods
134 Added FFTW routines to use real/half-complex transformations
137 Updated trace level processing
138 Added trace level to SignalFilter
139 Fixed magnitude vs. real output bug in FFT/Fourier filter
142 Fixed const issue with ImageFileArray
143 Fixed Array2dFile::labelsCopy()
144 Added copy constructor and assignment for Array2dFileLabel class
145 Added Timer to if-2.cpp and ifinfo.cpp
146 Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
147 Added option processing for filter-method for pjrec to choose
148 between convolution, dft, & fft filtering
149 Fixed format string for EZPlot so axis labels now print
150 Added support for FFTW library
153 Rewrote Array2dFile class to be non-templated
154 Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
155 Rewrote Array2dFileLabel class to make members private, added access routines
156 Removed timedate.cpp in favor of standard C library time/date functions
157 Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
158 Added signature tag and creation date/time to projection files
161 Standardized string option processing by classes. All classes use character strings
162 to select options rather than numeric constants. Added fail() and failMessage()
163 methods to verify that objects are created correctly by character strings.
164 Hid C++ assignment and copy constructors in classes that should not have assignment/copy
165 Rewrote ImageFile class
166 Started support for dmallocxx library, not finished
167 Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
168 Updated ifinfo to show comparative statistics
169 Added printLabels() to Array2dFile class
170 Added printStatistics() to ImageFile class
173 Moved conversion filter name/id to Filter class
174 Moved conversion backprojection name/id to Backproj class
175 Added MPI broadcasting of strings
178 Merged proj_reconstr into class Projections
179 Used auto_ptr in Projections::reconstruct to make sure destructor is always called
180 Code cleanup in projections.cpp
181 Moved conversion of phantom names/id to Phantom class
184 Converted projection files to C++ library with frnetorderstream
185 Converted image files to C++ library with frnetorderstream
186 Converted filter and convolution to object-oriented code
187 Changed default image file to float from double -- Changable in imagefile.h
188 Optimized image file writing on little-endian architectures
189 Updated README and INSTALL
192 Reorganized source files
193 MPI bug fixed to phm2pj.cpp
196 Reorganized include files
197 Fixed const pointers in strfuncs
200 Renamed directories, moved source files, combined source files
201 to change from 6 libraries to 3 libraries (libctsim, libctsupport,
205 Skip versions to make version 2.0 the first fully C++ version
206 Renamed Raysums to Projections throughout files
207 Renamed Detector to Scanner
208 Converted Scanner and Projecions to full object-oriented
211 Converted Phantom and PhantomElements to Object-Oriented
212 Converted Detector to Object-Oriented
215 Improved Integer backprojection method
216 Fixed nearest neighbor to be truly nearest neighbor
217 Made linear interpolation more integer arithmetic -> speed improvement
218 Finished converting all C files to C++
219 Converted all use of malloc/free to C++ new/delete
220 Began object-oriented conversion of Phantom and Projection structures
223 Converted MPI data structures to C++ object
224 Made ImageFile directly inherit from Array2dFile
227 First C++ conversions
228 Portable IF (image file) format implemented with objects (SDF removed)
229 - Now all data files are cross-platform compatible
230 Converted from MPI to MPI++
231 Converted backprojection to object-oriented
232 Removed MTX from libkmath as no longer need -- replaced with C++ matrices
235 Simpilifed endian handling
238 Added support for 64-bit (IA64) CPU
239 Removed broken B-spline interpolation
240 Added support for cygwin platform under Windows 2000
241 Added support for 16-bit PNG graphics
244 Added compile-time configuration of endian order
247 Modified the raysum file format to be platform independent
250 Added Microsoft VC compatibility
251 Cleaned up compilation warnings in libgraph
254 Continued conversion to ANSI C
255 Removed old CRT routines
258 Renamed pictures to phantoms, objects to phantom elements
259 Continued code cleanup
262 More code cleanup with reorganizing libraries
263 Added --log and --exp to sdf-1
264 Allowed negative numbers for window levels in CGI interface
267 Continued code cleanup
271 Better documented, coded raysum in-memory on on-disk options
274 Cleaned out library that wasn't being used by CTSim
275 Modified ctsim.cgi to read in configuration file ctsim.conf
278 First open source distribution for GNU/Linux
281 Converted to GNU/Linux
282 added MPI support via LAM library
285 Developed under MS-DOS and IBM EGA graphics