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