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