-----------------------------------------------------------------------
MultiSpec changes in 10.16.96

Display Image
   This includes a fix for the problem which caused MultiSpec to crash
or freeze sometimes when one displayed an 8-bit color image on a monitor
which is set for thousands or millions of colors. If anyone continues
to have problems with this please let us know.

   Also this version includes a fix for the problem which caused the
screen not to be updated behind the portion of the image which would be
behind a floating window such as the control strip when one used the 
hand scroll capability. The fix though causes 'hand scrolling' not to
be quite as smooth as before.

General
   This version was compiled with the latest version of Codewarrior
(Codewarrior 10).

-----------------------------------------------------------------------
MultiSpec changes in 9.12.96

Statistics/Project
   This version contains a fix so that one can change the default 
name given for class and field names. 

General
   This version also adds the closed hand cursor when one holds the
option key down with the cursor over the image and clicks the mouse 
button down to scroll the image.

   This version was compiled with a new version of Codewarrior 
(Codewarrior 9).

NOTE:
   A problem has been noted on our new PPC8500/180 (PPC604e) system in 
which MultiSpec will crash the system when the monitor is set for 
thousands or millions of colors and one displays a thematic image or a 
multispectral image with 8 bits of color. If anyone else notices this 
please let us know.

-----------------------------------------------------------------------
MultiSpec changes in 7.30.96

General
   This version contains a fix for the "Could not Find ThreadsLib"
message. I have done some testing with asychronous file IO which uses
the Treads Library. I turned the code off for the 7.26.96 version because
it was not ready yet. However, I did not set the Threads Library to
be "weak linked". Therefore, MultiSpec would not run on any PowerPC
machine which did not have the Threads Library already installed in
the operating system.

-----------------------------------------------------------------------
MultiSpec changes in 7.26.96

Feature Extraction
   A new feature was added called "Preprocessing". This capability was 
developed by Luis Jimenez. The Preprocessing feature is used to reduce 
the dimensionality of high dimensional data using a method called 
Projection Pursuit. Feature extraction can now be done in two steps - 
the preprocessing step to create groups of adjacent channels and then 
the step using either the descriminant analysis or decision boundary 
algorithms. The transformation created by this processor can be used 
transform the data used in other processors such as Feature Selection 
and Classify. This is still very much a research capability as of now. 
Additional information about the preprocessing step is forthcoming. A 
paper has also been submitted.

Display Multispectral Image
   A change was made so that an error sound alert is not made when one 
deletes all characters in the boxes which indicate the channel to be 
displayed for each color. The sound alert is now made when one clicks 
OK and the numbers in those boxes are not within range.

   Also a change was made so that any selection made in an image will 
not be the default selection when one uses the 'Display Image' processor; 
the entire image will be the default selection. One can request the 
selected area by just clicking on the box to the left of the line and 
column selection values.

   The above changes were made after observing some groups of first 
time users at a 4H roundup workshop. Many were confused by the 
previous behavior.

List Image Description
   A fix was made so that the channel descriptions would be listed 
correctly for cases when two or more image files were linked and the 
first image had fewer channels than the second or later image files.

Selection Graphs
   All selection graphs from the same image window now have the same 
scale.

   A bug was fixed which would sometimes cause MultiSpec to crash when 
a selection graph was closed and a new one was opened.

General
   All dialog boxes (except the open and save file dialogs) are now 
moveable.

   One can hold the option key down and then move the thumb in the scroll
bar to move the image 'live' with the scroll bar. This works best with
the faster machines.

-----------------------------------------------------------------------
MultiSpec changes in 3.18.96

Project-Remove as Associated Image
   A bug was fixed which would not allow an image to be disassociated 
with the project file.

Feature Selection
   A bug was fixed which would cause an infinite loop of memory error 
messages when the number of characters being listed in a line of data 
in the text output window was more than 12,000 characters and member 
became low.

   Another bug was fixed which would corrupt memory sometimes when no 
distance measure listing was created because of ill-conditioned 
covariance matrices.

Project Processors
   A bug was fixed which would cause some cases of ill-conditioned 
