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