728e29dbf252c47ec4811a76e5595304ffc9d587
[ctsim.git] / ChangeLog
1 Aug 22, 2009  Version 5.1.3
2         * src/ctsim.cpp
3         - Improve numbering of unnamed documents. Reduce cut-and-paste code.
4         * configure.ac
5         - Use new AC_INIT form to include package information, email, url
6
7 Aug 21, 2009  Version 5.1.2
8         * Conditionalize debugging output
9
10 Aug 20, 2009  Version 5.1.1
11         * Use new wxFont constructor. Adjust font sizes.
12
13 Aug 12, 2009  Version 5.1.0
14         * All known wxwidgets 2.8 compatibility issues have been fixed
15
16 Aug 6, 2009  Version 5.0.6
17         * Use wxWidgets command-line processing rather than existing
18         native processing.
19         * ezset.cpp: Initialize scale settings in constructor
20         * Improve titles of frames
21         * configure.ac: Use wx-config to determine name of wxGL library
22         * src/graph3dview.cpp: wx2.8 compatibility changes to eliminate
23         segv crash when creating 3D objects
24
25 Aug 3, 2009  Version 5.0.5
26         * Fix plots when maximum plot value is the same as minimum
27
28 Aug 3, 2009  Version 5.0.5
29         * More wx2.8 compatibility fixes.
30         * Fix initial size of Log TextCtrl at start-up.
31         * Fix display of values in Log window by cleaning up string
32         transformtions.
33
34 Aug 2, 2009  Version 5.0.4
35         * More wx2.8 compatibility fixes. Ensure that a resize of a window
36         causes a full repaint for phantom, plot, and graph3d canvases.
37
38 Aug 1, 2009  Version 5.0.1
39         * missing: Update to latest automake version
40         * configure: make compatible with wxMac
41         * update few source files for non-unicode wxWidgets 2.8 compatibility
42
43 Aug 1, 2009  Version 5.0.0
44         * Major revision of wxWidgets code to port from wx2.4 to wx2.8
45         Currently, code compiles without warnings, but there are
46         GUI visual problems at the momemt running with wx2.8
47
48 Sep 17, 2007  Version 4.5.5
49         * better cleaning in makefiles
50         * use "const char" variables for string literals
51
52 Sep 10, 2007  Version 4.5.4
53         * configure.ac: Fix builds with multiple versions of wx-config
54         -- thanks to Steve White
55
56 Apr 1, 2007  Version 4.5.3
57         * include/timer.h: Fix building on GCC 4.3
58         -- thanks to Martin Michlmayr
59
60 Oct 19, 2006  Version 4.5.2
61         * src/lipctsim/imagefile.cpp: Change delete to fftw_free
62         -- thanks to Sven Huth
63
64 Oct 18, 2006  Version 4.5.1
65         * configure: rebuild from configure.ac
66
67 Oct 15, 2006  Version 4.5.0
68         * libctsim/backprojectors.cpp: Fix for iteration bug in backprojection
69         and simply computing rotScale -- thanks to Dan Martin.
70
71 Mar 16, 2006  Version 4.4.4
72         * Changes for g++ 4.1 support
73
74 Aug 22, 2005  Version 4.4.2
75         * New URL for downloading CTSim
76
77 Aug 22, 2005  Version 4.4.1
78         * work-around for compilation problems on Fedora 4 and wxWin 2.4.2
79
80 Aug 22, 2005  Version 4.4.0
81         * Changes in configure.ac for X.org compatibility with Debian Etch
82         and FC4. May not be backward compatibility with XFree86.
83
84 Aug 10, 2004  Version 4.3.2, Version 4.3.3
85         * Minor changes in man pages to fix groff warnings
86
87 Nov 1, 2003  Version 4.3.1
88         * Add support for SuSE AMD64
89
90 Oct 5, 2003  Version 4.3.0
91         * Ported to incompatible FFTW3 library. CTSim will no longer compile or
92         run with FFTW2.
93         * Save FFTW3 in $HOME/.fftw3-wisdom on platforms where getenv function
94         is available
95
96 Oct 3, 2003  Version 4.2.7
97         * Add support for building on RedHat AMD64
98
99 Sep 30, 2003  Version 4.2.7
100         * Fix minor issue with floating point difference backprojection, add
101         optimization
102
103         * Fix building with newest versions of automake 1.7
104
105         * Add support for 8-byte longs [for example, Athlon64] in
106         integer difference backprojection allowing for 64-bit integer
107         math.
108
109 Mar 22, 2003  Version 4.2.3
110
111         * Added Fourier reconstruction method
112
113         * Support gcc 3.2, wxWindows 2.4, and MacOS X
114
115         * Fix polar interpolation
116
117 Jun 26, 2002  Version 3.5.6
118
119         * Fix minor color PNG image importing bug
120
121         * Bug fix for building on Debian alpha platform
122
123         * Fix g++ compilation warnings
124
125 Jun 13, 2002  Version 3.5.5
126
127         * Fix printing of version number
128
129         * Minor bug fixes
130
131         * Updated Win32 compatibility
132
133 Jun 8, 2002  Version 3.5.4
134
135         * Print version number in log window with About command
136
137         * Fix problem with captions not showing on some windows. Reworked
138         creation of new windows.
139
140         * Disabled status bar on 3d views
141
142         * Fix bug in configure.ac that prevented using compiler
143         optimizations.
144
145         * Updated About splash screen
146
147 May 29, 2002  Version 3.5.3
148         * Added support for g++ 3.04 compiler
149
150 May 8, 2002  Version 3.5.2
151         * configure: improved CTN (DICOM) installation search
152         * src/ctsim.cpp: Fixed initial image size with import command
153
154 May 5, 2002  Version 3.5.1
155
156         New Features:
157
158         * ctsim: Added tips to be displayed at startup and via the help menu.
159         * ctsim: Added center-detector concept. Allow for detector array
160         to be any arbitrary distance from center of scanner. As a result,
161         projection files are not incompatible with previous version of
162         CTSim.
163         * ctsim: Added threaded tasks and background manager for
164         background processing as well as taking advantage of multiple-CPU's
165         on SMP systems.  (Microsoft Windows only)
166         * ctsim: Added plot t-theta sampling to projection file menu.
167         * ctsim: Added Reconstruction with Rebinning for faster
168         divergent beam reconstructions.
169         * ctsim: Added import and export of DICOM image files.
170         * ctsim: Added PPM, PGM, and PNG file import to imagefile.
171         * ctsim: Added FFT/IFFT of columns of image files.
172         * ctsim: Added clipboard cut/copy/paste for image files.
173         * ctsim: Added region of interest to reconstructions.
174         * ctsim: Added Convert Rectangular Image to Projection files
175         * ctsim: Added "Verbose Logging", "Startup Tips", and
176         "Background processes" options  to Preferences dialog.
177         * ctsim: Added plotting of projection file histograms.
178         * plotfile: Added scattergram plot functions
179         * ctsim: Added accelerator key for File-Properties
180         * ctsim: Improved wireframe 3-d display to remove hidden
181         surfaces.
182         * backprojectors.cpp: Added setting of axis extent and increment
183         to reconstructions.
184         * projections.cpp: Can read and reconstruct SIEMENS AR.STAR DICOM
185         projection data files.
186
187         Bug Fixes:
188
189         * views.cpp: reduced calls to progress bar update, significant speedup
190         * views.cpp,ctsim.cpp: Fixed bug with window frames sometimes
191         not being displayed on Unix platforms.
192         * views.cpp: Added out-of-memory checks to display for huge
193         image and projection files.
194         * filter.cpp: Fixed Hanning parameter to be 0.5 rather than 0.54
195         * imagefile.cpp: Fixed scaling factor in fftRows
196         * imagefile.cpp: Fixed bug when performing magnitude() on real-valued
197         image.
198         * sgp.cpp: Fixed bug in drawCircle.
199         * distribution: fixed problem with documentation files not
200         being included with the distribution (Reported by Ian Kay).
201         * sgp.cpp/ezplot.cpp: Improved plotting with markers.
202         * fixed ctsimtext shell when giving no parameters to function-name
203         * phm2if, phm2pj: Updated help messages for renamed phantoms
204
205 3.0.3 - Released 2/20/01
206
207         * ctsim: Fixed core dump on Linux with OpenGL
208
209         * ctsim: Fixed context-sensitive help on Linux
210
211         * ctsim: Fixed About box on Linux
212
213 3.0.2 - Released 2/20/01
214
215         * scanner.cpp: Fixed bug when number of detectors was even.
216
217         * ctsim: Improved error handling when trying to convert
218         divergent projections into polar form.
219
220 3.0.1 - Released 2/19/01
221
222         * ctsim: Fixed dialog box for reconstruction so that
223         rotation angle setting will stay fixed in-between use
224         of the dialog box.
225
226         * syserror: Fixed display bug for trace messages
227
228         * ctsim: MSVC optimization bug work-around, compiler
229         options changed.
230
231 3.0.0 - Released 2/19/01
232
233         * ctsim: Massive update/fix to online help and print manual.
234
235         * ctsim: Added context-sensitive help to dialog boxes
236
237         * ctsim: Reformated all dialog boxes, much nicer now.
238
239         * ctsim: Improved accelerator key handling
240
241         * global: Added Hanning filter.
242
243         * global: Improved default parameters to that all defaults give
244         sensible output.
245
246 3.0.0beta1 - Released 2/11/01
247
248         * ctsim: Added most-recently-used files to File menu with
249         registry storage between executions.
250
251         * ctsim: Hides arcane features unless enabled by Preferences dialog
252
253         * ctsim: Added MDI interface for Windows version and made it default for Windows.
254
255         * ctsim: Added 3-D wireframe view of images (uses OpenGL)
256
257         * ctsim: Added graphical About box
258
259         * ctsim: Escape key now removes cursor lines from image file view
260
261         * ctsim: Added Revert to ImageFile menu
262
263         * ctsim: Added accelerator (hotkeys) to frames
264
265         * ctsim: Online help added!
266
267         * backprojector: Added cubic interpolation
268
269         * ctsim: Added icons to Frames on X-Window and MS Windows versions
270
271         * ctsim: Fixed tick-label placement for plots on projection and
272         reconstruction dialogs.
273
274         * timer.h: Add use of _ftime when compiling on MSVC
275
276         * global: Projection files are not compatible with previous version
277         due to new scanner definitions.
278
279         * global: deleted concept of field-of-view and added
280           view ratio and scan ratio concepts.
281
282         * ctsim: Fixed crash on shutdown bug
283
284         * pjinfo: Fixed bug when doing --dump and not specifing --endview
285
286         * phm2pj: Fixed MPI bug with broadcasting of variables
287
288         * ctsimtext-lam: Changes for first version to compile under lam
289
290
291 3.0.0alpha5 - Released 1/12/00
292
293         * ctsim: Added EZPlotDialog, used by debugging plots in
294         procsignal.cpp
295
296         * ctsimtext: Fixed bugs for MSVC and with empty input lines. Fixed
297         bug in parsing command-line parameters.
298
299         * views.cpp: Fixed bug in copying of labels from images to
300         plotfiles
301
302         * syserror.cpp: fixed reporting for fatal errors
303
304         * projections.cpp: fixed MSVC failure with std:: namespace
305
306         * procsignal.cpp: fixed bug in equiangular reconstructions
307         for frequency/inverse-fourier filtering
308
309 3.0.0alpha4 - Released 1/09/01
310
311         * ctsim: Added reset to full-intensity scale menu item
312
313         * ctsim: Add conversion of projections to polar plot [Thanks to
314         Ian Kay for reference and math hints in polar bilinear scaling]
315
316         * ctsim: improve bilinear scaling of image size [Thanks to Ian Kay
317         for math tips]
318
319         * ctsim: imagefile labels are now copied to plotfiles
320
321         * ctsim: Added more analyze menuitems
322
323         * ctsimtext: First version. All command-line tools are now accessed
324         through this master shell. Has both command-line and interactive
325         interface
326
327         * ctsim: Fixed initialization of min/max bug for PlotFiles
328
329         * ezplot: Cleaned up y-tick label placement
330
331         * sgp: Added better support for projection/reconstruction animation
332
333 3.0.0alpha3 - Released 1/02/01
334
335         * ctsim: Added plotting of histograms
336
337         * imagefile.cpp: fixed bug in generation of 16-bit PNG images
338
339         * ezplot.cpp: adjusted xtick label displays for better placement
340
341 3.0alpha2 - Released 1/02/01
342
343         * ctsim: All functions of command-line tools are now in graphical ctsim
344
345         * ctsim: added generation of filter images
346
347         * ctsim: Added 2-image math functions (mul, add, div, sub)
348
349         * ctsim: Added export of imagefiles to graphic file formats
350
351         * ctsim: Added support for scaling imagefiles in new sizes
352
353         * ctsim: Added ability to save standard phantom definitions as
354         text files suitable for reading.
355
356         * ctsim: Add labels for image transformations and display of labels
357         when performing properties of images.
358
359         * processsignal.cpp: Fixed "off by one" bug in
360         shuffleNaturalToFourierOrder when n is even. Moved functions to
361         fourier.cpp
362
363         * imagefile.cpp: Added FFTW library to imagefile processing. Converted
364         image math functions to complex-valued math.
365
366         * phantom.cpp: Added ability to save phantom files as ASCII text.
367
368 3.0alpha1 - Released 12/29/00
369
370         * Added PlotFile class to system, used by if2 and ctsim for row
371         and column plots and comparison plots
372
373         * ctsim: Added image comparison statistics and image subtraction
374
375         * ctsim: Added plotting of rows & columns with y-axis scaling
376
377         * ctsim: Added row and column plot comparisons between two image
378         files.
379
380         * ctsim: Added "Process" menu to image file display with math
381         functions. Added 2-dimensional inverse Fourier to math
382         functions. Added support for complex (real/imaginary) images.
383
384         * mathfuncs.cpp: Reworked statistics algorithm to share between
385         imagefile and plotfile classes.
386
387         * imagefile.cpp: Fixed scaling bug when rasterizing Phantom with
388         nsamples > 2.  Added generic mage math functions, moved from
389         if1.cpp and if2.cpp to imagefile.cpp. Added support complex
390         images.
391
392         * array2dfile.cpp: Added code to support complex (real/imaginary)
393         images.
394
395         * if1: Updated to handle error conditions, such as sqrt of a
396         negative number. Converted to use new ImageFile math functions.
397
398         * if2: Updated to output plot files and use new ImageFile class
399         math functions
400
401         * if1: Updated to use new ImageFile class math functions
402
403         * ezplot: Reworked to better store colors/linestyles/symbols with
404         individual curves. Improved display of labels and ticks. Updated
405         to use POL class member variable. Updated to more C++ conventions.
406
407         * pol: converted to C++ class. Extracted HashTable to separate
408         class.
409
410         * sgp: Added linestyle settings
411
412 2.5.0 - 12/18/00
413    First Microsoft Windows GUI version
414    Modifications for Microsoft Visual C++ compilation.
415    Improved pjinfo to output binary headers and view data, useful
416         when manually compiling phantoms that vary during projection
417         process. Thanks to Ian Kay for idea and code submission.
418    Improved sorting to find median in ImageFile::statistics
419    Fixed core-dump bug in Array2dFile::labelsCopy() function (Ian Kay)
420    Changed reconstruction dialog to fix onto smaller screens
421    Fixed display of plotting in Projection views
422    Improved animation displays for Projections and Reconstructions
423    Changed code to explicitly use std:: namespace rather than
424         "namespace using std" statements
425    Fixed reconstruction scaling bug introduced in 2.0.6
426    Renamed if2img to ifexport, if-1 to if1, if-2 to if2
427
428 2.0.6 - 12/03/00
429    Fixed minor compilation problem with procsignal.h
430    Updated README file
431    Fixed bug when simulating projections and Trace == CONSOLE
432    Fixed scaling bug when performing redundant rotations around object
433
434 2.0.5 - 12/01/00
435    Improved compilation on RedHat 7
436    Changed some of ANSI C header files to C++ header files
437    Removed README.RedHat7
438
439 2.0.4 - 11/25/00
440    Added documentation for --geometry setting
441    Added README.RedHat7 document
442
443 2.0.3 - 11/20/00
444    Fixed bug in generation of binary PGM files
445    Fixed MPI compilation bug in phm2pj.cpp
446    Inverted y-axis output for pj2if (bug alert from Ian Kay)
447
448 2.0.2 - 11/8/00
449    Additions to man pages (Ian Kay)
450    Fix problem with reading of ASCII phantom files (Ian Kay)
451
452 2.0.1 - 10/1/00
453    Fixed syntax error in fftw configuration
454    Slight modifications to support gcc v2.9.6
455
456 2.0.0 - 9/7/00
457    Version 2.0.0 released!
458    ctsim: Added Window menu to Main frame
459    ctsim: Disabled not support reconstruction method
460    Fixed obscure bug in sys_error
461    Fixed compilation in mingw environment not present
462    Fixed compilation in non-graphical environments
463
464 2.0.0-b12 - 9/4/00
465    ctsim: Added animation of reconstruction
466    ctsim: Added saving of dialog parameters for Projection & Reconstruction
467    ctsim: Added progress dialog for rasterization of phantom
468    ctsim: used setpriority to set lower priority
469    ctsim: fixed pReconstruct not being deleted causing scaling problem
470    ctsim: fixed projection animation dialog buttons
471
472 2.0.0-b11 - 9/1/00
473    ctsim: Added projection graph to animation of projection collection
474    ctsim: Added single stepping to projection collection animation
475    ctsim: improved File/Properties display for projection files
476    ctsim: Added progress dialog for reconstructions
477    ctsim: Added file labels for projection and reconstruction images
478    ctsim: Made File/Properties bring up modal dialogs
479    Added reconstruction for Equilinear and Equiangular geometries
480    Changed theta to be -PI/2 to make compliant with Kak-Slaney formulas
481    Separated reconstruction into Reconstructor class
482    Fixed center of detector adjustment for even number of detectors
483    Added --enable-static to generate statically linked programs
484
485 2.0.0-b10 - 8/25/00
486    ctsim: Added animation of projection collection processs
487    ctsim: Added Auto Scaling for image windows
488    ctsim: Change menus from "windowing" to "display scaling"
489    Added FieldOfView and FocalLength ratio parameters to projection collection
490    Added FocalLength & FieldOfView fields to projection data files
491    Added Projection collection for Equilinear and Equiangular geometries
492    Changed name of Rowland Phantom to correct name of Shepp-Logan
493    Fixed bug in backprojection selection
494
495 2.0.0-b9 - 8/22/00
496    Added RCS Id strings to executable files
497    Added RPM Spec file for RPM package creation
498    Added loading of ASCII phanthom definitions from files
499    Fixed compilation for non-SGP architectures
500    Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
501    Added Filter-Generation option to reconstruction to allow direct or
502         inverse_fourier construction of filters
503    Added median to statistics and to auto-windowing
504
505 2.0.0-b8 - 8/1/00
506    Added line color support to SGP
507    Fixed lineAbs bug
508
509 2.0.0-b7 - 7/25/00
510    Finished support for dmallocxx library
511    Fixed bug in SignalFilter::convertFilterMethodNameToID()
512    Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to
513         G2 windows and well as WXWindows.
514    ctsim program: "Create Phantom" now shows phantom object
515    Fixed row-plot bug in if-2
516    Reworked EZPlot's multiple plot operation
517
518 2.0.0-b6 - 7/22/00
519    ctsim program: improved initial size and scroll area for image
520         and projection files
521    ctsim program: added rasterization parameters, projections parameters,
522         and reconstruction parameters dialogs
523    Moved char[] static definition from header files to c++ files
524    Completely reorganized option processing in classes to improve
525         expandability and to assist ctsim graphical user interface.
526
527 2.0.0-b5 - 7/17/00
528    ctsim program: Added dialog to set minimum/maximum display levels
529    Started ctsim.tex document file
530
531 2.0.0-b4 - 7/13/00
532    Fixed compiler warnings at -Wall level
533    Began work on CTSim program to be graphical front-end of all functions
534    Moved current src/*.cpp to tools/*.cpp
535    Made CTSim graphical front-end's home to be src/
536
537 2.0.0-b3 - 7/10/00
538    Added highly optimized backprojection method idiff3
539    Moved comparative stats to if-2 program from ifinfo
540    Fixed image display in if2img using G2 library
541    Added column-plot and row-plot options to if-2
542    Added autoselection of analytic/calculated spatial responses to SignalFilter
543    Added frequency-based preinterpolation to SignalFilter and idiff3
544         backprojection method. Currently, this technique is still under
545         development and debugging
546    Moved graphic file writing to ImageFile class from if2img program
547
548 2.0.0-b2 - 7/07/00
549    Cleaned up SignalFilter class
550    Added zeropad option to pjrec
551    Added zeropad options to html and cgi files
552    Added fourier_table and rfttw filter methods
553    Added FFTW routines to use real/half-complex transformations
554
555 2.0.0-b1 - 7/05/00
556    Updated trace level processing
557    Added trace level to SignalFilter
558    Fixed magnitude vs. real output bug in FFT/Fourier filter
559
560 1.9.9 - 7/04/00
561    Fixed const issue with ImageFileArray
562    Fixed Array2dFile::labelsCopy()
563    Added copy constructor and assignment for Array2dFileLabel class
564    Added Timer to if-2.cpp and ifinfo.cpp
565    Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
566    Added option processing for filter-method for pjrec to choose
567         between convolution, dft, & fft filtering
568    Fixed format string for EZPlot so axis labels now print
569    Added support for FFTW library
570
571 1.9.8 - 6/27/2000
572    Rewrote Array2dFile class to be non-templated
573    Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
574    Rewrote Array2dFileLabel class to make members private, added access routines
575    Removed timedate.cpp in favor of standard C library time/date functions
576    Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
577    Added signature tag and creation date/time to projection files
578
579 1.9.7 - 6/25/2000
580    Standardized string option processing by classes. All classes use character strings
581         to select options rather than numeric constants. Added fail() and failMessage()
582         methods to verify that objects are created correctly by character strings.
583    Hid C++ assignment and copy constructors in classes that should not have assignment/copy
584    Rewrote ImageFile class
585    Started support for dmallocxx library, not finished
586    Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
587    Updated ifinfo to show comparative statistics
588    Added printLabels() to Array2dFile class
589    Added printStatistics() to ImageFile class
590
591 1.9.6 - 6/22/2000
592    Moved conversion filter name/id to Filter class
593    Moved conversion backprojection name/id to Backproj class
594    Added MPI broadcasting of strings
595
596 1.9.5 - 6/21/2000
597    Merged proj_reconstr into class Projections
598    Used auto_ptr in Projections::reconstruct to make sure destructor is always called
599    Code cleanup in projections.cpp
600    Moved conversion of phantom names/id to Phantom class
601
602 1.9.4 - 6/20/2000
603    Converted projection files to C++ library with frnetorderstream
604    Converted image files to C++ library with frnetorderstream
605    Converted filter and convolution to object-oriented code
606    Changed default image file to float from double -- Changable in imagefile.h
607    Optimized image file writing on little-endian architectures
608    Updated README and INSTALL
609
610 1.9.3 - 6/19/2000
611    Reorganized source files
612    MPI bug fixed to phm2pj.cpp
613
614 1.9.2 - 6/18/2000
615    Reorganized include files
616    Fixed const pointers in strfuncs
617
618 1.9.1 - 6/16/2000
619    Renamed directories, moved source files, combined source files
620    to change from 6 libraries to 3 libraries (libctsim, libctsupport,
621    and libctgraphics)
622
623 1.9.0 - 6/15/2000
624    Skip versions to make version 2.0 the first fully C++ version
625    Renamed Raysums to Projections throughout files
626    Renamed Detector to Scanner
627    Converted Scanner and Projecions to full object-oriented
628
629 0.6.1 - 6/12/2000
630    Converted Phantom and PhantomElements to Object-Oriented
631    Converted Detector to Object-Oriented
632
633 0.6.0-b3 - 6/10/2000
634    Improved Integer backprojection method
635         Fixed nearest neighbor to be truly nearest neighbor
636         Made linear interpolation more integer arithmetic -> speed improvement
637    Finished converting all C files to C++
638    Converted all use of malloc/free to C++ new/delete
639    Began object-oriented conversion of Phantom and Projection structures
640
641 0.6.0-b2 - 6/8/2000
642    Converted MPI data structures to C++ object
643    Made ImageFile directly inherit from Array2dFile
644
645 0.6.0-b1 - 6/6/2000
646    First C++ conversions
647    Portable IF (image file) format implemented with objects (SDF removed)
648         - Now all data files are cross-platform compatible
649    Converted from MPI to MPI++
650    Converted backprojection to object-oriented
651    Removed MTX from libkmath as no longer need -- replaced with C++ matrices
652
653 0.5.4 - 6/4/2000
654    Simpilifed endian handling
655
656 0.5.4-b3 - 6/1/2000
657    Added support for 64-bit (IA64) CPU
658    Removed broken B-spline interpolation
659    Added support for cygwin platform under Windows 2000
660    Added support for 16-bit PNG graphics
661
662 0.5.4-b2 - 5/16/2000
663    Added compile-time configuration of endian order
664
665 0.5.4-b1 - 5/14/2000
666    Modified the raysum file format to be platform independent
667
668 0.5.3 - 5/11/2000
669    Added Microsoft VC compatibility
670    Cleaned up compilation warnings in libgraph
671
672 0.5.2-b5 - 5/7/2000
673    Continued conversion to ANSI C
674    Removed old CRT routines
675
676 0.5.2-b4 - 5/4/2000
677    Renamed pictures to phantoms, objects to phantom elements
678    Continued code cleanup
679
680 0.5.2-b3 - 4/30/200
681     More code cleanup with reorganizing libraries
682     Added --log and --exp to sdf-1
683     Allowed negative numbers for window levels in CGI interface
684
685 0.5.2-b2 - 4/30/200
686     Continued code cleanup
687
688 0.5.2-b1 - 4/29/2000
689     Fixed a few MPI bugs
690     Better documented, coded raysum in-memory on on-disk options
691
692 0.5.1 - 4/28/2000
693     Cleaned out library that wasn't being used by CTSim
694     Modified ctsim.cgi to read in configuration file ctsim.conf
695
696 0.5.0 - 4/27/2000
697     First open source distribution for GNU/Linux
698
699 6/1999
700   Converted to GNU/Linux
701   added MPI support via LAM library
702
703 1983-84
704   Developed under MS-DOS and IBM EGA graphics