covariance matrices to be accepted as being good. This bug was introduced 
in the 10.30.95 version.

Mac Administrator
   A change was made so that files could be saved when run under a secure 
environment provided by the Mac Administrator application. Users were 
getting a file IO error of -5000 when they tried to save a file to a 
folder which they should have been able to save to.

Cluster
   A bug was fixed which caused a file IO error when one clustered 
training fields which were more narrow than the column interval 
requested.

General
   This version has been compiled with Version 1.4 of Metrowerks 
CodeWarrior. Again this version of MultiSpec contains many changes in 
the code so that it can be used in both the Macintosh and Windows 
versions. Hopefully the 'bugs' generated by these changes are few.

   Most features of this version will run on Mac Pluses and SEs. 
Multispectral type image displays work okay. However Thematic type 
image displays and Selection graph windows do not work. If these 
shortcomings for Mac Pluses and SEs cause problems for anyone, 
please let me know.

-----------------------------------------------------------------------
MultiSpec changes in 12.21.95

Cluster
   A bug was fixed which could cause MultiSpec to crash when 
one saved the old project statistics when the new cluster 
statistics were to be put into a new project file and after 
the cluster processor was completed, the cluster processor 
was run again.

Reformat-Change Image File Format
   A change was made so that when a copy of a Thematic Image is 
made a new .TRL file would also be created which contains 
the colors currently being used to display the classes in 
the image window.  This feature now works for cluster 
classification maps, ERDAS classification files and 
MultiSpec classification files both with and without 
thresholding.

   Also a change was made so that the Reformat processor will 
limit the size of the output buffer used to hold the new 
image file. Before this, Reformat would get as much memory 
as was available to it hold the new file before writing it 
to disk. I ran into problems when trying to write a buffer 
with more than 35 megabytes to disk at one time.

StatHistogram
   A bug was fixed which caused a matrix format of histograms 
grouped by channels to not always be listed.

General
   This is a new release version. Again this version of 
MultiSpec contains many changes in the code so that it can 
be used in both the Macintosh and Windows versions.  
Hopefully the 'bugs' generated by these changes are few.

   Also, this version will not work on Mac Pluses and Mac SE's. 
There is a bug in the compiler being used which causes this. 
The problem should be fixed in early 1996.

   The MultiSpec version number is now listed in the processor 
title line in the output text window. This allows for better 
documentation when comparing output.

-----------------------------------------------------------------------
MultiSpec changes in 10.30.95

Feature Extraction
   A fix was made to correct a problem with the Discriminant 
Analysis and the application of class weights. In previous 
versions of MultiSpec, the results for two class cases would 
be wrong most of the time. The results were correct if one 
used more than 2 classes as long as equal class weighting 
was desired.

Statistics
   An addition was made to the statistics options window so 
that the user can control the threshold used to determine 
when an inverted matrix should not be considered a valid 
matrix. If the log of the determinant found during the 
matrix inversion is less that -25, then the requested 
operation is not completed. The user can now adjust this 
down to the limit of numerics of the processor. NOTE, in the 
future, the method used to determine a valid inverted matrix 
may be changed to a comparison of the identity matrix with 
the product of the original and inverted matrix.

Selection Graphs
   The format of the selection graphs were changed to be more 
'pleasing'.

General
   This version of MultiSpec contains many changes in the code 
so that it can be used in both the Macintosh and Windows 
versions.  Hopefully the 'bugs' generated by these changes 
are few.

-----------------------------------------------------------------------
MultiSpec changes in 9.18.95

List Data
   A fix was made so that the correct data values would be 
listed for the case when multiple image files were linked 
together in which each file contained more than one channel. 
This problem would also affect some of the other processors.

Histogram Image
   A fix was made so that MultiSpec would not crash when one 
specified that a new histogram to be used from within the 
Display Dialog box and then within the Histogram Dialog box 
an already existing image statistics file was selected.

General
   MultiSpec is now being compiled with a C++ compiler. This 
version also is the first one that contains some code that 
has been revised so that it can be used in both the 
Macintosh and Windows versions.

