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