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