-----------------------------------------------------------------------
MultiSpec changes in 7.28.95

Statistics Enhancement
   Changes were made to give the user more information about the 
processing status as the enhancement algorithm is being run. This
includes a spinning cursor and more detailed messages in the status
dialog box. Also the table of total likelihood values and likelihood
change is listed in the output text window as they are computed 
instead of at the of the job. These changes are particularly 
helpful for jobs of 50,000 unlabeled points and more than 50 
channels.

   I noted that there was a lot of disk thrashing going on when 
virtual memory was being used during the portion of the statistics 
enhancement algorithm when new means and covariance's were being 
computed. I reordered the loops in this section of the code so 
that memory would be accessed in a contiguous manner most of the 
time instead of always skipping around. This had other benefits in 
that thresholded samples could be handled more efficiently. This 
definitely helped the disk thrashing when virtual memory was being 
used and improved the performance whether virtual memory was used 
or not. The performance improvement is really dramatic for the 
Power PC Macintoshes and for cases of many channels and unlabeled 
points. Jobs on Power Mac's can be run with the new version in 
these cases in 12-30 percent of the time than it took with 
previous versions of MultiSpec. Some stats follow.
                                                          versions
                                                     6.15.95    7.28.95
                                                       sec        sec
  660AV
    7 channels, 4 classes, 7225 unlabeled points       150        139
    12 channels, 9 classes, 13,090 unlabeled points    561        441

  PowerPC 8100/80
    7 channels, 4 classes, 7225 unlabeled points        16         13
   12 channels, 9 classes, 13,090 unlabeled points     118         37
   51 channels, 24 classes, 78,848 unlabeled points   57,820     6,641

Feature Extraction
Classify
Compute Statistics
   
   A spinning cursor is now used as the job runs to give feedback to 
the user that work is underway.

Reformat-Change Image File Format

   When a transformation is being used convert the input channels to 
a different set of output channels using transformation matrices 
or combinations of channels the 'Channels' popup menu in the 
Change Image File Format dialog box is hidden.  The information 
controlled by this popup menu was not used in these circumstances 
and just caused confusion.

Open Image

   A new image file format is now supported - the Scientific Data 
Model portion of the Hierarchical Data Format (HDF). MultiSpec 
assumes that this is a multispectral type image. The HDF format 
supports multiple images in the same file. MultiSpec will by 
default always access the first image in the file. However, if the 
user needs to get to other data sets in the HDF file, then the 
user can hold the shift key down while using the 'Open Image' menu 
command again when selecting the HDF file a second time. The next 
available scientific data set will be used. If the last scientific 
data set was the last one opened, then the first data set will be 
opened. I don't know how important it is to support multiple data 
sets in the same HDF file. I could make this more user friendly if 
it is important. I have not tested this capability very well as I 
do not have access to a lot of different HDF files. Also the 
library being used to access the HDF files causes memory 
fragmentation. I have not determined a way to fix this yet. This 
capability was implemented for the GLOBE program.

-----------------------------------------------------------------------
MultiSpec changes in 6.15.95

Project Statistics
   A fix was made to correctly compute statistics for classes read from 
a project file in which some were up-to-date and some were not. The 
problem occurred for cases which involved enhanced statistics.

Display Thematic Images
   A new color palette has been added - AVHRR NDVI - to support AVHRR 
normalized difference images. Also several changes were made to allow 
a user to use 'canned .TRL' files with images which do not have ERDAS 
type headers.

Reformat - Change Image File Format
   A user now gets a .TRL file with the currently displayed colors when 
a new image is created from a file represented by the active thematic 
image window. If one just wants to save the revised colors to a new .TRL 
file then save a small portion of the active image to a new file. You 
can then rename file .TRL file to match the thematic image file that you 
want to use it with and throw the small image file away. I have added a 
task to the 'To Do' which would allow a user to just create a .TRL file.

-----------------------------------------------------------------------
MultiSpec changes in 5.2.95

Reformat-Change Image File Format
   A bug was fixed which caused a parameter in newly created ERDAS 
