8f16a4df42bbf23cda685d8fb52e315ec5d5e4b8
[ctsim.git] / ChangeLog
1 2.0.0-b7 - 7/25/00
2    Finished support for dmallocxx library
3    Fixed bug in SignalFilter::convertFilterMethodNameToID()
4    Rewrote SGP & EZPlot to use C++ object-oriented. SGP can now write to 
5         G2 windows and well as WXWindows.
6    ctsim program: "Create Phantom" now shows phantom object
7    Fixed row-plot bug in if-2
8    Reworked EZPlot's multiple plot operation
9         
10 2.0.0-b6 - 7/22/00
11    ctsim program: improved initial size and scroll area for image 
12         and projection files
13    ctsim program: added rasterization parameters, projections parameters,
14         and reconstruction parameters dialogs
15    Moved char[] static definition from header files to c++ files
16    Completely reorganized option processing in classes to improve
17         expandability and to assist ctsim graphical user interface.
18         
19 2.0.0-b5 - 7/17/00
20    ctsim program: Added dialog to set minimum/maximum display levels 
21    Started ctsim.tex document file
22         
23 2.0.0-b4 - 7/13/00
24    Fixed compiler warnings at -Wall level
25    Began work on CTSim program to be graphical front-end of all functions
26    Moved current src/*.cpp to tools/*.cpp
27    Made CTSim graphical front-end's home to be src/
28         
29 2.0.0-b3 - 7/10/00
30    Added highly optimized backprojection method idiff3
31    Moved comparative stats to if-2 program from ifinfo
32    Fixed image display in if2img using G2 library
33    Added column-plot and row-plot options to if-2
34    Added autoselection of analytic/calculated spatial responses to SignalFilter
35    Added frequency-based preinterpolation to SignalFilter and idiff3
36         backprojection method. Currently, this technique is still under
37         development and debugging
38    Moved graphic file writing to ImageFile class from if2img program
39
40 2.0.0-b2 - 7/07/00  
41    Cleaned up SignalFilter class
42    Added zeropad option to pjrec
43    Added zeropad options to html and cgi files
44    Added fourier_table and rfttw filter methods
45    Added FFTW routines to use real/half-complex transformations
46         
47 2.0.0-b1 - 7/05/00
48    Updated trace level processing
49    Added trace level to SignalFilter
50    Fixed magnitude vs. real output bug in FFT/Fourier filter
51         
52 1.9.9 - 7/04/00
53    Fixed const issue with ImageFileArray
54    Fixed Array2dFile::labelsCopy()
55    Added copy constructor and assignment for Array2dFileLabel class
56    Added Timer to if-2.cpp and ifinfo.cpp
57    Added beginning of frequency-based (DFT & FFT) filter to SignalFilter
58    Added option processing for filter-method for pjrec to choose
59         between convolution, dft, & fft filtering
60    Fixed format string for EZPlot so axis labels now print
61    Added support for FFTW library
62         
63 1.9.8 - 6/27/2000
64    Rewrote Array2dFile class to be non-templated
65    Rewrote Array2dFile class to make reads and writes atomic. No disk files are kept open.
66    Rewrote Array2dFileLabel class to make members private, added access routines
67    Removed timedate.cpp in favor of standard C library time/date functions
68    Renamed ctrec to pjrec, sample-ctrec.sh to sample-ctsim
69    Added signature tag and creation date/time to projection files
70         
71 1.9.7 - 6/25/2000
72    Standardized string option processing by classes. All classes use character strings
73         to select options rather than numeric constants. Added fail() and failMessage()
74         methods to verify that objects are created correctly by character strings.
75    Hid C++ assignment and copy constructors in classes that should not have assignment/copy
76    Rewrote ImageFile class
77    Started support for dmallocxx library, not finished
78    Added G.T. Herman image comparision statistics to ifinfo (see imagefile.cpp)
79    Updated ifinfo to show comparative statistics
80    Added printLabels() to Array2dFile class
81    Added printStatistics() to ImageFile class
82         
83 1.9.6 - 6/22/2000
84    Moved conversion filter name/id to Filter class
85    Moved conversion backprojection name/id to Backproj class
86    Added MPI broadcasting of strings
87         
88 1.9.5 - 6/21/2000
89    Merged proj_reconstr into class Projections
90    Used auto_ptr in Projections::reconstruct to make sure destructor is always called
91    Code cleanup in projections.cpp
92    Moved conversion of phantom names/id to Phantom class
93         
94 1.9.4 - 6/20/2000
95    Converted projection files to C++ library with frnetorderstream
96    Converted image files to C++ library with frnetorderstream
97    Converted filter and convolution to object-oriented code
98    Changed default image file to float from double -- Changable in imagefile.h
99    Optimized image file writing on little-endian architectures
100    Updated README and INSTALL
101         
102 1.9.3 - 6/19/2000
103    Reorganized source files
104    MPI bug fixed to phm2pj.cpp
105         
106 1.9.2 - 6/18/2000
107    Reorganized include files
108    Fixed const pointers in strfuncs
109         
110 1.9.1 - 6/16/2000
111    Renamed directories, moved source files, combined source files
112    to change from 6 libraries to 3 libraries (libctsim, libctsupport,
113    and libctgraphics)
114         
115 1.9.0 - 6/15/2000
116    Skip versions to make version 2.0 the first fully C++ version
117    Renamed Raysums to Projections throughout files
118    Renamed Detector to Scanner
119    Converted Scanner and Projecions to full object-oriented
120         
121 0.6.1 - 6/12/2000
122    Converted Phantom and PhantomElements to Object-Oriented
123    Converted Detector to Object-Oriented
124         
125 0.6.0-b3 - 6/10/2000
126    Improved Integer backprojection method
127         Fixed nearest neighbor to be truly nearest neighbor
128         Made linear interpolation more integer arithmetic -> speed improvement
129    Finished converting all C files to C++
130    Converted all use of malloc/free to C++ new/delete
131    Began object-oriented conversion of Phantom and Projection structures
132         
133 0.6.0-b2 - 6/8/2000
134    Converted MPI data structures to C++ object
135    Made ImageFile directly inherit from Array2dFile
136         
137 0.6.0-b1 - 6/6/2000
138    First C++ conversions
139    Portable IF (image file) format implemented with objects (SDF removed)
140         - Now all data files are cross-platform compatible
141    Converted from MPI to MPI++
142    Converted backprojection to object-oriented
143    Removed MTX from libkmath as no longer need -- replaced with C++ matrices             
144         
145 0.5.4 - 6/4/2000
146    Simpilifed endian handling
147         
148 0.5.4-b3 - 6/1/2000
149    Added support for 64-bit (IA64) CPU
150    Removed broken B-spline interpolation
151    Added support for cygwin platform under Windows 2000
152    Added support for 16-bit PNG graphics
153         
154 0.5.4-b2 - 5/16/2000
155    Added compile-time configuration of endian order
156
157 0.5.4-b1 - 5/14/2000
158    Modified the raysum file format to be platform independent
159         
160 0.5.3 - 5/11/2000
161    Added Microsoft VC compatibility
162    Cleaned up compilation warnings in libgraph
163         
164 0.5.2-b5 - 5/7/2000
165    Continued conversion to ANSI C       
166    Removed old CRT routines
167         
168 0.5.2-b4 - 5/4/2000
169    Renamed pictures to phantoms, objects to phantom elements
170    Continued code cleanup
171         
172 0.5.2-b3 - 4/30/200
173     More code cleanup with reorganizing libraries
174     Added --log and --exp to sdf-1
175     Allowed negative numbers for window levels in CGI interface
176
177 0.5.2-b2 - 4/30/200
178     Continued code cleanup
179         
180 0.5.2-b1 - 4/29/2000
181     Fixed a few MPI bugs
182     Better documented, coded raysum in-memory on on-disk options
183         
184 0.5.1 - 4/28/2000
185     Cleaned out library that wasn't being used by CTSim  
186     Modified ctsim.cgi to read in configuration file ctsim.conf
187
188 0.5.0 - 4/27/2000 
189     First open source distribution for GNU/Linux
190         
191 6/1999 
192   Converted to GNU/Linux
193   added MPI support via LAM library
194         
195 1983-84 
196   Developed under MS-DOS and IBM EGA graphics
197