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