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