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