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