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