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