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