formatted files to not be set properly. The number of bits parameter for 
8 bit files was set to 4 bits. (One can work around the problem in 
incorrectly generated image files by using the 'Change Image 
Description' menu option under the File menu to change the number of 
bits from 4 to 8.) This bug was introduced when the code format was 
changed to make things easier when moving the code to the Windows 
version.

-----------------------------------------------------------------------
MultiSpec changes in 4.25.95

Open Images
   A change was made so that MultiSpec can interpret LAS (Land Analysis 
System) formatted image files directly without requiring the user to 
enter the number of lines, columns, and channels. One can select either 
the .IMG or .DDR file to open the image. The only requirement is that 
the .IMG and .DDR files need to be in the same folder. This change was 
made in support of the GLOBE program.

Histogram
   A fix was made so that the histogram processor would work correctly 
for linked image files. Only the first file in the link sequence was be 
used to compute the histograms.

-----------------------------------------------------------------------
MultiSpec changes in 3.30.95

Display Multispectral Image
   The default setting for treating '0' data values was changed from 
'Treat as Background' to 'Treat as Data'. This was causing some 
confusion. I've decided to treat all values as data. Users can change 
the setting if they wish to treat '0' data values in a special way.

-----------------------------------------------------------------------
MultiSpec changes in 3.17.95

Thematic Image Window
   A programming error is fixed which caused user selected colors for 
groups to not be handled properly.  The colors would appear correct on 
the screen at first but when the window needed to be updated, such as 
after 'blinking', the old color would show up for some of the classes 
making up the group.

General
   This version of MultiSpec was compiled with a new version of the 
CodeWarrior compiler which supposedly generates code which is compatible 
with the new PowerPC 603 and 604 machines that Apple is developing. I 
have not tested it.  If anyone does, please let me know how it works.

-----------------------------------------------------------------------
MultiSpec changes in 3.1.95

Classify - Echo
   A programming error was fixed so that Echo would work properly when 
the number of channels being used was more that 181. In earlier 
versions a user would sometimes get a message that more than 4 
gigabytes of memory was needed.

Statistics Enhancement
   One of the algorithms was programmed differently so that the log of 
the determinant would be used instead of the determinant.  The 
determinant of a matrix with upwards of 200 dimensions will be too large 
many times to fit within a double variable as defined on a PowerPC. Also 
another algorithm was revised to allow for scaling to minimize the 
possibility of having numbers that are too small for a double on a 
PowerPC.

   A double on a PowerPC is 64 bits and follows standard IEEE 
guidelines. The range of values for a double on a PowerPC is exp(-740) 
to exp(740). A double on a 68K Mac using the floating point processor is 
80 bits but is not a cross platform standard. The range of values for a 
double on a 68K Mac using the floating point processor is exp(-11400) to 
exp(11400).

-----------------------------------------------------------------------
MultiSpec changes in 2.11.95

Feature Selection
   Some of the wording for Channel Combinations in the Feature Selection 
dialog box has been changed to try to be more clear for the user. Also 
an Alert message is displayed if the user selects OK before selecting 
the number of channels/features/groups that are to be used.

-----------------------------------------------------------------------
MultiSpec changes in 2.7.95

BiPlot
   Some changes were made in the BiPlot dialog box.

Open Images (Thematic type)
   A fix was made so that MultiSpec would not crash when images with no 
recognizable headers were opened as a thematic image and the number of 
classes in the image was being counted.

General
   The menu item name 'Save' was changed to 'Save Thematic Group Info', 
which is the only time that this menu item is used. Also the menu item 
name 'Save Image As...' was changed to Save Image to TIFF As...' to give 
more information to the user.

-----------------------------------------------------------------------
MultiSpec changes in 1.30.95

Thematic Image Window
   A fix was made so that the group information that had been saved in a 
disk file will be listed correctly when a thematic image is displayed 
for thefirst time. (The group information in the list had been blank 
when the image was displayed for the first time).  Also a fix was made 
for a 'memory leak' that occurred when the groups dialog box was 
displayed.

General
   A change was made so that the message 'This version of MultiSpec will 
