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