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