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