only use the math coprocessor indirectly that is available in this 
system.' will not be displayed when MultiSpec is running in native mode 
on a PowerPC machine with the SoftwareFPU extension installed.

-----------------------------------------------------------------------
MultiSpec changes in 12.22.94

Save Image As...
   This version allows the user to save the active image window (or the 
selection within the window) to a TIFF formatted disk file.  Thematic 
images and 8-bit color multispectral images are saved as TIFF Palette-
color images, 1 channel multispectral images are saved as TIFF Gray 
scale images and 16-24 bit color multispectral images are saved as TIFF 
RGB Full Color images.  Photoshop 3.5 can read these MultiSpec 
created images okay.  (Color-It crashes when reading some of these 
MultiSpec created images.  I am still looking into the problem.)  Note 
the new menu item under the file menu.

Histogram
   A change was made so that the cursor was not changed from the watch 
to the arrow until after the newly created statistics file has been 
closed. This was done because the closing process can take a long time 
when closing a statistics file written on a floppy disk with 220 
channels.

Thematic Image Window
   A user can now hold the shift key and command key down when the 
cursor is over the legend color chip or a pixel in the image to flash 
all other classes to the background when clicking the mouse button. If 
one just holds the shift key down, the reverse happens; the selected 
class flashes.

General
   I am trying out some gray background dialog boxes (About MultiSpec, 
Coordinate Window and Memory summary.


-----------------------------------------------------------------------
MultiSpec changes in 12.19.94

Open Image/Display Image
   This version will recognize and open some TIFF formatted images. The 
TIFF image may be 8 or 16 bits (not 1 bit) and the image must not be in 
a compressed format. Those TIFF images with color tables are treated as 
a Thematic type image and those TIFF images with 1 or more layers (or 
channels) and no color table are treated as Multispectral type images.

Reformat-Rectify Image
   A fix was made so that setting non-selected pixels to the background 
value for the case when a subset of the channels is rotated works 
properly.

General
   Changes were made so that the process of entering line and column 
values in dialog boxes will all be treated the same across all 
processors.  In previous versions, checks were made for start 
line/column being larger that end line/column as the value was entered 
in some cases and after the 'OK' button was selected in other cases. All 
checks are now made after the 'OK' button is selected.

-----------------------------------------------------------------------
MultiSpec changes in 12.9.94

Selection Areas
   A programming error was fixed that caused MultiSpec to crash when one 
selected an area with the command key down (so that the selected area 
would be drawn in all windows) and one of the other image windows was 
blank.

List Results
   A fix was made so that the training and test field results would be 
correct for those cases when the classification image was in ERDAS GIS 
format and there was no TRL file.

Reformat-Change Image File Format
   The 'Entire Image/Selected Area' icon has been added to the dialog 
box. Also one can enter the line and column values in any order without 
causing an error beep to occur when the end line or column is less than 
the start line or column. This error condition is checked after the OK 
button is selected and an error beep is given at this time as a warning 
to the user.

Reformat-Rectify Image
   A fix was made so that the image would be rotated when a subset of 
the channels was used.

   The 'Entire Image/Selected Area' icon now works correctly.

Open Project Image Window
   A programming error was fixed so that MultiSpec would not crash when 
a project image window was opened using the 'File-Open Project Image' 
menu command, closed, and then the project or another project image 
window was closed.

-----------------------------------------------------------------------
MultiSpec changes in 11.10.94 

Reformat-Change Image File Format
   A change was made for the case when an ASCII type Thematic file (for 
example a MultiSpec ASCII cluster map or classification) is copied to an 
ERDAS formatted '.GIS' file. The output of this process will now be a 
.GIS file AND a .TRL file. Also, the data values in the .GIS file will 
be recoded so that all classes have binary data values of 1, 2, 3, etc. 
up to the number of classes.

   Another change has been made so that if one copies an ERDAS .LAN or 
.GIS file to another ERDAS formatted file and the input file contains 
map projection information, the map projection information will be 
included in the ERDAS header for the output file.  NOTE as of now no 
'update' in these parameters is made if a subset of the area is copied.

   A programming error was fixed which caused MultiSpec to crash just 
before the status dialog box was displayed in some cases.  The error was 
introduced in June 1994.

Classify
   A change was made so that if one uses an ERDAS .LAN file as the 
target image for a classification and the .LAN file contains map 
projection information, the map projection information will be included 
in an output .GIS file.  NOTE as of now no 'update' in these parameters 
is made if a subset of the area is classified.

-----------------------------------------------------------------------
MultiSpec changes in 11.3.94 

Histogram
   Listing histogram values was fixed for column type lists so that the 
number of data values for saturated bins such as 0 would be listed.

-----------------------------------------------------------------------
MultiSpec changes in 10.28.94 

Open/Save Project
   Some changes were made so that projects would be saved and read 
correctly for cases with mixtures of cluster classes, supervised 
selected classes, and classes with no training areas.

List Statistics
   Some changes were made to better handle the cases listed above for 
Open/Save Project when listing the statistics to the output text window.

Create Statistics Image
   A programming error was fixed which caused the message 'Error = -43: 
Could not find 'filename'.

BiPlot
   Additional messages were added to the status dialog box to better 
inform the user what was going on.

-----------------------------------------------------------------------
MultiSpec changes in 10.17.94 

Change Image Description
   A check is now made and a message presented to the user if you select
this File menu item when the active image window represents the base 
imagefor an open project. The image file description cannot be changed 
while the project is open.

Cluster - Single Pass
   A fix was made so that image files with large data values (> 14 or 15 
bits) would be handled properly. The difference between a data value and 
the cluster mean was being treated as a 2 bytes instead of 4 bytes. 
(Note that these values are being scaled by a factor of 10 so that 
calculations are done to the nearest tenth of a data value).  This 
problem existed in non-PowerPC MultiSpec versions before 8.22.94.

   Some status dialog messages were changed so that they better 
reflected what the status really was.  (Sometimes the current line 
number would become greater than the last line number.)

Classify - Echo
   A new option has been added to the Echo Parameter dialog box. The 
user now has the option of whether to create the 'extra' homogeneous 
fields and classes image disk files. The default is for no homogeneous 
fields and classes files.

-----------------------------------------------------------------------
MultiSpec changes in 10.10.94 

Display MultiSpectral Image
   A problem was fixed with the Enhancement/Specify Min-Max Options for 
User Minimums-Maximums in 1-channel displays. The user settings were not 
being used; the entire range of the data was being used instead.

-----------------------------------------------------------------------
MultiSpec changes in 8.22.94

Reformat-Change Image File Format
   A change was made so that when one appended a new file to the end
of an image file which did not have a header,  MultiSpec would always
assume that the default file type was multispectral and not thematic.
In previous versions, if the last file that was opened was treated 
as a thematic image, then MultiSpec assumed that the file to be 
appended-to was also a thematic image when there was no recognized
header.

-----------------------------------------------------------------------
MultiSpec changes in 8.11.94

General
   Changes were made so that the MultiSpec code would compile using the
Metrowerks C++ compiler. This involved changing all variables with a
name of 'class' to something else since class is a keyword in the C++ 
world. Hopefully this change does not affect anything.

   Starting with this version, the native 68K versions of MultiSpec for 
both the with and without 68881 coprocessor are compiled with the 
Metrowerks compiler.

-----------------------------------------------------------------------
MultiSpec changes in 7.21.94

Save Project
   An error was fixed in the PowerPC version which caused the 
enhanced statistics to not be saved correctly.

Enhance Statistics & Feature Extraction
   An error was fixed in these two processors involving release of 
memory.  The wrong address was being released.  This error was 
only noticeable when debugging on the PowerPC.

-----------------------------------------------------------------------
MultiSpec changes in 7.18.94

List Data
   An error was fixed in the native PowerPC version which caused 
unsigned data  values larger than 32767 to not be listed correctly.

General
   The labels on the buttons for the alert dialogs have been changed 
from Yes-No to Open-Don't Open, Save-Don't Save, Finish-Don't Finish 
whichever is appropriate.  This was done to comply with the Apple 
User Interface Guidelines.

-----------------------------------------------------------------------