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