r427: Changes for MDI support
[ctsim.git] / ChangeLog
index 76d6a7a3a851b3d775d9364041375c1e39f5f598..8e4e56953da31a2964ce4129e01aadcaf0a47613 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,306 @@
+3.0.0beta1 - Released
+
+       * ctsim: Added MDI interface for Windows version
+
+       * ctsim: Added graphical About box
+       
+       * ctsim: Added accelerator (hotkeys) to windows
+
+       * ctsim: Online help added as well as HTML help
+       
+       * ctsim: Added icons to Frames on Windows versions
+
+       * pjinfo: Fixed bug when doing --dump and not specifing --endview
+
+       * ctsimtext-lam: Changes for first version to compile under lam
+       
+3.0.0alpha5 - Released 1/12/00
+
+       * ctsim: Added EZPlotDialog, used by debugging plots in
+       procsignal.cpp
+       
+       * ctsimtext: Fixed bugs for MSVC and with empty input lines. Fixed 
+       bug in parsing command-line parameters.
+
+       * views.cpp: Fixed bug in copying of labels from images to
+       plotfiles
+       
+       * syserror.cpp: fixed reporting for fatal errors
+
+       * projections.cpp: fixed MSVC failure with std:: namespace
+
+       * procsignal.cpp: fixed bug in equiangular reconstructions
+       for frequency/inverse-fourier filtering
+       
+3.0.0alpha4 - Released 1/09/01
+
+       * ctsim: Added reset to full-intensity scale menu item
+
+       * ctsim: Add conversion of projections to polar plot [Thanks to
+       Ian Kay for reference and math hints in polar bilinear scaling]
+
+       * ctsim: improve bilinear scaling of image size [Thanks to Ian Kay
+       for math tips]
+
+       * ctsim: imagefile labels are now copied to plotfiles
+
+       * ctsim: Added more analyze menuitems
+       
+       * ctsimtext: First version. All command-line tools are now accessed
+       through this master shell. Has both command-line and interactive
+       interface
+       
+       * ctsim: Fixed initialization of min/max bug for PlotFiles
+
+       * ezplot: Cleaned up y-tick label placement
+
+       * sgp: Added better support for projection/reconstruction animation
+       
+3.0.0alpha3 - Released 1/02/01
+
+       * ctsim: Added plotting of histograms
+       
+       * imagefile.cpp: fixed bug in generation of 16-bit PNG images
+
+       * ezplot.cpp: adjusted xtick label displays for better placement
+       
+3.0alpha2 - Released 1/02/01
+       
+       * ctsim: All functions of command-line tools are now in graphical ctsim
+       
+       * ctsim: added generation of filter images
+
+       * ctsim: Added 2-image math functions (mul, add, div, sub)
+
+       * ctsim: Added export of imagefiles to graphic file formats
+
+       * ctsim: Added support for scaling imagefiles in new sizes
+
+       * ctsim: Added ability to save standard phantom definitions as
+       text files suitable for reading.
+       
+       * ctsim: Add labels for image transformations and display of labels
+       when performing properties of images.
+
+       * processsignal.cpp: Fixed "off by one" bug in
+       shuffleNaturalToFourierOrder when n is even. Moved functions to
+       fourier.cpp
+
+       * imagefile.cpp: Added FFTW library to imagefile processing. Converted
+       image math functions to complex-valued math.
+
+       * phantom.cpp: Added ability to save phantom files as ASCII text.
+       
+3.0alpha1 - Released 12/29/00
+
+       * Added PlotFile class to system, used by if2 and ctsim for row
+       and column plots and comparison plots
+
+       * ctsim: Added image comparison statistics and image subtraction
+
+       * ctsim: Added plotting of rows & columns with y-axis scaling 
+
+       * ctsim: Added row and column plot comparisons between two image
+       files.
+
+       * ctsim: Added "Process" menu to image file display with math
+       functions. Added 2-dimensional inverse Fourier to math
+       functions. Added support for complex (real/imaginary) images.
+
+       * mathfuncs.cpp: Reworked statistics algorithm to share between
+       imagefile and plotfile classes.
+
+       * imagefile.cpp: Fixed scaling bug when rasterizing Phantom with
+       nsamples > 2.  Added generic mage math functions, moved from
+       if1.cpp and if2.cpp to imagefile.cpp. Added support complex
+       images.
+
+       * array2dfile.cpp: Added code to support complex (real/imaginary)
+       images.
+
+       * if1: Updated to handle error conditions, such as sqrt of a
+       negative number. Converted to use new ImageFile math functions.
+       
+       * if2: Updated to output plot files and use new ImageFile class
+       math functions
+
+       * if1: Updated to use new ImageFile class math functions
+
+       * ezplot: Reworked to better store colors/linestyles/symbols with
+       individual curves. Improved display of labels and ticks. Updated
+       to use POL class member variable. Updated to more C++ conventions.
+
+       * pol: converted to C++ class. Extracted HashTable to separate
+       class.
+       
+       * sgp: Added linestyle settings
+       
+2.5.0 - 12/18/00 
+   First Microsoft Windows GUI version
+   Modifications for Microsoft Visual C++ compilation.
+   Improved pjinfo to output binary headers and view data, useful
+       when manually compiling phantoms that vary during projection
+       process. Thanks to Ian Kay for idea and code submission.
+   Improved sorting to find median in ImageFile::statistics
+   Fixed core-dump bug in Array2dFile::labelsCopy() function (Ian Kay) 
+   Changed reconstruction dialog to fix onto smaller screens
+   Fixed display of plotting in Projection views
+   Improved animation displays for Projections and Reconstructions
+   Changed code to explicitly use std:: namespace rather than 
+       "namespace using std" statements
+   Fixed reconstruction scaling bug introduced in 2.0.6
+   Renamed if2img to ifexport, if-1 to if1, if-2 to if2
+       
+2.0.6 - 12/03/00
+   Fixed minor compilation problem with procsignal.h
+   Updated README file
+   Fixed bug when simulating projections and Trace == CONSOLE
+   Fixed scaling bug when performing redundant rotations around object
+       
+2.0.5 - 12/01/00
+   Improved compilation on RedHat 7
+   Changed some of ANSI C header files to C++ header files
+   Removed README.RedHat7
+       
+2.0.4 - 11/25/00
+   Added documentation for --geometry setting
+   Added README.RedHat7 document
+        
+2.0.3 - 11/20/00
+   Fixed bug in generation of binary PGM files
+   Fixed MPI compilation bug in phm2pj.cpp
+   Inverted y-axis output for pj2if (bug alert from Ian Kay)
+       
+2.0.2 - 11/8/00
+   Additions to man pages (Ian Kay)
+   Fix problem with reading of ASCII phantom files (Ian Kay)
+
+2.0.1 - 10/1/00
+   Fixed syntax error in fftw configuration
+   Slight modifications to support gcc v2.9.6
+       
+2.0.0 - 9/7/00
+   Version 2.0.0 released!
+   ctsim: Added Window menu to Main frame
+   ctsim: Disabled not support reconstruction method
+   Fixed obscure bug in sys_error
+   Fixed compilation in mingw environment not present
+   Fixed compilation in non-graphical environments     
+       
+2.0.0-b12 - 9/4/00
+   ctsim: Added animation of reconstruction
+   ctsim: Added saving of dialog parameters for Projection & Reconstruction
+   ctsim: Added progress dialog for rasterization of phantom
+   ctsim: used setpriority to set lower priority
+   ctsim: fixed pReconstruct not being deleted causing scaling problem
+   ctsim: fixed projection animation dialog buttons
+
+2.0.0-b11 - 9/1/00
+   ctsim: Added projection graph to animation of projection collection 
+   ctsim: Added single stepping to projection collection animation
+   ctsim: improved File/Properties display for projection files
+   ctsim: Added progress dialog for reconstructions
+   ctsim: Added file labels for projection and reconstruction images
+   ctsim: Made File/Properties bring up modal dialogs
+   Added reconstruction for Equilinear and Equiangular geometries
+   Changed theta to be -PI/2 to make compliant with Kak-Slaney formulas
+   Separated reconstruction into Reconstructor class
+   Fixed center of detector adjustment for even number of detectors
+   Added --enable-static to generate statically linked programs
+       
+2.0.0-b10 - 8/25/00
+   ctsim: Added animation of projection collection processs
+   ctsim: Added Auto Scaling for image windows
+   ctsim: Change menus from "windowing" to "display scaling"
+   Added FieldOfView and FocalLength ratio parameters to projection collection
+   Added FocalLength & FieldOfView fields to projection data files
+   Added Projection collection for Equilinear and Equiangular geometries
+   Changed name of Rowland Phantom to correct name of Shepp-Logan
+   Fixed bug in backprojection selection
+       
+2.0.0-b9 - 8/22/00
+   Added RCS Id strings to executable files
+   Added RPM Spec file for RPM package creation
+   Added loading of ASCII phanthom definitions from files
+   Fixed compilation for non-SGP architectures 
+   Decomposed SignalFilter class into ProcessSignal and SignalFilter classes
+   Added Filter-Generation option to reconstruction to allow direct or 
+       inverse_fourier construction of filters
+   Added median to statistics and to auto-windowing
+       
+2.0.0-b8 - 8/1/00
+   Added line color support to SGP
+   Fixed lineAbs bug
+       
+2.0.0-b7 - 7/25/00
+   Finished support for dmallocxx library
+   Fixed bug in SignalFilter::convertFilterMethodNameToID()
+   Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to 
+       G2 windows and well as WXWindows.
+   ctsim program: "Create Phantom" now shows phantom object
+   Fixed row-plot bug in if-2
+   Reworked EZPlot's multiple plot operation
+       
+2.0.0-b6 - 7/22/00
+   ctsim program: improved initial size and scroll area for image 
+       and projection files
+   ctsim program: added rasterization parameters, projections parameters,
+       and reconstruction parameters dialogs
+   Moved char[] static definition from header files to c++ files
+   Completely reorganized option processing in classes to improve
+       expandability and to assist ctsim graphical user interface.
+       
+2.0.0-b5 - 7/17/00
+   ctsim program: Added dialog to set minimum/maximum display levels 
+   Started ctsim.tex document file
+       
+2.0.0-b4 - 7/13/00
+   Fixed compiler warnings at -Wall level
+   Began work on CTSim program to be graphical front-end of all functions
+   Moved current src/*.cpp to tools/*.cpp
+   Made CTSim graphical front-end's home to be src/
+       
+2.0.0-b3 - 7/10/00
+   Added highly optimized backprojection method idiff3
+   Moved comparative stats to if-2 program from ifinfo
+   Fixed image display in if2img using G2 library
+   Added column-plot and row-plot options to if-2
+   Added autoselection of analytic/calculated spatial responses to SignalFilter
+   Added frequency-based preinterpolation to SignalFilter and idiff3
+       backprojection method. Currently, this technique is still under
+       development and debugging
+   Moved graphic file writing to ImageFile class from if2img program
+
+2.0.0-b2 - 7/07/00  
+   Cleaned up SignalFilter class
+   Added zeropad option to pjrec
+   Added zeropad options to html and cgi files
+   Added fourier_table and rfttw filter methods
+   Added FFTW routines to use real/half-complex transformations
+       
+2.0.0-b1 - 7/05/00
+   Updated trace level processing
+   Added trace level to SignalFilter
+   Fixed magnitude vs. real output bug in FFT/Fourier filter
+       
+1.9.9 - 7/04/00
+   Fixed const issue with ImageFileArray
+   Fixed Array2dFile::labelsCopy()
+   Added copy constructor and assignment for Array2dFileLabel class
+   Added Timer to if-2.cpp and ifinfo.cpp
+   Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
+   Added option processing for filter-method for pjrec to choose
+       between convolution, dft, & fft filtering
+   Fixed format string for EZPlot so axis labels now print
+   Added support for FFTW library
+       
 1.9.8 - 6/27/2000
    Rewrote Array2dFile class to be non-templated
    Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
    Rewrote Array2dFileLabel class to make members private, added access routines
    Removed timedate.cpp in favor of standard C library time/date functions
-   Renamed ctrec to pjrec
+   Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
+   Added signature tag and creation date/time to projection files
        
 1.9.7 - 6/25/2000
    Standardized string option processing by classes. All classes use character strings