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