PRISM: Processing Routines in IDL for Spectroscopic 

Measurements (Installation Manual and User’s Guide, 

Version 1.0)

By Raymond F. Kokaly

Open-File Report 2011–1155

USGS Afghanistan Project Product No. 193

U.S. Department of the Interior

U.S. Geological Survey
ii

U.S. Department of the Interior

KEN SALAZAR, Secretary

U.S. Geological Survey

Marcia K. McNutt, Director

U.S. Geological Survey, Reston, Virginia: 2011

For product and ordering information:

World Wide Web: http://www.usgs.gov/pubprod

Telephone: 1-888-ASK-USGS

For more information on the USGS—the Federal source for science about the Earth,

its natural and living resources, natural hazards, and the environment:

World Wide Web: http://www.usgs.gov

Telephone: 1-888-ASK-USGS

Suggested citation:

Kokaly, R.F., 2011, PRISM: Processing routines in IDL for spectroscopic measurements (installation manual and 

user’s guide, version 1.0): U.S. Geological Survey Open-File Report 2011–1155, 431 p.

Any use of trade, product, or firm names is for descriptive purposes only and does not imply 

endorsement by the U.S. Government.

Although this report is in the public domain, permission must be secured from the individual 

copyright owners to reproduce any copyrighted material contained within this report.
iii

Contents

Contents ........................................................................................................................................................................ iii

Figures...........................................................................................................................................................................vi

Tables.......................................................................................................................................................................... xiv

Abstract ......................................................................................................................................................................... 1

Introduction.................................................................................................................................................................... 1

Background and Key Functions of PRISM..................................................................................................................... 2

Installation of Software .................................................................................................................................................. 4

Module 1. ViewSPECPR ............................................................................................................................................... 5

Function 1.1 – Listing the contents of a SPECPR file ................................................................................................ 5

Function 1.2 – Navigating through the record list....................................................................................................... 8

Function 1.3 – Saving the list of records in the SPECPR file ..................................................................................... 8

Function 1.4 – Plotting the data in a selected record ................................................................................................. 8

Step 1. Setting the data record............................................................................................................................... 8

Step 2. Setting the wavelength record.................................................................................................................... 9

Step 3. Plotting the data ........................................................................................................................................11

Step 4. Overplotting data.......................................................................................................................................11

Function 1.5 – Viewing the header, text, or DESCRIPT information in a record .......................................................13

Viewing the header information of a data record ...................................................................................................14

Viewing the text stored in a text record .................................................................................................................14

Viewing the description stored in a DESCRIPT record..........................................................................................14

Function 1.6 – Exporting a selected record to ASCII text..........................................................................................15

Function 1.7 – Performing continuum removal on a record.......................................................................................16

User Selection 1 – setting the plot title. .................................................................................................................20

User Selection 2 – setting the output PostScript filename. ....................................................................................20

User Selection 3 – setting the continuum start wavelength. ..................................................................................20

User Selection 4 – setting the continuum stop wavelength. ..................................................................................20

User Selection 5 – Adjust continuum endpoints. ...................................................................................................20

User Selection 6 – Set continuum endpoints by channel or by wavelength...........................................................20

Function 1.7.1 – Spectral Feature Comparison .....................................................................................................29

Function 1.8 – Running MICA analysis on the selected record.................................................................................42

Prompt 1: Select the MICA command file..............................................................................................................44

Prompt 2: Set the output directory.........................................................................................................................44

Prompt 3: Set the verbose level ............................................................................................................................45

Prompt 4: Set the scale factor for reference spectra, if not set in the command file..............................................46

Prompt 5: Enter the scale factor for reference spectra ..........................................................................................46

Prompt 6: Set the scale factor for observed spectra, if not set in the command file ..............................................47

Prompt 7: Enter the scale factor for observed spectra ..........................................................................................47

Prompt 8: Change the scale factor for observed spectra, if set in the command file .............................................48

Prompt 9: Enter the scale factor for observed spectra, if changing the value from the command file ...................48

Prompt 10: Confirm the successful completion of MICA........................................................................................49

Function 1.9 – ViewSPECPR spectral analysis functions .........................................................................................50

Function 1.9.1 – Write text record .........................................................................................................................51

Function 1.9.2 – Write a separator record .............................................................................................................53

Function 1.9.2.1 – Write separator record of asterisks *****...............................................................................53

Function 1.9.2.2 – Write separator record of dashes ----- ..................................................................................55

Function 1.9.3 – Import ASD spectra ....................................................................................................................55
iv

Function 1.9.4 – Transfer SPECPR record(s) into this file.....................................................................................61

Function 1.9.4.1 – Transfer SPECPR record(s) no changes .............................................................................62

Function 1.9.4.2 – Transfer SPECPR record(s) set wave/FWHM......................................................................65

Function 1.9.4.3 – Transfer SPECPR record(s) set wave/FWHM and change title ...........................................69

Function 1.9.5 – Transfer SPECPR record(s) from this file ...................................................................................72

Function 1.9.5.1 – Transfer SPECPR record(s) no changes .............................................................................72

Function 1.9.5.2 – Transfer SPECPR record(s) set wave/FWHM......................................................................72

Function 1.9.5.3 – Transfer SPECPR record(s) set wave/FWHM and change title ...........................................72

Function 1.9.6 – Average ASD spectra .................................................................................................................72

Function 1.9.6.1 – Average ASD spectra...........................................................................................................74

Function 1.9.6.2 – Average and AbsRef ASD spectra .......................................................................................83

Function 1.9.7 – Interpolate spectra ......................................................................................................................93

Function 1.9.8 – Convolve spectra......................................................................................................................100

Function 1.9.8.1 – Convolve spectra with user-set output titles.......................................................................101

Function 1.9.8.2 – Convolve spectra with automatic output titles ....................................................................109

Function 1.9.8.3 – Convolve spectra with automatic output titles – ALL RECORDS .......................................119

Function 1.9.9 – Spectral arithmetic ....................................................................................................................127

Function 1.9.9.1 – Add two spectra (spec1 + spec2).......................................................................................128

Function 1.9.9.2 – Subtract two spectra (spec1 - spec2).................................................................................132

Function 1.9.9.3 – Multiply two spectra (spec1 * spec2)..................................................................................132

Function 1.9.9.4 – Divide two spectra (spec1 / spec2) ....................................................................................132

Function 1.9.9.5 – Average spectra.................................................................................................................132

Function 1.9.10 – Constant arithmetic.................................................................................................................136

Function 1.9.10.1 – Add a constant to a spectrum (spec1 + constant) ............................................................136

Function 1.9.10.2 – Subtract a constant from a spectrum (spec1 - constant)..................................................139

Function 1.9.10.3 – Multiply a spectrum by a constant (spec1 * constant) ......................................................139

Function 1.9.10.4 – Divide a spectrum by a constant (spec1 / constant).........................................................139

Function 1.9.10.5 – Subtract a spectrum from a constant (constant - spec1)..................................................139

Function 1.9.11 – Line segment of constant value ..............................................................................................140

Function 1.9.12 – Edit a SPECPR record header................................................................................................143

Function 1.9.12.1 – Change record title...........................................................................................................144

Function 1.9.12.2 – Change record title to "DO NOT USE THIS RECORD"....................................................146

Function 1.9.12.3 – Change pointer to wavelength record ..............................................................................148

Function 1.9.12.4 – Change pointer to FWHM record .....................................................................................151

Function 1.9.13 – Export SPECPR Records to ENVI Spectral Library ................................................................154

Function 1.9.14 – Import ENVI Spectral Library ..................................................................................................161

Function 1.10 – Viewing the ―Help file‖....................................................................................................................163

Function 1.11 – Quitting the ViewSPECPR program ..............................................................................................164

iPlot Functions ........................................................................................................................................................164

Export plot to encapsulated PostScript and other image formats ........................................................................164

Module 2. Spectral Analysis Functions .......................................................................................................................166

Function 2.1 – Create a new SPECPR file..............................................................................................................167

Function 2.2 – Create a new SPECPR file for ASD spectra....................................................................................170

Function 2.3 – Write text record ..............................................................................................................................174

Function 2.4 – Write separator record.....................................................................................................................175

Function 2.4.1 – Separator of asterisks *****.......................................................................................................175

Function 2.4.2 – Separator of dashes -----...........................................................................................................175

Function 2.5 – Import ASD binary files into a SPECPR file.....................................................................................176
v

Function 2.6 – Transfer SPECPR record(s)............................................................................................................182

Function 2.6.1 – Transfer SPECPR record(s) no changes ..................................................................................182

Function 2.6.2 – Transfer SPECPR record(s) set wave/FWHM ..........................................................................182

Function 2.6.3 – Transfer SPECPR record(s) set wave/FWHM and change title ................................................183

Function 2.7 – Average ASD spectra......................................................................................................................183

Function 2.7.1 – Average and AbsRef ASD spectra............................................................................................184

Function 2.7.2 – Average ASD spectra ...............................................................................................................184

Function 2.8 – Interpolate spectra...........................................................................................................................184

Function 2.9 – Convolve spectra.............................................................................................................................184

Function 2.9.1 – Convolve spectra with user-set output titles..............................................................................185

Function 2.9.2 – Convolve spectra with automatic output titles ...........................................................................185

Function 2.9.3 – Convolve spectra with automatic output titles – ALL RECORDS..............................................185

Function 2.9.4 – Convolve USGS Spectral Library splib06b ...............................................................................186

Function 2.10 – Spectral arithmetic.........................................................................................................................190

Function 2.10.1 – Add two spectra (spec1 + spec2)............................................................................................190

Function 2.10.2 – Subtract two spectra (spec1 - spec2) .....................................................................................191

Function 2.10.3 – Multiply two spectra (spec1 * spec2).......................................................................................191

Function 2.10.4 – Divide two spectra (spec1 / spec2).........................................................................................191

Function 2.10.5 – Average spectra......................................................................................................................191

Function 2.11 – Constant arithmetic .......................................................................................................................191

Function 2.11.1 – Add a constant to a spectrum (spec1 + constant)...................................................................191

Function 2.11.2 – Subtract a constant from a spectrum (spec1 - constant).........................................................192

Function 2.11.3 – Multiply a spectrum by a constant (spec1 * constant).............................................................192

Function 2.11.4 – Divide a spectrum by a constant (spec1 / constant)................................................................192

Function 2.11.5 – Subtract a spectrum from a constant (constant - spec1).........................................................192

Function 2.12 – Create a line segment ...................................................................................................................192

Function 2.12.1 – Line segment of constant value ..............................................................................................192

Function 2.13 – Edit a SPECPR record header ......................................................................................................192

Function 2.13.1 – Change record title .................................................................................................................193

Function 2.13.2 – Change record title to "DO NOT USE THIS RECORD" ..........................................................193

Function 2.13.3 – Change pointer to wavelength record .....................................................................................193

Function 2.13.4 – Change pointer to FWHM record ............................................................................................193

Function 2.14 – Export SPECPR to ENVI Spectral Library .....................................................................................194

Function 2.15 – Import ENVI Spectral Library.........................................................................................................194

Function 2.16 – Export SPECPR record to ASCII...................................................................................................194

Function 2.16.1 Export to ASCII Floating Point ...................................................................................................195

Function 2.16.2 – Export to ASCII Scientific Notation .........................................................................................198

Function 2.17 – Wavelength/FWHM evaluation of ASD..........................................................................................199

Function 2.17.1 – Compare reference to ASD measurements for Mylar .............................................................205

Function 2.17.2 – Compare reference to ASD measurements for CG5121.........................................................216

Function 2.17.3 – Compare reference to ASD measurements for SRM2035 VNIR ............................................216

Function 2.17.4 – Compare reference to ASD measurements for SRM2035 SWIR............................................217

Function 2.17.5 – Create ASD wavelength, bandpass (FWHM), spectralon records ..........................................217

Module 3. Image Processing Functions......................................................................................................................225

Function 3.1 – Apply RTGC multiplier correction to image cube.............................................................................226

Function 3.2 – Apply RTGC offset and multiplier corrections to image cube ..........................................................231

Module 4. MICA – Material Identification and Characterization Algorithm ..................................................................232

Function 4.1 – Run MICA for Image Cubes ............................................................................................................245
vi

Function 4.2 – Run MICA for Spectral Records ......................................................................................................264

Function 4.3 – Run internal check of a MICA command file....................................................................................272

Release Notes ............................................................................................................................................................276

Acknowledgments ......................................................................................................................................................276

References Cited........................................................................................................................................................276

Appendix A. The MICA Command File .......................................................................................................................279

Appendix B. MICA output reports ...............................................................................................................................328

Appendix C. DESCRIPT pages of example spectra ...................................................................................................412

Appendix D. ASD detector corrections and example asd.txt entries...........................................................................428

Appendix E. Format description and examples of FILE_DN_COLORS......................................................................431

Figures

1. ENVI menu bar with PRISM menu items. ......................................................................................................... 4

2. The main ViewSPECPR control window........................................................................................................... 5

3. Selecting a SPECPR file................................................................................................................................... 6

4. An example listing of the contents of a SPECPR file. ....................................................................................... 7

5. Setting the data record...................................................................................................................................... 9

6. Setting the wavelength record..........................................................................................................................10

7. Warning message following an error in wavelength record selection...............................................................10

8. Plotting data records. .......................................................................................................................................11

9. Selecting new wavelength and data records....................................................................................................12

10. Overplotting data records.................................................................................................................................13

11. Header information from a data record. ...........................................................................................................14

12. Text information from a text record. .................................................................................................................14

13. Example of information in a DESCRIPT record. ..............................................................................................15

14. Setting the filename for the output text file.......................................................................................................16

15. The iPlot window for continuum removal..........................................................................................................17

16. The iPlot window after drawing the continuum line. .........................................................................................18

17. The continuum-removal GUI............................................................................................................................19

18. Continuum refinement with Adjust Continuum Endpoints turned on. ...............................................................22

19. Setting the JPEG file for the continuum-removed plot......................................................................................23

20. Setting the csv file for the continuum-removed plot. ........................................................................................24

21. Setting the title for the SPECPR record that will contain the continuum-removed feature. ..............................25

22. Warning that title exceeds 40 characters. ........................................................................................................25

23. Header information for a data record containing a continuum-removed feature. .............................................26

24. Using the plot range tool. .................................................................................................................................27

25. The iPlot window after using the plot range tool...............................................................................................27

26. The continuum line in the iPlot window after using the plot range tool.............................................................28

27. The undo tool in the iPlot window. ...................................................................................................................29

28. Selecting the SPECPR file containing the new spectrum for comparison. .......................................................30

29. Selecting the SPECPR data record containing the new spectrum for comparison. .........................................31

30. The spectral feature comparison plot, including fit value and other parameters. .............................................32

31. The regression plot for continuum-removed features.......................................................................................33

32. The spectral feature comparison plot with equalized depths............................................................................35

33. Setting the JPEG file for the comparison plot...................................................................................................36

34. Setting the csv file for the comparison plot.......................................................................................................37

35. Setting the title for the SPECPR record that will contain the continuum-removed feature

from the observed spectrum. ...........................................................................................................................39
vii

36. Setting the title for the SPECPR record that will contain the continuum-removed feature

from the reference spectrum............................................................................................................................40

37. Setting the title for the SPECPR record that will contain the scaled continuum-removed feature

from the reference spectrum............................................................................................................................40

38. Example text and data records written ―Save Features to SPECPR‖; the records written

are 33861 to 33884. ........................................................................................................................................41

39. Spectral feature comparison parameters and continuum-removed feature parameters

stored in the text record...................................................................................................................................41

40. Parameters describing the continuum-removed feature of the observed spectrum

stored in the header of the data record............................................................................................................42

41. Running MICA on a selected record. ...............................................................................................................43

42. Selecting a MICA command file. ......................................................................................................................44

43. Selecting an output directory for MICA.............................................................................................................45

44. Setting the verbose level for MICA...................................................................................................................45

45. Prompt to set the scale factor for the reference spectra...................................................................................46

46. Setting the scale factor for the reference spectra.............................................................................................47

47. Prompt to set the scale factor for the observed spectra...................................................................................47

48. Setting the scale factor for the observed spectra. ............................................................................................48

49. Prompt to change the scale factor for the observed spectra. ...........................................................................48

50. Setting the scale factor for the observed spectra. ............................................................................................48

51. Confirming the successful completion of the MICA routine. .............................................................................49

52. Text report of the MICA results. .......................................................................................................................50

53. Spectral functions available within the ViewSPECPR module. ........................................................................51

54. Entering the title for a text record. ....................................................................................................................51

55. Warning that title exceeds 40 characters. ........................................................................................................52

56. The title truncated to 40 characters..................................................................................................................52

57. A title with only 40 characters. .........................................................................................................................52

58. Text to store in a SPECPR text record.............................................................................................................53

59. Separator record functions available within the ViewSPECPR module............................................................54

60. Separator record written to SPECPR file. ........................................................................................................55

61. Selecting ASD binary files for import into a SPECPR file.................................................................................55

62. Selecting ASD binary files for import into a SPECPR file.................................................................................57

63. SPECPR file listing after importing ASD spectra with default wavelength and bandpass (FWHM) records. ....58

64. Header information in an imported ASD spectrum using default wavelength and bandpass (FWHM) values. 59

65. Choosing the wavelength record in the SPECPR file into which ASD spectra will be imported. ......................60

66. Choosing the bandpass (FWHM) record in the SPECPR file into which ASD spectra will be imported. ..........61

67. Functions for transferring records into the SPECPR file being viewed.............................................................62

68. Choosing the SPECPR file from which records will be transferred using the ―no changes‖ function................63

69. Choosing the records that will be transferred using the ―no changes‖ function. ...............................................64

70. Records transferred using the ―no changes‖ function, listed at the end of the SPECPR file being viewed. .....65

71. Choosing the records that will be transferred...................................................................................................66

72. Choosing the wavelength record for the records that will be transferred..........................................................67

73. Choosing the bandpass (FWHM) record for the records that will be transferred..............................................68

74. Prompt to use the selected wavelength and bandpass (FWHM) records for all the data records

that will be transferred. ....................................................................................................................................68

75. Refreshed SPECPR file contents list showing the records transferred with the set wave/FWHM option. ........69

76. Choosing the records that will be transferred...................................................................................................70

77. Setting the title for the record that will be transferred.......................................................................................71
viii

78. Refreshed SPECPR file contents list showing the transferred records. ...........................................................71

79. Averaging functions for ASD spectra. ..............................................................................................................73

80. Listing showing ASD records to be averaged ..................................................................................................75

81. Choosing the wavelength record for the records that will be averaged............................................................76

82. Selecting the bandpass (FWHM) record for the records that will be averaged. ...............................................77

83. Selecting the data records to be averaged.......................................................................................................78

84. Prompt for detector offset correction................................................................................................................79

85. Setting the output title for the record that will contain the average of ASD spectra. .........................................79

86. File listing after averaging of ASD spectra. ......................................................................................................80

87. Header information for the average spectrum..................................................................................................81

88. Selecting the option for detector offset correction. ...........................................................................................81

89. Message warning that the asd.txt file was not found........................................................................................82

90. Offset options when asd.txt file is not found.....................................................................................................82

91. Options for program execution when detector splice information is not found. ................................................83

92. Listing showing ASD records to be averaged and converted to absolute reflectance......................................84

93. Choosing the wavelength record for the records that will be averaged............................................................85

94. Selecting the bandpass (FWHM) record for the records that will be averaged. ...............................................86

95. Selecting the Spectralon panel reflectance record for the ASD spectra that will be averaged. ........................87

96. Selecting the data records to be averaged and corrected to absolute reflectance...........................................88

97. Prompt for detector offset correction...............................................................................................................89

98. File listing after averaging and conversion to absolute reflectance of ASD spectra. .......................................90

99. Header information for the spectrum of the average, converted to absolute reflectance. ...............................91

100. Selecting the option for detector offset correction. ...........................................................................................91

101. Message warning that the asd.txt file was not found........................................................................................92

102. Offset options when asd.txt file is not found.....................................................................................................92

103. Options for program execution when detector splice information is not found. ................................................92

104. Default listing of file contents for the selection of the input wavelength record of the spectrum

to be interpolated.............................................................................................................................................94

105. Listing of new file containing the input wavelength record and the spectrum to be interpolated. .....................95

106. Selecting the spectrum to be interpolated........................................................................................................96

107. Selecting the output wavelength record. ..........................................................................................................97

108. Setting the title for the record that will be interpolated......................................................................................97

109. Selecting the bandpass (FWHM) record for the interpolated spectrum............................................................98

110. Selecting the bandpass (FWHM) record for the interpolated spectrum............................................................99

111. Header information for the interpolated spectrum. .........................................................................................100

112. Initiating the convolution with user-set output titles. .......................................................................................101

113. Setting the wavelength record for the spectrum to be convolved with user-set output titles. .........................102

114. Setting the bandpass (FWHM) record for the spectrum to be convolved with user-set output titles...............103

115. Setting the spectrum to be convolved with user-set output titles....................................................................104

116. Setting the output wavelength record for the spectrometer to which the input data

will be convolved, with user-set output titles..................................................................................................105

117. Setting the output bandpass (FWHM) record for the spectrometer to which the input data

will be convolved, with user-set output titles..................................................................................................106

118. Plot window showing the input data being convolved, with user-set output titles...........................................107

119. Setting the output title for the record that will contain the convolved spectrum. .............................................107

120. Records written after convolving a spectrum with user-set output titles.........................................................108

121. Record header information for the convolved spectrum.................................................................................109

122. The contents of the text record containing the processing log information for the convolved spectrum.........109
ix

123. Initiating the convolution with automatic output titles......................................................................................110

124. The default file listing that appears when convolving spectra with automatic output titles. ............................111

125. Selecting the input spectrometer wavelength record from the new file listing during

the convolution of spectra with automatic output titles...................................................................................112

126. Selecting the input spectrometer bandpass (FWHM) record from the new file listing during

the convolution of spectra with automatic output titles...................................................................................113

127. Selecting the input records from the new file listing during the convolution of spectra

with automatic output titles. ...........................................................................................................................114

128. Setting the output wavelength record for the spectrometer to which the input data will

be convolved, with automatic output titles. ....................................................................................................115

129. Setting the output bandpass (FWHM) record for the spectrometer to which

the input data will be convolved, with automatic output titles.........................................................................116

130. Plot window showing the input data being convolved, with automatic output titles. .......................................117

131. Records written after convolving a spectrum with automatic output titles. .....................................................118

132. Record header information for a spectrum convolved with automatic output titles.........................................119

133. Processing log information for a spectrum convolved with automatic output titles.........................................119

134. Initiating the convolution with automatic output titles – ALL RECORDS. .......................................................120

135. The default file listing that appears when convolving spectra

with automatic output titles – ALL RECORDS. ..............................................................................................121

136. Selecting the input spectrometer wavelength record from the new file listing

during the convolution of spectra with automatic output titles – ALL RECORDS...........................................122

137. Selecting the input spectrometer bandpass (FWHM) record from the new file listing

during the convolution of spectra with automatic output titles – ALL RECORDS...........................................123

138. Setting the output wavelength record for the spectrometer to which

the input data will be convolved, with automatic output titles – ALL RECORDS............................................124

139. Setting the output bandpass (FWHM) record for the spectrometer to which

the input data will be convolved, with automatic output titles – ALL RECORDS............................................125

140. Records written after convolving spectra with automatic output titles – ALL RECORDS. ..............................126

141. Record header information for a spectrum convolved with automatic output titles – ALL RECORDS............127

142. Arithmetic functions for spectra......................................................................................................................128

143. Selecting the first spectrum for the ―Add two spectra (spec1 + spec2)‖ function............................................129

144. Selecting the second spectrum for the ―Add two spectra (spec1 + spec2)‖ function. .....................................130

145. Selecting the wavelength record for the output spectrum of the

―Add two spectra (spec1 + spec2)‖ function...................................................................................................130

146. Selecting the bandpass (FWHM) record for the output spectrum of the

―Add two spectra (spec1 + spec2)‖ function...................................................................................................131

147. Setting the title for the output spectrum of the ―Add two spectra (spec1 + spec2)‖ function...........................131

148. Completion message of the ―Add two spectra (spec1 + spec2)‖ function. .....................................................132

149. Choosing the wavelength record for the spectra to be averaged...................................................................133

150. Selecting the bandpass (FWHM) record for the spectra to be averaged........................................................134

151. Selecting the records for the spectra to be averaged.....................................................................................135

152. Setting the title for the record that will contain the average spectrum. ...........................................................135

153. Arithmetic functions for spectra and constant values .....................................................................................136

154. Selecting the spectrum for the ―Add a constant to a spectrum (spec1 + constant)‖ function..........................137

155. Setting the constant value for the ―Add a constant to a spectrum

(spec1 + constant)‖ function, default value of 1is shown. ..............................................................................137

156. Edited constant value for the ―Add a constant to a spectrum (spec1 + constant)‖ function............................138
x

157. Selecting the wavelength record for the output spectrum of the

―Add a constant to a spectrum (spec1 + constant)‖ function..........................................................................138

158. Selecting the bandpass (FWHM) record for the output spectrum

of the ―Add a constant to a spectrum (spec1 + constant)‖ function................................................................138

159. Setting the title for the output spectrum of the ―Add a constant to a spectrum

(spec1 + constant)‖ function. .........................................................................................................................139

160. Setting the constant value for the ―Add Line segment of constant value‖ function,

default value of 1 is shown. ...........................................................................................................................140

161. Edited constant value for the ―Line segment of constant value‖ function. ......................................................140

162. Choosing the wavelength record for the line segment to be generated. ........................................................141

163. Selecting the bandpass (FWHM) record for the spectra to be averaged........................................................142

164. Setting the title for the output spectrum of the ―Line segment of constant value‖ function. ............................142

165. Functions for editing the header information of a SPECPR record. ...............................................................143

166. Selecting the record to edit ............................................................................................................................144

167. Information message that the record title is being changed. ..........................................................................145

168. Prompt to edit the title. ...................................................................................................................................145

169. The edited title. ..............................................................................................................................................145

170. Confirmation message that the user wishes to change the record title. .........................................................146

171. Message advising the user that the title has been changed...........................................................................146

172. Selecting the record to edit, changing the title to ―DO NOT USE THIS RECORD‖. .......................................147

173. Information message that the record title is being changed. ..........................................................................147

174. Confirmation message that the user wishes to change the record title to

―DO NOT USE THIS RECORD‖. ...................................................................................................................148

175. Message advising the user that the title has been changed...........................................................................148

176. Selecting the record to edit, changing the pointer to the wavelength record. .................................................149

177. Selecting the wavelength record to associate with the edited record. ............................................................150

178. Confirmation message that the user wishes to change the pointer to the wavelength record........................150

179. Message advising the user that the wavelength pointer has been changed. .................................................151

180. Selecting the record to edit, changing the pointer to the FWHM record.........................................................152

181. Selecting the bandpass (FWHM) record to associate with the edited record. ................................................153

182. Confirmation message that the user wishes to change the pointer to the bandpass (FWHM) record. ...........153

183. Message advising the user that the bandpass (FWHM) pointer has been changed. .....................................154

184. Selecting the wavelength record that is associated with the spectra

to export to an ENVI spectral library ..............................................................................................................155

185. Selecting the bandpass (FWHM) record that is associated with the spectra to export

to an ENVI spectral library .............................................................................................................................156

186. Selecting the spectra to export to an ENVI spectral library ............................................................................157

187. Setting the filename for the ENVI spectral library...........................................................................................157

188. Setting the wavelength units for the ENVI spectral library file. .......................................................................158

189. Setting the reflectance scale factor for the ENVI spectral library file..............................................................158

190. Message advising the user that the ENVI spectral library file has been created............................................158

191. The newly created ENVI spectral library file listed in the ENVI available bands list. ......................................159

192. The contents of the newly created ENVI spectral library listed using

the ―Spectral Library Viewer‖ function of ENVI. .............................................................................................160

193. Spectra from the newly created ENVI spectral library....................................................................................160

194. Selecting the ENVI spectral library file to be imported into the SPECPR file being viewed............................161

195. Message advising the user that the ENVI spectral library file has been imported..........................................161

196. Records written after importing an ENVI spectral library................................................................................162
xi

197. Header information in the wavelength record written when importing an ENVI spectral library. ....................163

198. Exporting the plot to an encapsulated PostScript file. ....................................................................................165

199. Exporting the plot to an encapsulated PostScript file – step 1. ......................................................................166

200. Spectral analysis functions available under the PRISM menu item................................................................167

201. Setting the name of the SPECPR file to create..............................................................................................168

202. Default information to store in the text record when creating a SPECPR file. ................................................168

203. Adding information to the text record when creating a SPECPR file..............................................................169

204. Listing the contents of the newly created SPECPR file..................................................................................170

205. Setting the name of the SPECPR file to create for ASD spectra....................................................................171

206. Default information to store in the text record when creating a SPECPR file for ASD spectra.......................171

207. Adding information to the text record when creating a SPECPR file for ASD spectra....................................172

208. Selecting the SPECPR file containing the ASD wavelength, bandpass (FWHM),

and Spectralon reflectance records to transfer into the new SPECPR file....................................................172

209. Selecting the ASD wavelength, bandpass (FWHM), and Spectralon reflectance records to transfer

into the new SPECPR file..............................................................................................................................173

210. Message advising the user that the SPECPR file for ASD spectra was created............................................173

211. Listing the contents of the newly created SPECPR file for ASD spectra........................................................174

212. Selecting a SPECPR file for adding a text record. .........................................................................................175

213. Selecting ASD binary files for import into an existing SPECPR file for ASD spectra......................................177

214. Selecting the SPECPR file into which the ASD spectra will be imported. ......................................................177

215. Selecting ASD binary files for import into a SPECPR file...............................................................................178

216. Selecting the wavelength record in the SPECPR file into which ASD spectra will be imported. ....................179

217. Selecting the bandpass (FWHM) record in the SPECPR file into which ASD spectra will be imported..........180

218. Message advising the user that the ASD spectra were imported into the SPECPR file. ................................180

219. Listing of the SPECPR file after importing ASD spectra.................................................................................181

220. Header information for a record containing an imported ASD spectrum. .......................................................182

221. Convolution functions available under the PRISM menu item........................................................................185

222. Setting a string describing the output spectrometer. ......................................................................................186

223. Selecting the SPECPR file with the wavelength and bandpass (FWHM) records

for the output spectrometer............................................................................................................................187

224. Selecting the wavelength record for the output spectrometer. .......................................................................188

225. Selecting the bandpass (FWHM) record for the output spectrometer. ...........................................................189

226. Setting the output SPECPR that will be created to contain the convolved library spectra..............................190

227. Functions for exporting spectra to an ASCII text file. .....................................................................................195

228. Selecting the SPECPR file containing the record to export to an ASCII text file

in floating point format. ..................................................................................................................................195

229 Selecting the SPECPR record to export to an ASCII text file in floating point format......................................196

230. Selecting the output ASCII text file to hold the exported spectrum in floating point format. ...........................197

231. Values from a text file containing a record exported in floating point format. .................................................198

232. Values from a text file containing a record exported in scientific notation format. ..........................................199

233. Mylar single pass transmission spectrum measured with an ASD spectrometer. ......................................... 202

234. CG5121 single pass transmission spectrum measured with an ASD spectrometer.......................................203

235. NIST SRM2035 single pass transmission spectrum measured with an ASD spectrometer. ..........................204

236. NIST SRM2035 single pass transmission spectrum measured with an ASD spectrometer. ......................... 205

237. Functions for evaluating ASD spectrometer characteristics. ..........................................................................206

238. Setting the filename for the output report.......................................................................................................207

239. Message indicating the SPECPR file, containing spectra of reference materials measured

on the reference laboratory spectrometers, was found..................................................................................207
xii

240. Selecting the SPECPR file that contains the spectrum of Mylar that was measured

using the ASD spectrometer that the user is evaluating. ...............................................................................208

241. Selecting the record that contains the one-way transmission spectrum of Mylar that was measured

using the ASD spectrometer that the user is evaluating. ...............................................................................209

242. Message indicating the successful completion of the ASD evaluation using spectra of Mylar. ......................209

243. Report on the ASD evaluation using spectra of Mylar; the beginning of the file is shown ..............................210

244. Plots from the ASD evaluation using spectra of Mylar, for the 1.6601 m feature.........................................212

245. The bandpass estimate part of the spreadsheet for evaluating ASD spectral characteristics. .......................214

246. The wavelength position part of the spreadsheet for evaluating ASD spectral characteristics.......................215

247. Entering the splice 1 wavelength value (in micrometers). ..............................................................................218

248. Entering the splice 2 wavelength value (in micrometers). ..............................................................................218

249. Entering the wavelength adjustment, in micrometers, for detector 1..............................................................218

250. Entering the wavelength adjustment, in micrometers, for detector 2..............................................................219

251. Entering the wavelength adjustment, in micrometers, for detector 3..............................................................219

252. Entering the bandpass (FWHM) estimate, in micrometers, for detector 1......................................................219

253. Entering the bandpass (FWHM) estimate, in micrometers, for detector 2......................................................220

254. Entering the bandpass (FWHM) estimate, in micrometers, for detector 3......................................................220

255. Setting the output SPECPR file for the ASD wavelength and bandpass (FWHM) records

and Spectralon reflectance............................................................................................................................221

256. Entering the ASD spectrometer number. .......................................................................................................221

257. Entering the spectrometer’s calibration number.............................................................................................221

258. Message indicating the successful creation of the ASD wavelength and bandpass (FWHM) records and 

Spectralon reflectance spectrum. ..................................................................................................................222

259. Listing of the records written to the end of the output SPECPR file. ..............................................................223

260. Header information in the ASD wavelength record. .......................................................................................224

261. Header information in the ASD bandpass (FWHM) record. ...........................................................................224

262. Header information in the Spectralon reflectance record. ..............................................................................225

263. Image processing functions in PRISM. ..........................................................................................................226

264. Selecting the image cube to which the multiplier correction will be applied. ..................................................226

265. Setting the input cube’s scale factor. .............................................................................................................227

266. Selecting the SPECPR file that contains the multiplier record. ......................................................................227

267. Selecting the record that contains the wavelengths of the imaging spectrometer..........................................228

268. Selecting the record that contains the bandpass (FWHM) of the imaging spectrometer................................229

269. Selecting the record that contains the multiplier correction. ...........................................................................230

270. Setting the filename for the output image cube..............................................................................................230

271. Setting the scale factor for the output image cube. ........................................................................................231

272. Message indicating the completion of the processing of the image cube.......................................................231

273. Processing flow and key elements of MICA, image cube analysis.................................................................232

274. Reflectance spectrum and photo of an area of rangeland primarily covered by dry grass. ............................234

275. Spectral feature comparison of a rangeland spectrum to the principal spectral features

of two reference materials. ............................................................................................................................235

276. Spectral feature comparison of a rangeland spectrum to the diagnostic spectral features

of two reference materials. ............................................................................................................................236

277. Absolute NOT feature. ...................................................................................................................................240

278. Relative NOT feature. ....................................................................................................................................241

279. Diagnostic features of muscovite. ..................................................................................................................242

280. MICA routines. ...............................................................................................................................................245

281. Selecting a MICA command file. ....................................................................................................................246
xiii

282. Selecting an output directory for MICA...........................................................................................................247

283. Setting the verbose level for MICA, image mode. ..........................................................................................247

284. Selecting the spectra to analyze. ...................................................................................................................248

285. Prompt to set the scale factor for the reference spectra.................................................................................248

286. Setting the scale factor for the reference spectra...........................................................................................249

287. Prompt to set the scale factor for the observed spectra.................................................................................249

288. Setting the scale factor for the observed spectra. ..........................................................................................249

289. Prompt to change the scale factor for the observed spectrum. ......................................................................250

290. Setting the scale factor for the observed spectrum. .......................................................................................250

291. Confirming the successful completion of the MICA routine. ...........................................................................251

292. Available bands list following completion of MICA image cube mode. ...........................................................252

293. Calcite fit, depth, and fit*depth image from MICA image cube mode. ............................................................253

294. Fit images for calcite, green vegetation, and muscovite from MICA image cube mode. ................................254

295. Image spectra in comparison to reference spectra. .......................................................................................255

296. Example of header information stored in the ENVI header of a fit image.......................................................256

297. MICA summary image ―mica_class_allmaterials_defaultindex‖ from MICA image cube mode......................258

298. ENVI header information for MICA summary image

―mica_class_allmaterials_defaultindex_withnondataclass‖............................................................................259

299. MICA summary image ―mica_class_mappedmaterials_rankedbypixelcount‖

from MICA image cube mode. .......................................................................................................................260

300. MICA summary image ―mica_class_allmaterials_userindex‖ from MICA image cube mode..........................262

301. Overlaying the classification image on the MICA image cube, with linked fit image

for calcite and Z-profile window showing the reflectance spectrum of the

selected pixel.................................................................................................................................................263

302. Selecting a MICA command file. ....................................................................................................................264

303. Selecting an output directory for MICA...........................................................................................................265

304. Setting the verbose level for MICA spectral records mode. ...........................................................................266

305. Selecting the spectra to analyze. ...................................................................................................................266

306. Selecting the SPECPR file.............................................................................................................................267

307. Listing the contents of a SPECPR file for selecting records to analyze with MICA. .......................................268

308. Prompt to set the scale factor for the reference spectra.................................................................................269

309. Setting the scale factor for the reference spectra...........................................................................................269

310. Prompt to set the scale factor for the observed spectra.................................................................................269

311. Setting the scale factor for the observed spectra. ..........................................................................................270

312. Prompt to change the scale factor for the observed spectrum. ......................................................................270

313. Setting the scale factor for the observed spectra. ..........................................................................................270

314. Confirming the successful completion of the MICA routine. ...........................................................................271

315. Text report of the MICA results. .....................................................................................................................272

316. Selecting a MICA command file.....................................................................................................................273

317. Selecting an output directory for MICA...........................................................................................................274

B1. Photo and reflectance spectrum of example spectrum 1, field measurement of reflectance

from an area of rangeland, primarily covered by shrub and tree species. .....................................................329

B2. Photo and reflectance spectrum of example spectrum 2, field measurement of reflectance

from an area of rangeland, primarily covered by dry grass............................................................................329

B3. Photo and reflectance spectrum of example spectrum 3, field measurement of reflectance

from an area of rangeland, primarily exposed soil. ........................................................................................330

B4. Photo and reflectance spectrum of example spectrum 4, field measurement of reflectance

from an area of rangeland, primarily green grass. .........................................................................................330
xiv

B5. Plots of reference features for ―Dry Golden Grass‖, A and B, and ―Illite‖, C and D, compared

to the observed spectrum. .............................................................................................................................372

D1. Correction factor for the first ASD detector. ...................................................................................................429

D2. Correction factor for the third ASD detector. ..................................................................................................430

Tables

1. Parameters describing the continuum-removed feature, exported in comma-separated value format. ...........24

2. Parameters describing the continuum-removed features and their comparison using linear regression, 

exported in comma-separated value format. ...................................................................................................37

3. Feature and continuum constraints. ..............................................................................................................237

A1. Optional setup keywords and values in the MICA command file. ..................................................................280

A2. Keywords and values required to define NOT features in the MICA command file........................................285

A3. Keywords and values required to set up a spectrum of a reference material. ...............................................286

A4. Keywords and values required to define diagnostic features in the MICA command file. ..............................288

A5. Keywords and values required to invoke NOT features in the MICA command file. ......................................291

A6. Values for the WEIGHTED_FIT_DEPTH_CONSTRAINTS keyword in the MICA command file. ..................294
1

PRISM: Processing Routines in IDL for Spectroscopic 

Measurements (Installation Manual and User’s Guide, 

Version 1.0)

By Raymond F. Kokaly1

Abstract

This document describes procedures for installing and using the U.S. Geological Survey 

Processing Routines in IDL for Spectroscopic Measurements (PRISM) software. PRISM 

provides a framework to conduct spectroscopic analysis of measurements made using laboratory, 

field, airborne, and space-based spectrometers. Using PRISM functions, the user can compare 

the spectra of materials of unknown composition with reference spectra of known materials. This 

spectroscopic analysis allows the composition of the material to be identified and characterized. 

Among its other functions, PRISM contains routines for the storage of spectra in database files, 

import/export of ENVI spectral libraries, importation of field spectra, correction of spectra to 

absolute reflectance, arithmetic operations on spectra, interactive continuum removal and 

comparison of spectral features, correction of imaging spectrometer data to ground-calibrated 

reflectance, and identification and mapping of materials using spectral feature-based analysis of 

reflectance data. This report provides step-by-step instructions for installing the PRISM software 

and running its functions.

Introduction

Processing Routines in IDL for Spectroscopic Measurements (PRISM) is a software 

system that provides for storage and analysis of spectra collected using laboratory, field, airborne 

and space-borne spectrometers. The PRISM routines are grouped into four categories: (1) the 

ViewSPECPR module, (2) spectral analysis functions, (3) image processing functions, and (4) 

the Material Identification and Characterization Algorithm (MICA). PRISM is composed of 

programs written in ) that run within the ENVI (ENvironment 

for Visualizing Images) image processing system.

PRISM uses database files of SPECPR (SPECtrum Processing Routines) format (Clark, 

1993). SPECPR files have been used in terrestrial remote sensing and planetary studies for 

storing spectra collected by laboratory, field, and remote sensing instruments. A widely used

SPECPR file is the U.S. Geological Survey (USGS) spectral library that contains thousands of 

spectra of minerals, vegetation, and manmade materials (Clark and others, 2007). SPECPR files 

can store reflectance spectra and associated wavelength and spectral resolution data, as well as 

metadata on the time and date of collection and spectrometer settings. PRISM has been written to 

use the headers of SPECPR records to track changes to stored spectra, allowing the user to 

 

1U.S. Geological Survey, MS 964 Box 25046, Denver Federal Center, Denver CO 80225, USA. raymond@usgs.gov
2

understand the history and find the original source data for any spectrum stored in a SPECPR 

file. For additional details on the format and content of SPECPR files, see Clark (1993).

PRISM version 1.0 was compiled using a full ENVI 4.8+IDL 8.0 license running on a 

computer with a 64-bit version of the Windows 7 operating system. PRISM requires a licensed 

version of ENVI 4.8. Full functionality requires the iTools component of IDL. PRISM was 

tested on computers with full ENVI+IDL versions installed on 32-bit Windows XP, 64-bit Red 

Hat Linux, and Apple OSX 10.6 systems. PRISM operated correctly in runtime versions of 

ENVI 4.8 on these systems. For details on ENVI, see ITT Visual Information Solutions (2009).

Background and Key Functions of PRISM

PRISM provides a framework to conduct spectroscopic analysis. This spectroscopic 

analysis allows the composition of the material to be identified and characterized. At its core, 

PRISM relies on comparisons of user-defined diagnostic absorption features in reflectance 

spectra of reference materials, collected in a spectral library, to the spectrum of an unknown 

material. In these comparisons, the term ―best match‖ is applied to the reference spectrum with 

the highest measure of similarity, in the wavelength positions and shapes of absorption features,

between it and the spectrum of the material of unknown composition. This concept has been used 

for decades in the fields of analytical chemistry, geology, and astronomy. With technological 

advances that have produced airborne and space-based spectrometers, spectroscopic remote 

sensing using these same principles has been successfully applied to identifying and detecting 

the distribution of materials over large areas, including minerals (Clark and others, 2003), 

vegetation (Kokaly and others, 2003), and microbial life (Karnieli and others, 2001; Kokaly and 

others, 2007a).

PRISM draws on the legacies of a variety of USGS computer programs that have been 

created to advance spectroscopy and spectroscopic remote sensing, including SPECPR (Clark, 

1993) and Tetracorder (Clark and others, 2003). Many capabilities of these programs are 

available in PRISM routines. Written in the IDL programming language, PRISM further allows 

easy integration of these methods with the image processing and GIS (Geographic Information 

Systems) capabilities of ENVI.

PRISM routines are generally applicable to spectra of all types (reflectance, transmission, 

emission, and others) spanning all wavelengths. The user has the flexibility to define the 

wavelengths of spectral data in whatever units they desire, for example, micrometers (m), 

nanometers, wavenumbers, and so on. However, some PRISM routines have default settings to 

label plots or print results in terms of wavelengths in micrometers. Primarily, PRISM routines 

have been tested on and applied to reflectance spectra spanning the reflected solar wavelength 

region (0.35 to 2.50 m).

For successful spectroscopic analysis and identification of materials, accurate reflectance 

measurements and robust spectral comparison methods are needed. To help ensure spectral 

quality, PRISM tracks spectra in spectral database files. The fixed length records of SPECPR 

files include header information on the data that are stored in the record (for details on the format 

of SPECPR files and records, see Clark, 1993). PRISM utilizes history fields in the record

headers to trace a stored spectrum back to its source data (see Function 1.5). In PRISM, each 

stored spectrum contains metadata about its collection or creation. If derived through 

transformation of other spectra, for example, through arithmetic functions, the history fields in 

the header of a spectral record allow a user to determine the mathematical functions applied and 

input spectra used to generate it. In addition, PRISM allows the user to write text records, which 
3

can be used to further explain the contents and histories of data records (see Function 2.3). A 

special type of text record, DESCRIPT records, can be used to store HTML-formatted 

descriptions to which photos can be linked. When viewed in PRISM, these DESCRIPT records 

can be selected and easily viewed in a Web browser (Function 1.5).

An important part of the SPECPR database is the association of spectra with their 

wavelength records. In the header of each stored spectrum is a pointer to the data record that 

contains the wavelength positions of each channel of the spectrometer that was used to measure 

the spectrum. Similarly, there is a pointer to the bandpass (FWHM, or Full-Width at Half 

Maximum) record that describes the width of the spectral window, around each channel’s 

wavelength position, over which the instrument is sensitive. In PRISM, records are only added 

by appending them to the end of SPECPR files. Therefore, no data are overwritten and the ability 

to trace a spectrum back to its source records is preserved.

To help ensure spectral measurements are accurate, PRISM provides programs to 

evaluate the wavelength and bandpass (FWHM) characteristics of ASD (Analytical Spectral 

Devices, Boulder, Colorado) field spectrometers by analyzing measurements of reference 

materials (Function 2.17). By routinely evaluating the performance of an ASD spectrometer, 

significant changes over time, revealed by shifts in wavelength positions of absorption features, 

can be detected. Such shifts can arise during a field season.

PRISM includes additional routines for spectra measured with ASD spectrometers, 

including importing spectra in ASD binary files into SPECPR files (Function 1.9.3), converting 

spectra measured relative to a Spectralon reference panel to absolute reflectance, and correcting 

for offsets between detectors in ASD spectrometers (see Functions 2.5 and 2.7). Spectra 

measured using other spectrometers may be imported into SPECPR files via an ENVI spectral 

library (Function 2.15). Spectra stored in SPECPR files may likewise be exported to an ENVI 

spectral library file (Function 2.14). A spectrum may also be exported from a SPECPR file to a 

simple text file (Function 2.16). Through the ENVI spectral library files, spectra stored in 

SPECPR files and processed using PRISM functions may be linked to ENVI spectral functions 

or other spectral analysis programs which utilize ENVI spectral libraries to store data or have the 

capability to import/export spectra in ENVI spectral library files.

The accuracy of any mapping method applied to imaging spectrometer data is dependent, 

in part, on having well-calibrated reflectance data for analysis. Thus, PRISM includes methods to 

use field measurements of a calibration site to develop and apply empirical correction factors to 

generate well-calibrated imaging spectrometer data cubes (see Functions 3.1 and 3.2). PRISM’s 

method of identifying and mapping materials relies on comparing well-calibrated data to spectra 

of known materials. Therefore, PRISM includes routines for spectral interpolation (Function 2.8)

and convolution (Function 2.9) in order to convert spectra stored in USGS spectral libraries from 

their native spectroscopic characteristics to those of imaging spectrometers such as AVIRIS

(Green and others, 1998) and HyMap (Cocks and others, 1998).

The Material Identification and Characterization Algorithm (MICA) is the module of 

PRISM that gives the user the ability to identify and map materials by comparing a spectrum, 

multiple spectra, or even an entire image cube to reference spectra of known materials (see 

Functions 4.1 and 4.2). A core function of MICA and PRISM is the continuum removal of 

absorption features in order to study their wavelength positions and shapes. Function 1.7 creates 

a spectral viewer that lets the user interactively define individual continuum lines for spectral

features and to plot continuum-removed spectral features. With a continuum-removed feature 

defined in this viewer, the user can select another spectrum in order to compare the shapes of the 
4

continuum-removed features of these two spectra (see Function 1.7.1). The spectral feature 

comparison function calculates a measure of agreement between the two spectral features; this 

measure is termed the ―fit‖ value. The continuum removal and comparison plot tools let the user 

become familiar with the shapes of absorption features and how they differ between materials. 

The MICA command file (see appendix A), is a user-created/edited document in which users list

the spectra of materials they wish to use in a reference library against which to compare the 

spectrum of a material of unknown composition. In the MICA command file, the continuum 

endpoints of diagnostic absorption features and user-defined constraints on feature fits, depths,

and continuum levels are defined. The values in the MICA command can be fine-tuned by the 

user to optimize material identification, improve discrimination between similar materials, and 

perform detailed chemical characterizations of mineral and vegetation composition. When used 

to analyze imaging spectrometer data (Function 4.2), MICA creates fit images for each reference 

material, showing the distribution of pixels which were found to be the best match to each 

material, and a summary image of detected materials.

Installation of Software

1. ENVI 4.8 must be installed.

2. Download the PRISM software files from http://pubs.usgs.gov/of/2011/1155/ or insert the 

PRISM software disk.

3. On Windows systems, copy the ―usgsprism‖ folder from the PRISM software disk to the 

top level of your C drive (C:\) on Windows systems or to ―/var/local/‖ on Linux systems. 

If installing from the web address, uncompress the ―usgsprism.zip‖ compressed archive 

file, containing the PRISM software and support files, to the top level of the C drive 

(C:\); this should create a new folder ―C:\usgsprism\‖. On Linux systems, uncompress the 

―usgsprism.zip‖ file to ―/var/local/‖; this should create a new folder 

―/var/local/usgsprism/‖.

4. Copy the ―usgsprism_v1_envi48.sav‖ file from the PRISM software disk or download it 

from the web address to your ENVI ―save_add‖ directory. For installations of ENVI 4.8

on Windows computers, the save_add directory is commonly in the following location:

―C:\ Program Files\ITT\IDL\IDL80\products\ENVI48\save_add\‖. On Linux systems, the 

save_add directory is commonly located at:

―/usr/local/itt/idl/idl80/products/envi48/save_add/‖.

5. Start the ENVI program. The ENVI menu bar should now look like figure 1, with six

items listed under the ―PRISM‖ item when you click on it.

Figure 1. ENVI menu bar with PRISM menu items.
5

Module 1. ViewSPECPR

To start the program, click the ―View SPECPR File‖ item under the ―PRISM‖ entry on 

the ENVI menu bar. Figure 2 shows the main program control window that will appear.

The main ViewSPECPR control window.

Function 1.1 – Listing the contents of a SPECPR file

Select the input SPECPR file by clicking on the ―Select SPECPR File‖ button at the top 

left corner of the widget. A dialog widget (fig. 3) appears, in which the SPECPR file can be 

selected. Select the file and press the ―Open‖ button. This example (fig. 3) shows the selection of 

a spectral library file, splib06a, which is a SPECPR file containing the USGS Spectral Library 

Version 6 (Clark and others, 2007). This file is included with the PRISM software distribution. If 

step 3 of the installation instructions was followed, the file will be located at 

―C:\usgsprism\spectra\splib06\splib06a‖ on Windows computers and at 

―/var/local/usgsprism/spectra/splib06/splib06a‖ on Linux computers.
6

. Selecting a SPECPR file.

To display the selected file, click the ―List Selected SPECPR File‖ button, shown in the 

ViewSPECPR control window in figure 2. Figure 4 shows an example of the file listing that 

appears after following these two steps.
7

. An example listing of the contents of a SPECPR file.

Each line in the list shows the record number in the left column, the record title in the 

second column, and the number of data channels or text characters in the third column. For data 

records, the date the data were collected is shown in the column on the right; otherwise, for text 

records, which do not have an associated collection date, this column is blank. If the spectrum’s 

data collection date was not set in the header of the SPECPR data record when it was added to 

the SPECPR file, the column shows the text ―no date set‖. Note: not all record numbers are 

listed. The file listing shows only the beginning record of the set of fixed-length records in which 

a spectrum is stored; the listing does not show ―continuation records‖ that are used when the data 

length exceeds the size of the first record. For more details on SPECPR record lengths and 

continuation records, see Clark (1993). For example, records 1 to 6 are listed in figure 4. 

However, the next record listed is record 8. This is because the spectrum stored in record 6 has 

480 channels and requires two records for storage. The listing does not show record 7, which is a 

continuation record; instead, the next spectrum stored in the SPECPR file is listed, in this case 

record 8.
8

Function 1.2 – Navigating through the record list

The scroll bar on the right-hand side of the list in figure 4 can be used to scroll through 

the listing of records in the SPECPR file. The user also can type a record number in the box to 

the right of the ―Selected Record Number =‖ label. After entering the number and pressing the 

―enter‖ key or moving the cursor out of the box, the view in the list box will jump to the area of 

the SPECPR file that contains the closest record to the value entered in the box.

Function 1.3 – Saving the list of records in the SPECPR file

To output a text listing of the contents of a SPECPR file, the user can click the ―Save File 

Listing‖ button in the bottom left corner of the widget. This will open a file selection widget so 

the user can set the name of a file that will hold a plain text listing of the records in the displayed 

SPECPR file.

Function 1.4 – Plotting the data in a selected record

Step 1. Setting the data record

The user can click on the data record for which the spectral plot is desired. Alternatively,

the user may enter the record number in the text box next to the ―Selected Record Number =‖ 

label. Figure 5 shows an example of clicking on record number 77. Once a data record is 

selected, it will appear ―highlighted‖ in the record list. The text box to the right of the ―Selected 

Record Number =‖ label shows the associated wavelength record that is encoded in its header 

information. Note: in some SPECPR records the wavelength record may not be set, in which 

case, the number 0 (zero) will be displayed.
9

5. Setting the data record.

Step 2. Setting the wavelength record

Before plotting the spectrum, the user must set the wavelength record. The wavelength

record contains the central wavelength positions of the channels of the spectrometer used to 

measure the spectrum. The user can type this record number in the box to the right of the 

―Wavelength Record =‖ label. Using the example in figure 5, the number ―6‖ could be entered 

into the box in order to select record 6. The listing of the SPECPR file shows the title of this 

record to be ―Wavelengths USGS Denver Beckman STD 1x‖. After the user presses the ―enter‖

key or moves the cursor out of the text box, the record number entered will be accepted if it 

corresponds to a record number in the listing of the SPECPR file. Alternatively, the wavelength 

record can be set using the wavelength pointer encoded in the header information of the data 

record by clicking the button labeled ―<-- set wavelength record to that associated with selected 

record listed above‖. Figure 6 shows an example of the wavelength record set to record 6.
10

Setting the wavelength record.

If the user enters a number that does not correspond to a listed record number, then the 

message shown in figure 7 appears, and the value in the wavelength record field is set to a 

default value of 1. This message could appear if the record number is mistyped by the user or if 

the wavelength record value in the header is not set correctly.

Warning message following an error in wavelength record selection.
11

Step 3. Plotting the data

The user must click the ―Plot Selected Record‖ button in order to make the plot appear. If 

the number of channels in the wavelength record, set in step 2, does not match the number of 

channels in the data record, set in step 1, then a warning box will appear, and no spectrum will be 

plotted. Figure 8 shows an example of plotting record 77 of the example SPECPR file using 

record 6 as the wavelength record. The plotted spectrum contains all valid data in the wavelength 

and data records. Channels that contain the SPECPR deleted point value (-1.23e

+34) are not 

plotted. A text line describing the SPECPR file and record that correspond to the plotted 

spectrum appears beneath the plot. Excluding the deleted points, the plot ranges for the x and y 

axes are set to encompass the values stored in the wavelength and data records, respectively. 

Note: The plotting function requires the ―iTools‖ routines distributed by IDL/ENVI; the iTools 

routines usually are installed by default. Using the built-in functions of the iPlot routine of the 

iTools toolbox, the user may change axes limits, change axes labels, annotate the plot, and so on. 

Consult the IDL documentation on iTools and iPlot for more information (ITT Visual 

Information Solutions, 2009). Other spectra can be plotted in new windows by repeating steps 1-

3 for different data and wavelength records.

Plotting data records.

Step 4. Overplotting data

To overlay additional spectra with the same wavelengths, the user may repeat step 1, 

selecting a new data record, and click the ―Overplot Selected Record‖ button. The user may also 
12

overplot spectra collected with a different spectrometer by both selecting a new data record and a 

new wavelength record (repeating steps 1 and 2) and clicking the ―Overplot Selected Record‖ 

button. This can be repeated for as many records as desired. For example, figure 9 shows the 

ViewSPECPR control window after selecting a new data record (29634) and its corresponding 

wavelength record (10).

Selecting new wavelength and data records.

Figure 10 shows the result of overplotting this spectrum on the previously created plot.

These spectra were measured with different spectrometers. The new spectrum is shown in a 

different color, and text describing the SPECPR file, record, and title of this overplotted 

spectrum is put below the text describing the previously plotted spectrum. The first eight spectra 

plotted are given different colors and their titles are placed below the plot in the lower left. The 

next eight spectra are given the same colors, but adjusted to appear darker, and their titles are 

placed below the plot in the lower right. While any number of spectra can be overplotted, after 

sixteen spectra are plotted, there will not be enough room below the plot for the descriptive text,

and that text will not appear in the iPlot widget.
13

Overplotting data records.

Overplotted spectra will be added to the last plot window that the user has created or 

interacted with. For example, if the user has created two plot windows and wishes to overplot a 

spectrum in the first window that was created, the user can ―left-click‖ the first plot window to 

activate it and then click the ―Overplot Selected Record‖ button in the main program widget. 

Note: The user may also select and list the contents of a different SPECPR file (following the 

steps in Function 1.1) and overplot a data record from it. However, if the user has two 

ViewSPECPR sessions running, one ViewSPECPR control window cannot plot to the windows 

opened by another session.

Function 1.5 – Viewing the header, text, or DESCRIPT information in a record

For a selected record, information about it may be obtained by clicking on the ―Show 

Header Info/Text/DESCRIPT of Record‖ button in the right corner of the main program widget

(see fig. 2). There are three different responses, dependent on the type of record selected:
14

Viewing the header information of a data record

If the selected record is a data record, for example, record 29634 in figure 9, information 

from the data record header will be displayed as shown in figure 11.

Header information from a data record.

Viewing the text stored in a text record

If the selected record is a text record, for example, record 1 in figure 4, the text 

information stored in it will be displayed, as shown in figure 12.

Text information from a text record.

Viewing the description stored in a DESCRIPT record

If the selected record contains a description of a spectrum in a published USGS spectral 

library file, an internet browser window should open and show information that characterizes the 

spectral library entry. These descriptions are called DESCRIPT records and are text information 

in HTML format stored in a text record. They are identified in PRISM by the word 

―DESCRIPT‖, in all capital letters, in the title of the text record. An example of the information 

in DESCRIPT record 71 is shown in figure 13. For more information on DESCRIPT records and 

the USGS Spectral Library, see Clark and others (2007). Note: photos referred to in the HTML 
15

DESCRIPT records may not appear, since the locations of these photos on a user’s computer

may be different. Placing the folders containing photos of samples in the spectral library in the 

same directory as the spectral library’s SPECPR file should result in the photos appearing

correctly in the browser window. If the contents of the ―usgsprism‖ folder are installed according 

to the instructions in the ―Installation of Software‖ section of this report, then the photos in the 

DESCRIPT records of splib06a should appear correctly. If a Web browser fails to launch when 

attempting to view a DESCRIPT record, the user should consult the ENVI/IDL User’s Guide. 

Additional examples of DESCRIPT records are given in appendix C.

Example of information in a DESCRIPT record.

Function 1.6 – Exporting a selected record to ASCII text

The data within a selected record can be exported to an ASCII text file using the ―Export 

selected record to ASCII‖ button at the bottom of the ViewSPECPR control window (see fig. 2). 
16

A dialog box appears, prompting the user to set the output filename of the ASCII text file (fig. 

14). A default filename is pre-set in the filename box; the pre-set name includes the record 

number and SPECPR filename. The user may change the output directory and (or) the filename,

if desired. The file will be created and the spectrum exported to the text file when the user

presses the ―Save‖ button. Note: This function allows for exporting all the channels of the data 

stored in the selected record of the SPECPR file. It exports any ―deleted points‖, also referred to 

as ―deleted channels‖, in the spectrum as values of -1.23e+34 (see the SPECPR documentation of

Clark, 1993). In some cases, for example the USGS Spectral Library splib06a, deleted channels 

are set because the spectrometer was configured to collect data over only a subset of its full 

wavelength range capability (see Clark and others, 2007). In other cases, the deleted channel 

value is assigned to channels which contain invalid or corrupted data, for example channels 

within wavelength regions of strong atmospheric absorption in field spectra. See ―Function 2.16

– Export SPECPR record to ASCII‖ for additional details on exporting spectra to ASCII text in 

both floating point and scientific notation. Note: existing files will be overwritten without 

notification.

Setting the filename for the output text file.

Function 1.7 – Performing continuum removal on a record

Linear continuum removal of a spectral feature can be performed on the data in a selected 

record by pressing the ―Continuum Removal on selected record‖ button at the bottom right of the 

main program widget (see fig. 2). Continuum removal is used to isolate and analyze features in 

reflectance spectra (see Clark and Roush, 1984; Clark and others, 2003; and Kokaly and others, 

2003). Continuum removal, or baseline normalization, is a method that has been commonly used 
17

in laboratory infrared spectroscopy (Ingle, 1988). This technique has been applied to terrestrial 

imaging spectrometer data as part of analyses to map the distribution of minerals and vegetation

by comparing remotely sensed absorption band shapes to those in a reference spectral library 

(Clark and others, 1990; Mustard and Sunshine, 1999; Kokaly and others, 2003; and Kokaly and 

others, 2007b). The continuum is an estimate of the other absorptions present in the spectrum, 

not including the one of interest (Clark, 1999; Clark and Roush, 1984). In that sense, continuum 

removal is most often performed on absorption features. However, PRISM allows continuum 

removal to be applied to emission features as well.

To perform continuum removal in PRISM, the user must have already set data and 

wavelength records as described in steps 1-2 of ―Function 1.4‖. After clicking on the 

―Continuum Removal on selected record‖ button, a plot window will appear with the spectrum 

of the selected record (fig. 15). Note: this plot window looks similar to the standard iPlot

window, except that a ―continuum removal‖ tool is added to the tool bar (see the tool indicated 

with the red arrow in fig. 15).

The iPlot window for continuum removal.

The first step in continuum removal is selection of the continuum endpoints (λ1 and λ2), 

which may be established at the points of minimum absorption surrounding the absorption 

feature. Following the selection of endpoints, the continuum is modeled using a linear function 

fit to the endpoints. To define the continuum line in PRISM, click on the continuum-removal 

tool and draw the continuum line over the feature of interest. The line can be drawn by leftclicking at the desired position of the first endpoint of the line, holding the button down, 

dragging the mouse to the second endpoint of the line, and releasing the button. The iPlot

window will update to show the line and its endpoints (fig. 16), where the continuum endpoints 

are the channels closest to the endpoints of the line that was drawn. Usually, the line should be 
18

drawn at the highest points on either side of the absorption feature of interest. Alternatively, for

emission features, the line is usually drawn from the lowest points on either side of the peak of 

interest.

The iPlot window after drawing the continuum line.

Following the drawing of the continuum line, the continuum removal interface GUI 

(graphical user interface) will appear with a plot of the continuum-removed feature (fig. 17). The 

values of the continuum-removed spectrum (RC) are calculated by dividing the original 

reflectance values (RO) by the corresponding values of the continuum line (RL) for all the 

channels in the wavelength region (λ1 to λ2) of the absorption feature:

RC (λ) = RO(λ) / RL(λ) eq. 1

The depth (D) of the absorption feature at each channel is calculated by

D(λ) = 1 – RC(λ) eq. 2
19

. The continuum-removal GUI.

Annotations on the plot of the continuum-removed feature (fig. 17) include descriptors of the 

feature, including the band center, band depth, and width (defined as the full-width at half 

maximum, or FWHM) of the feature. Two sets of these values are computed, one set based on 

the band center channel (that is, the channel with the minimum value in the continuum-removed 

feature) and one set based on the central wavelength of a quadratic function fitted to the band 

center and one channel on each side (that is, a quadratic function fitted to the three center 

channels). The band center from the quadratic function (Cquad) and the wavelength position of 

the band center channel (Cchan) may be very close in value when the feature is resolved by a 

large number of channels. The quadratic function is less subject to noise in the spectrum since it 

uses more than one channel.
20

The band depth and width (FWHM) associated with the fitted quadratic function (referred 

to as DQ and WQ, respectively) are shown as solid lines on the plot of the continuum-removed 

feature (fig. 17). The depth and width (FWHM) associated with the band center channel, DC and 

WC, respectively, are shown as dotted lines. Also shown in the plot of the continuum-removed 

feature are descriptors of the continuum line, specifically the slope of the continuum line and the 

ratio of the continuum endpoint reflectance values. The feature area is calculated and displayed 

for absorption features if all values in the continuum reflectance are below 1.0, that is, if all 

channels in the input spectrum between 1 and 2 fall below the continuum line.

Using the controls in the continuum removal interface GUI, the user can control aspects 

of the plot. These aspects are described below and their corresponding widgets are labeled in 

figure 17. To change the plot using any of the altered settings, click on the ―Refresh CR Plot‖ 

button.

User Selection 1 – setting the plot title. The GUI appears with the default title set to the SPECPR 

title of the data record. The user may edit this title.

User Selection 2 – setting the output PostScript filename. The GUI appears with a suggested 

output filename containing the record number and SPECPR filename. The 

default directory is set as the directory that contains the SPECPR file. The user 

may edit this file directly or use the ―Select Output PostScript File‖ button to

use a dialog window to set the output PostScript file. PostScript filenames 

traditionally are appended with ―.eps‖; add this extension if it is not present. 

Note: existing files will be overwritten without notification.

User Selection 3 – setting the continuum start wavelength. The GUI appears with the start point of 

the continuum line set as the wavelength of the channel closest to the endpoint 

of the line drawn by the user. This wavelength may be changed by the user by 

editing the value in the text box. The channel with the wavelength closest to the 

value in this text box will be used as the start point of the continuum line.

User Selection 4 – setting the continuum stop wavelength. The GUI appears with the stop point of 

the continuum line set as the wavelength of the channel closest to the endpoint 

of the line drawn by the user. This wavelength may be changed by the user by 

editing the value in the text box. The channel with the wavelength closest to the 

value in this text box will be used as the stop point of the continuum line.

User Selection 5 – Adjust continuum endpoints. By default, when the GUI starts, this option is 

turned off. The user may turn this option on in order to refine the continuum 

endpoint selection. Turning this option on will cause the continuum-removal 

program to search around the specified endpoints to find channels above the 

continuum line. The highest channels above the continuum line will be used to 

recalculate the continuum-removed feature when the user presses either the 

―Refresh CR Plot‖ or ―Create Continuum Removal PostScript File‖ buttons. 

Note: when this option is ―on‖, the plot will be annotated with the adjusted 

continuum endpoints (shown with diamond shapes) as well as the original 

endpoints (shown with square shapes). Currently, this adjustment only functions 

for absorption features.

User Selection 6 – Set continuum endpoints by channel or by wavelength. By default, when the 

GUI starts, this option is set to ―wavelength‖. The user may turn this option to 

―channel‖ in order to refine the continuum endpoint selections by specifying 
21

channel numbers, in which case the inactive boxes containing the channel 

numbers will become active (the background color of the active box is a 

different color than inactive boxes on Windows computers), and the user may 

edit the continuum start and stop values. When the channel boxes are active, the 

wavelength boxes become inactive.

The user selections will be applied when the ―Refresh CR Plot‖, ―Export CR Plot to

PostScript‖, ―Export CR Plot to JPEG‖, or ―Export CR Parameters to File‖ button is pressed. 

Pressing the ―Refresh CR Plot‖ button will update the plot to show changes made to any of the 

user selections described above. For example, figure 18 shows the refreshed plot resulting from 

turning on the automatic selection of continuum endpoints.
22

. Continuum refinement with Adjust Continuum Endpoints turned on. Squares indicate the 

original continuum start and stop points and diamonds indicate continuum endpoints after automatic 

adjustment.

To create a PostScript version of the plot, press the ―Export CR Plot to PostScript‖ button

(fig. 18). The plot will be saved to the file set in the text box described above in the User 

Selection 2 section. To create a JPEG version of the plot, press the ―Export CR Plot to JPEG‖ 

button (fig. 18). After pressing the button, a file selection window appears (fig. 19) prompting 

the user to set the output JPEG file. Initially, the file selection window will contain a suggestion 

for the output JPEG file; this suggested file is equivalent to the file set for the PostScript file, set 
23

in the User Selection 2 section of this function, but with a ―.jpg‖ extension in place of the ―.eps‖ 

extension. After setting the file, press ―Open‖ to continue the program and create a JPEG plot of 

the continuum-removed feature.

Setting the JPEG file for the continuum-removed plot.

To export the parameters describing the continuum-removed feature to a text file, press 

the ―Export CR Parameters to File‖ button (see fig. 18). The output file will contain parameters, 

describing the continuum-removed feature, written as ASCII values in a comma-separated value 

(csv) format. By convention, a ―.csv‖ extension is used to denote such files, and the user should 

add this extension to any output filenames. After pressing the button, a file selection window 

appears, prompting the user to set the output file (fig. 20). Initially, the file selection window will 

contain a suggestion for the output file; this suggested file is equivalent to the file set for the 

PostScript file but with a ―.csv‖ extension in place of the ―.eps‖ extension (see the User Selection 

2 section of this function).
24

Setting the csv file for the continuum-removed plot.

After setting the output file, press ―Open‖ to continue the program and create the csv file. 

The first line of the csv file will contain the names of the parameters. The second line will 

contain the values of these parameters, in the order shown in table 1. Note: if the file already 

exists, the user will be prompted to append the parameters to the end of the existing file. If the 

user responds positively, a single line, containing the comma-separated values for the feature, 

will be written to the end of the existing file. If the user responds negatively, the parameters will

not be exported.

Table 1. Parameters describing the continuum-removed feature, exported in comma-separated value 

format.

Parameter name Description

spectrum_specpr_title title of the record containing the spectrum being analyzed

spectrum_specpr_record record number of the spectrum being analyzed

spectrum_specpr_file filename of the SPECPR file containing the spectrum being analyzed

continuum_left_wave wavelength of the left continuum endpoint (λ1)

continuum_right_wave wavelength of the right continuum endpoint (λ2)

continuum_left_channel channel number of the left continuum endpoint

continuum_right_channel channel number of the right continuum endpoint

feature_center_wave wavelength position of the center of the feature, calculated using a quadratic fit 

to the values of the band minimum channel and a channel on each side

(Cquad)

feature_depth depth of the feature based on the band minimum channel (DC)

feature_FWHM width of the feature, calculated as the full-width at half-maximum based on the 

depth of the band minimum channel (WC)

feature_area area of the continuum-removed feature. Note: this value will be set to -999 if 

all values in the continuum reflectance are not below 1.0, that is, if any 

channel in the input spectrum falls above the continuum line

continuum_level_left reflectance value of the left continuum endpoint
25

Table 1. Parameters describing the continuum-removed feature, exported in comma-separated value 

format.—Continued

Parameter name Description

continuum_level_mid calculated value of the continuum line at the wavelength midpoint

continuum_level_right reflectance value of the right continuum endpoint

continuum_rtdivbylt reflectance value of the right continuum endpoint divided by the reflectance 

value of the left continuum endpoint

wavelength_specpr_title title of the record containing the wavelengths

wavelength_specpr_record record number containing the wavelengths

wavelength_specpr_file SPECPR file containing the wavelength record

To save the continuum-removed feature as a data record in the SPECPR file that contains 

the data being viewed, press the ―Save CR Feature to SPECPR‖ button (see fig. 18). The user is 

prompted to set the title for the record that will contain the data for the continuum-removed 

feature (fig. 21). By default, the string ―CRfeat‖, followed by a space, and then the title of the 

data record being viewed is suggested as the title, truncated to character limit for SPECPR titles 

(40 characters). This suggested title appears in the output title window. Note: the full title of the 

data record being viewed is also shown in the window (fig. 21). The user can edit the displayed 

title, if desired. Accept the title by pressing ―OK‖. If the title exceeds 40 characters the user will 

be prompted that an error occurred and the output title should be re-entered (fig. 22). After 

pressing ―OK‖, the user is again prompted to enter the title for the text record; however, the 

previously entered title, truncated to 40 characters, will be present in the text field.

Setting the title for the SPECPR record that will contain the continuum-removed feature.

Warning that title exceeds 40 characters.
26

Once the title is accepted, the continuum-removed feature is written to the SPECPR file 

of the data record being viewed. The channels outside the continuum endpoints are set to the 

SPECPR deleted point value (-1.23e+34). To see the newly created record, the user can refresh the 

listing of the SPECPR file containing the data record being viewed by pressing the ―List Selected 

SPECPR File‖ button in the ViewSPECPR control window. The data record containing the 

continuum-removed feature will be at the bottom of the listing. Parameters describing the 

continuum-removed feature are written to the header of the newly created record. Figure 23 

shows an example of the information stored in the data record of a continuum-removed feature, 

which includes the values in table 1.

Header information for a data record containing a continuum-removed feature.

Pressing the ―Exit continuum removal‖ button will cause the continuum-removal 

interface GUI window to disappear. The GUI may also be closed by selecting the ―Exit‖ option 

under the ―File‖ item on the GUI’s menu bar. Note: the continuum-removal interface GUI (fig. 

17) must be closed before closing the iPlot window that contains the interactive continuumremoval tool (fig. 15), otherwise the program may encounter an error, the PRISM program might

be halted, and the ENVI session may stop working. If this situation is encountered, quit and then 

restart the ENVI program.

For narrow features, drawing the continuum line on the initial plot window may be 

difficult. As a result, the user may want to use the iPlot ―plot range‖ tool (marked with the black 

arrow in figure 15) to zoom into a specific region of the spectrum before drawing the continuum 

line. To use this tool, click on the tool’s icon and then left-click and hold down the left mouse 

button and drag the cursor to draw a box around a plot region to see it in more detail. Figure 24

shows an example box.
27

Using the plot range tool.

When releasing the mouse button after drawing the box, the iPlot window will update to 

show the selected area in greater detail (fig. 25).

The iPlot window after using the plot range tool.

The user may then select the continuum-removal tool and draw the continuum line (fig.

26). As described previously, the continuum-removal interface GUI will launch after the 

continuum line is drawn.
28

The continuum line in the iPlot window after using the plot range tool.

NOTE: the user should NOT launch more than one continuum-removal interface GUI at 

a time, as the plot windows in the two GUIs may interfere with one another and not function 

properly. If the user makes a mistake in drawing the continuum or wants to examine another 

feature of the spectrum, it is easiest to close the continuum-removal interface GUI that has 

appeared and then use the ―undo‖ button (as shown on fig. 27) in the continuum-removal iPlot 

window to remove the continuum line. The user may continue to press the ―undo‖ button again

in order to undo any changes to the plot range, if desired, and choose the continuum-removal 

button to draw a new continuum line on a different feature as shown in figure 27.
29

The undo tool in the iPlot window.

Function 1.7.1 – Spectral Feature Comparison

Once a feature has been continuum-removed, it can be compared to the continuumremoved feature of another spectrum. PRISM quantifies the similarity between two continuumremoved spectral features by using linear regression. PRISM uses the resultant coefficient of 

determination (r2) as the ―fit‖ value, that is, the measure of the agreement between the spectra. In 

contrast, Tetracorder uses the linear correlation coefficient (r) as the fit value (Clark and others, 

2003). The r2fit value ranges from 0 to 1, with better matches indicated by high fit numbers and 

perfect agreement indicated by a value of 1.

Start the spectral feature comparison function by clicking on the ―Compare to another 

spectrum‖ button in the lower left corner of the Continuum Removal Interface GUI (see fig. 18). 

The user will be prompted to select the SPECPR file containing the second spectrum (fig. 28).
30

Selecting the SPECPR file containing the new spectrum for comparison.

Then, the user is prompted to select the data record containing the spectrum for 

comparison (fig. 29). The selected data record must have the same number of channels as the 

original spectrum plotted in the continuum-removal process and should have the same 

wavelengths.
31

Selecting the SPECPR data record containing the new spectrum for comparison.

After selecting the record for comparison and pressing the ―Return Selected Record‖ 

button, the plot in the Continuum Removal Interface GUI will show the results of the feature

comparison (fig. 30).
32

The spectral feature comparison plot, including fit value and other parameters.

PRISM quantifies the similarity between two continuum-removed spectral features by 

linear regression, using the resultant coefficient of determination (r2) as the ―fit‖ value, that is, 

the measure of the agreement between the spectra. The r2fit value ranges from 0 to 1, with better 

matches indicated by high fit numbers and perfect agreement, or similarity between spectral 

features, indicated by a value of 1. Figure 31 shows the regression plot of the continuumremoved values, with the linear relationship established by the regression shown as a dashed line.
33

The regression plot for continuum-removed features.

The spectra being compared are termed the reference spectrum and the observed 

spectrum. In the case of spectral comparisons made in the continuum-removal interface GUI, the 

reference spectrum is the one originally displayed in the GUI (for example, record 29634 of 

splib06a in fig. 30). The spectrum that was selected for comparison is termed the observed 

spectrum (for example, record 29612 of splib06a in fig. 30). The continuum parameters in the 

Continuum Removal Interface GUI are applied to both the reference and observed spectra. The

continuum-removed spectral feature of the reference spectrum is plotted with a dotted line and 

the continuum-removed spectral feature of the observed spectrum is plotted with a thick solid

line (fig. 30). The coefficient of determination from PRISM’s linear regression calculation, the 

fit parameter, is reported in the lower left corner of the plot as the ―Fit (r2)‖ value (fig. 30). Also 

shown on the plot is the linear correlation coefficient (r). As part of a linear regression 

calculation using least-squares, a scaling factor can be computed and used to scale the 

continuum-removed reference spectral feature to the observed spectral feature (for details see 

Clark and others, 2003). The scaled reference spectrum is plotted with a thin solid line (fig. 30). 

For additional discussion on spectral feature comparison, see Module 4. MICA – Material 

Identification and Characterization Algorithm.

In addition to the fit value, other parameters describing the continuum-removed features 

are reported on the plot. These parameters include the band centers of the reference and observed 

spectral features, which are reported in the lower left corner below the plot. The reported band 

center positions include:
34

- the central wavelength position of a quadratic function fit to the three channels at the 

center of the reference spectral feature (CquadRef), that is, the band minimum channel and 

one channel on either side

- the central wavelength position of a quadratic function fit to the three channels at the 

center of the observed spectral feature (CquadObs), that is, the band minimum channel and 

one channel on either side

- the wavelength position of the channel at the center of the reference spectral feature 

(CchanRef), that is, the band minimum channel of the reference feature

- the wavelength position of the channel at the center of the observed spectral feature 

(CchanObs), that is, the band minimum channel of the observed feature

The band depths of the features are also reported. These are printed in the lower right 

corner below the plot. The reported depths include:

- the depth of the scaled reference spectral feature (DSQref) based on the quadratic function 

fitted to the three channels at the center of the feature, that is, the band minimum channel

and one channel on either side

- the depth of the reference spectral feature based on the quadratic function fitted to the 

three channels at the center of the feature (DQref)

- the depth of the observed spectral feature based on the quadratic function fitted to the 

three channels at the center of the feature (DQobs)

- the depth of the reference spectral feature calculated using the channel at the center of the 

feature (DCref)

- the depth of the observed spectral feature calculated using the channel at the center of the 

feature (DCobs)

On a feature comparison plot, if the user wants to plot the features with equal band 

depths, the user may turn that option ―on‖ in the lower left of the Continuum Removal Interface 

GUI (see fig. 30). The buttons and other fields in the bottom portion of the continuum-removal 

interface GUI become active when the comparison plot is created. In some cases it is easier to 

see the shift in band center position between two spectra when they are plotted with equalized 

depths. Figure 32 shows an example comparison plot with equalized band depths for two dry 

vegetation spectra from splib06a, dry grass in record 30093 as the reference spectrum and dry 

pine needles in record 30509 as the observed spectrum.
35

The spectral feature comparison plot with equalized depths.

When comparing spectra, the Continuum Removal Interface GUI displays an output 

PostScript filename, which by default contains the record numbers and SPECPR filenames of the 

reference and observed spectra. The directory for this output is set, by default, as the directory 

that contains the input SPECPR file. The user may edit the filename in the text box directly or 

use the ―Set PostScript File‖ button to use a dialog window to set the output PostScript file. That 

PostScript file is created when the user presses the ―Export Comparison to PostScript‖ button in 

the bottom left of the Continuum Removal Interface GUI.
36

To create a JPEG version of the plot, press the ―Export Comparison to JPEG‖ button (fig. 

32). After pressing the button, a file selection window appears (fig. 33) prompting the user to set 

the output JPEG file. Initially, the file selection window will contain a suggestion for the output 

JPEG file; this suggested file is equivalent to the file set for the PostScript file, but with a ―.jpg‖ 

extension in place of the ―.eps‖ extension. After setting the file, press ―Open‖ to continue the 

program and create a JPEG plot of the continuum-removed feature.

Setting the JPEG file for the comparison plot.

To export the parameters describing the continuum-removed features and their 

comparison to a text file, press the ―Export Comparison Parameters to File‖ button (see fig. 32). 

The output file will contain parameters, describing the continuum-removed features and their 

comparison measures, written as ASCII values in a comma-separated value (csv) format. By 

convention, a ―.csv‖ extension is used to denote such files, and the user should add this extension 

to any output filenames. After pressing the button, a file selection window appears, prompting 

the user to set the output file (fig. 34). Initially, the file selection window will contain a 

suggestion for the output file; this suggested file is equivalent to the file set for the PostScript 

file, but with a ―.csv‖ extension in place of the ―.eps‖ extension.
37

Setting the csv file for the comparison plot.

After setting the output file, press ―Open‖ to continue the program and create the csv file. 

The first line of the csv file will contain the names of the parameters. The second line will 

contain the values of these parameters, in the order shown in table 2. Note: if the file already 

exists, the user is prompted in regard to appending the parameters to the end of the existing file. 

If the user responds positively, a single line, containing the comma-separated values for the 

feature, is written to the end of the existing file. If the user responds negatively, the parameters 

are not exported.

Table 2. Parameters describing the continuum-removed features and their comparison using linear 

regression, exported in comma-separated value format.

Parameter name Description

ref_spectrum_specpr_title title of the record containing the reference spectrum

ref_spectrum_specpr_record record number of the reference spectrum

ref_spectrum_specpr_file filename of the SPECPR file containing the reference spectrum

continuum_left_wave wavelength of the left continuum endpoint (λ1)

continuum_right_wave wavelength of the right continuum endpoint (λ2)

continuum_left_channel channel number of the left continuum endpoint

continuum_right_channel channel number of the right continuum endpoint

obs_spectrum_specpr_title title of the record containing the observed spectrum 

obs_spectrum_specpr_record record number of the observed spectrum 
38

Table 2. Parameters describing the continuum-removed features and their comparison using linear 

regression, exported in comma-separated value format.—Continued

Parameter name Description

obs_spectrum_specpr_file filename of the SPECPR file containing the observed spectrum

comparison_fit_value value describing the measure of ―fit‖, or level of agreement, between the 

continuum-removed spectra; it is the coefficient of determination (r2) that 

results from a linear regression between the continuum-removed 

reflectance values of the reference spectrum and the continuum-removed 

reflectance values of the observed spectrum

comparison_r_value the linear correlation coefficient (r) that results from a linear regression 

between the continuum-removed reflectance values of the reference 

spectrum and the continuum-removed reflectance values of the observed 

spectrum; the USGS Tetracorder algorithm uses this value as the measure 

of fit (see Clark and other, 2003)

comparison_depth_value depth of the scaled reference spectrum(DSQref), based on the band minimum 

channel; for details on the scaling calculations, see Clark and others 

(2003)

scaling_type a text description of the type of scaling used in the comparison plot, either 

―least-squares‖ or ―equalized-to-observed‖

ref_feature_center_wave wavelength position of the center of a reference feature (CquadRef), calculated 

using a quadratic fit to the values of the band minimum channel and a 

channel on each side

ref_feature_depth depth of the reference feature based on the band minimum channel (DCref)

ref_feature_FWHM width of the reference feature, calculated as the full-width at half-maximum 

based on the depth of the band minimum channel (WCref)

ref_feature_area area of the continuum-removed reference feature; note: this value will be set 

to -999 if all values in the continuum reflectance are not below 1.0, that 

is, if any channel in the input spectrum falls above the continuum line

ref_continuum_level_left reflectance value of the left continuum endpoint of the reference feature

ref_continuum_level_mid calculated value of the continuum line at the wavelength midpoint of the 

reference feature

ref_continuum_level_right reflectance value of the right continuum endpoint of the reference feature

ref_continuum_rtdivbylt reflectance value of the right continuum endpoint of the reference feature 

divided by the reflectance value of the left continuum endpoint of the 

reference feature

obs_feature_center_wave wavelength position of the center of the feature in the observed spectrum 

(CquadObs), calculated using a quadratic fit to the values of the band 

minimum channel and a channel on each side

obs_feature_depth depth of the feature in the observed spectrum, based on the band minimum 

channel (DCobs)

obs_feature_FWHM width of the feature in the observed spectrum, calculated as the full-width at 

half-maximum based on the depth of the band minimum channel (WCobs)

obs_feature_area area of the continuum-removed feature in the observed spectrum; note: this 

value will be set to -999 if all values in the continuum reflectance are not 

below 1.0, that is, if any channel in the input spectrum falls above the 

continuum line

obs_continuum_level_left reflectance value of the left continuum endpoint in the observed spectrum

obs_continuum_level_mid calculated value of the continuum line at the wavelength midpoint in the 

observed spectrum

obs_continuum_level_right reflectance value of the right continuum endpoint in the observed spectrum

obs_continuum_rtdivbylt reflectance value of the right continuum endpoint divided by the reflectance 

value of the left continuum endpoint for the observed spectrum

wavelength_specpr_title title of the record containing the wavelengths
39

Table 2. Parameters describing the continuum-removed features and their comparison using linear 

regression, exported in comma-separated value format.—Continued

Parameter name Description

wavelength_specpr_record record number containing the wavelengths

wavelength_specpr_file SPECPR file containing the wavelength record

To save the continuum-removed features and the spectral feature comparison results as 

records in the SPECPR file of the reference spectrum, press the ―Save Features to SPECPR‖ 

button (see fig. 32). The user is prompted to set the titles for the continuum-removed features. 

First, a window appears in which the user can set the title for the record that will contain the data 

for the continuum-removed feature from the observed spectrum (fig. 35). By default, the string 

―CR-OBS‖ followed by a space and the title of the record of the observed spectrum is suggested 

as the title, truncated to character limit for SPECPR titles (40 characters). This suggested title 

appears in the output title window. Note: the full title of the record of the observed spectrum is 

also shown in the window (see fig. 21). The user can edit the displayed title, if desired. Accept 

the title by pressing ―OK‖. If the title exceeds 40 characters the user will be prompted that an 

error occurred and the output title should be re-entered (see fig. 22). After setting the title for the 

observed feature, the user is prompted to set the title for the record that will contain the data for 

the continuum-removed feature from the reference spectrum (fig. 36). By default, the string ―CRREF‖ followed by a space and the title of the record of the reference spectrum is suggested as the 

title, truncated to character limit for SPECPR titles (40 characters). After setting the title for the 

reference feature, the user is prompted to set the title for the record that will contain the data for 

the scaled continuum-removed reference feature (fig. 37). By default, the string ―CRScaledREF‖ followed by a space and the title of the record of the reference spectrum is 

suggested as the title, truncated to the character limit for SPECPR titles (40 characters).

Setting the title for the SPECPR record that will contain the continuum-removed feature from 

the observed spectrum.
40

Setting the title for the SPECPR record that will contain the continuum-removed feature from 

the reference spectrum.

Setting the title for the SPECPR record that will contain the scaled continuum-removed 

feature from the reference spectrum.

Once the titles are accepted, the continuum-removed features are written to the SPECPR 

file of the data record being viewed (the SPECPR file of the reference spectrum). The channels 

beyond the continuum endpoints are set to the SPECPR deleted point value (-1.23e+34). The user 

can refresh the listing of the SPECPR file containing the data record being viewed by pressing 

the ―List Selected SPECPR File‖ button, shown in the ViewSPECPR control window in figure 2. 

The text records and data records containing the spectral feature comparison parameters and the 

continuum-removed features will be at the bottom of the listing (fig. 38). To distinguish the 

block of records with the comparison results and the continuum-removed features from the 

preceding records, the function first writes a separator record of asterisks (see Function 1.9.2), 

record 33860 in figure 38. Next, two text records identify the block of records as pertaining to 

spectral comparison, records 33861 and 33862 in figure 38. The next text record (record 33863

in fig. 38), titled ―text rec w/ fit info on ref&obs features‖, contains the spectral feature 

comparison results and continuum-removed feature parameters. By viewing the text in the record 

(see Function 1.5), the user can display the spectral feature comparison parameters (fig. 39); 

these are the same parameters described in table 2. Before the data records containing the spectra 

of the continuum-removed features, a text record of dashes is written (record 33864 in fig. 38). 

The next three records contain the continuum-removed features for the observed spectrum, the 

reference spectrum, and the scaled reference, respectively (see records 33865, 33871, and 

33877). The header of each of these records contains information on the continuum-removed 

features and the fit value of the spectral feature comparison (fig. 40). The end of the block of 

records is another separator record of asterisks (record 33883 in fig. 38).
41

Example text and data records written ―Save Features to SPECPR‖; the records written are 

33861 to 33884.

Spectral feature comparison parameters and continuum-removed feature parameters stored 

in the text record.
42

Parameters describing the continuum-removed feature of the observed spectrum stored in the 

header of the data record.

After creating a comparison plot, the user can return to the plot of the continuumremoved feature by pressing the ―Refresh CR Plot‖ button.

Function 1.8 – Running MICA analysis on the selected record

The shape of the reflectance spectrum of a material derives, in large part, from its

chemical composition and physical structure (see Clark, 1999). Differences in the chemical 

compositions of materials lead to differences in spectral shapes. MICA analyzes an input 

spectrum in comparison to a set of spectral features in reference spectra and identifies the best 

match to the reference spectra; in this manner a material can be identified by spectral 

characteristics. Details on the algorithms in MICA can be found in the ―Module 4. MICA –

Material Identification and Characterization Algorithm‖ section of this report. The reference 

spectra, their diagnostic absorption features, continuum constraints, and other controls on the 

MICA analysis are defined in a MICA command file. Appendix A describes the format and 

syntax of the MICA command file and shows a sample command file with helpful annotations 

explaining the file structure and parameter values. Spectra to be analyzed with a MICA 

command file must have been either measured on the same spectrometer as the reference spectra, 

or the spectra to be analyzed and the reference spectra must have been reconciled to the same 

spectral parameters, that is, converted to a consistent set of channels with the same wavelength 

and bandpass (FWHM) values. The spectra with the finer resolution, that is, smaller bandpass

(FWHM), overall, should be resampled, either interpolated (Function 2.8) or convolved 

(Function 2.9) to the spectral characteristics of the coarser resolution spectra. For example, 

AVIRIS spectra cannot be compared directly to a set of reference spectra measured on a highresolution laboratory spectrometer. First, the laboratory spectra must be convolved to the 

sampling and bandpass (FWHM) characteristics of the AVIRIS data being analyzed. 

Subsequently, a MICA command file referencing the convolved laboratory spectra can be used 

to analyze the AVIRIS spectra.
43

From the ViewSPECPR interface, MICA analysis of a selected record can be performed 

by clicking on the ―Run MICA on selected record‖ button at the bottom right of the 

ViewSPECPR control window (fig. 41). In order to run MICA on a spectrum, the user must have 

a valid MICA command file and the SPECPR file(s) containing the spectra listed in the MICA 

command file. A sample MICA command file ―mica_cmds_group2_hymap2007.mcf‖ and the

associated SPECPR file ―splib06b_cvhymap07_124ch‖ are included with this distribution of 

PRISM. This command file was developed to detect the occurrences of a set of materials in the 

pixels of HyMap imaging spectrometer data. The reference materials are primarily minerals with 

diagnostic absorption features in the 2 to 2.5 m wavelength region, along with other common 

surface cover such as water, snow, and vegetation. This command file was used to detect and 

map these materials in a large HyMap dataset covering the country of Afghanistan (Kokaly and 

others, in press). Here, it is used to illustrate the steps taken when running MICA on a selected 

spectral record, in this case, record 945 of the example SPECPR file (fig. 41). The example files 

are included with the PRISM software distribution. If step 3 of the installation instructions was

followed (see the ―Installation of Software‖ section of this report), the files will be in

―C:\usgsprism\mica_hymap\‖ on Windows computers and in

―/var/local/usgsprism/mica_hymap/‖ on Linux computers.

. Running MICA on a selected record.
44

During program execution, the following prompts are made by MICA.

Prompt 1: Select the MICA command file

The user is prompted to select the MICA command file to use in the analysis of the 

selected record (fig. 42). In this example, the sample MICA command file included with the 

PRISM software distribution is used.

Selecting a MICA command file.

Prompt 2: Set the output directory

The user is prompted to set the output directory (fig. 43). This is the directory where a 

results file of the MICA analysis for the selected record will be created in text format. The user 

must have write permission to this directory. This output file is formed according to the 

following pattern, in which the term ―log‖ is shorthand notation for logbook and indicates the file 

contains results from the MICA analysis as well as important information on events that occur 

during the program execution:

Results file = Output directory + ―mica_log_spectrummode_‖ + command file + ―.txt‖

Thus, for the example given here, the results file will be 

―C:\usgsprism\mica_hymap\output\mica_log_spectrummode_mica_cmds_group2_hymap2007.txt‖
45

Selecting an output directory for MICA.

Prompt 3: Set the verbose level

The user is prompted to set the verbose level of the program output (fig. 44). The verbose 

level refers to the amount of information reported to the user as the spectrum is processed. A

higher number verbose level means more information is reported to the user. See appendix B for 

samples and interpretation of MICA output at different verbose levels.

Setting the verbose level for MICA.

At verbose level 1, a single line of text is printed that indicates which one, if any, of the 

reference spectra was found to be the best match to the selected record. The weighted fit value of 

this best match is reported, where the weighted fit value is the overall fit calculated by summing 

the fit values of the observed spectrum to each feature in the ―best match‖ reference spectrum, 

weighted by the user-supplied weights set in the command file. See Module 4 for additional 

details on MICA calculations. At the next level, verbose level 2, the results file also contains 

some information on the parameters used to run MICA and, in addition to the weighted fit value 
46

of the best match, the weighted band depth and the fit*depth values of the match are reported. 

Additional information on the record selected for analysis (observed) and the record of the best 

match (reference) is reported, including the SPECPR file, record number, and title of the 

observed spectrum and the same information for the best match to the reference spectra.

At verbose level 3, MICA also reports information about the contents of the MICA

command file, including a list of the reference spectra and the continuum endpoints that define 

the spectral features to be analyzed. Also at verbose level 3, the output file reports the weighted 

fit results for all reference spectra, not just the ―best match‖ spectrum. In addition, the reference 

spectra with the top 5 weighted fit values are ranked and reported.

At verbose level 4, the output file contains detailed information on the fit and depth 

values for each spectral feature of each reference spectrum, in contrast to the reporting of just the 

summary values for each reference spectrum. Also, the calculated values of feature and 

continuum parameters are reported along with the threshold values for these parameters that 

were set in the MICA command file (see appendix A). If a threshold was not set in the command 

file, the output file will show a value of -99.99 for that constraint. Summary reports for whether 

the features passed or failed constraints are also given. A table reporting the weighted fit, depth,

and fit*depth values is created along with threshold values for these parameters that were set in 

the MICA command file. If a threshold was not set in the command file, the output file will show 

a value of -99.99 for that constraint. Verbose level 5 adds reporting from the subroutines of 

MICA and, therefore, can generate a large output text file, depending on the number of spectra 

listed in the command file. In addition, PostScript plots are created which show the comparison 

of the spectrum of the selected record to all diagnostic and NOT features of reference spectra

listed in the command file.

Prompt 4: Set the scale factor for reference spectra, if not set in the command file

If the MICA command file does not specify the scaling factor for the reference spectra, 

the user is asked if he or she wishes to set this value (fig. 45). The reference spectra will be 

divided by the scale factor to convert the spectrum to reflectance values ranging from 0 to 1. If 

the user selects ―No‖ then the program execution will halt. Note: if the scale factor for the 

reference spectra is set in the MICA command file, then this and the next prompt (Prompt 5) will 

not appear.

Prompt to set the scale factor for the reference spectra.

Prompt 5: Enter the scale factor for reference spectra

If the user selected ―Yes‖ in answer to the previous prompt, setting the scale factor for 

the reference spectra, then the user is prompted to enter the scale factor (fig. 46). Note: if the 
47

scale factor for the reference spectra is set in the MICA command file then this and the previous 

prompt (Prompt 4) will not appear.

Setting the scale factor for the reference spectra.

Prompt 6: Set the scale factor for observed spectra, if not set in the command file

If the MICA command file does not specify the scaling factor for the observed spectra,

that is, the spectra being analyzed, then the user is asked to set this value (fig. 47). The observed 

spectra will be divided by the scale factor to convert them to reflectance values ranging from 0 to 

1. Typically, laboratory and field spectra are collected and stored with values ranging from 0 to 

1, in which case, the scale factor should be set to 1. Spectra from cubes of imaging spectrometer 

data are typically stored with a scaling factor of 10,000 or 20,000. If the user selects ―No‖ in 

response to Prompt 6 then the program execution will halt. Note: if the scale factor for the 

observed spectra is set in the MICA command file then this and the next prompt (Prompt 7) will 

not appear.

Prompt to set the scale factor for the observed spectra.

Prompt 7: Enter the scale factor for observed spectra

In selecting ―Yes‖ in answer to the previous prompt, that the user wishes to set the scale 

factor for the observed spectra, then the user is prompted to enter that value (fig. 48). Note: if the 

scale factor for the observed spectra is set in the MICA command file then this and the previous 

prompt (Prompt 6) will not appear.
48

Setting the scale factor for the observed spectra.

Prompt 8: Change the scale factor for observed spectra, if set in the command file

If the MICA command file specifies the scaling factor for the observed spectra, the user 

is prompted to accept or change this value (fig. 49). If the user presses ―No‖ then the program 

execution will continue using the scale factor value set in the command file. Note: if the scale 

factor for the observed spectra is not set in the MICA command file then this and the next 

prompt (Prompt 9) will not appear.

Prompt to change the scale factor for the observed spectra.

Prompt 9: Enter the scale factor for observed spectra, if changing the value from the command file

If the user selected ―Yes‖ in answer to the previous prompt, that is, that the user wishes to 

change the scale factor for the observed spectra, the user is prompted to enter that value (fig. 50).

Note: if the scale factor for the observed spectra is not set in the MICA command file then this 

and the previous prompt (Prompt 8) will not appear.

Setting the scale factor for the observed spectra.
49

Prompt 10: Confirm the successful completion of MICA

If the program completes successfully, a message reporting this is displayed (fig. 51). 

Press ―OK‖ to dismiss the message.

Confirming the successful completion of the MICA routine.

A window containing the text report of the MICA results is also displayed (the bottom of 

the text report is shown in fig. 52). The reference spectrum that had the best match to the 

analyzed spectrum (observed spectrum) is shown at the bottom of the report. If a verbose level 

greater than three was selected, as described above, the reference materials with the five highest 

fit values are listed before the reporting of the best match. These are shown under the heading 

―TOP 5 FITS‖ and are ranked in descending order of fit value. If the observed spectrum does not 

meet all constraints in the MICA command file for any of the reference spectra, a ―no match‖ 

result is reported (see the feature and continuum constraints described in Module 4). Depending 

on the verbose level, as described above, additional reporting is done. The text report is also 

written to the output directory, in this example, the output file is 

―C:\usgsprism\mica_hymap\output\mica_log_spectrummode_mica_cmds_group2_hymap2007.t

xt‖. Further information on MICA can be found in the ―Module 4. MICA – Material 

Identification and Characterization Algorithm‖ section of this report. Appendix A explains the 

format and syntax of MICA command files and includes the sample command file with 

explanatory comments. Additional details on the output from MICA are given in appendix B.
50

Text report of the MICA results.

Function 1.9 – ViewSPECPR spectral analysis functions

A variety of functions, among them routines for importing/exporting data to/from a 

SPECPR file, managing and editing SPECPR records, and applying arithmetic, convolution, and 

interpolation functions to spectra, can be accessed using the ―Spectral Analysis‖ menu entry on 

the ViewSPECPR control window’s menu bar. When selected, a list of the available routines 

drops down from the menu entry (fig. 53). The routines listed are intended for use with the 

displayed SPECPR file. All of these same functions are accessible from the drop-down list that 

appears when the user clicks on the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of 

the ENVI menu bar (see the ―Module 2. Spectral Analysis Functions‖ section of this report). 

However, when these functions are invoked from the PRISM menu instead of from the 

ViewSPECPR menu, the user must select the input/output SPECPR. Therefore, initiating the 

functions from the ViewSPECPR menu offers a shortcut to work with records in the SPECPR 

file being viewed.
51

Spectral functions available within the ViewSPECPR module.

Function 1.9.1 – Write text record

This function can be used to add a text record to the end of the SPECPR file being 

viewed. To start the function, click on the ―Write Text Record‖ item in the drop-down list of the 

―Spectral Analysis‖ entry on the ViewSPECPR menu bar (fig. 53). When creating a text record 

the user is first prompted to enter the title of the text record (fig. 54). Within SPECPR database 

files, titles are limited to 40 characters.

Entering the title for a text record.
52

If the title exceeds 40 characters the user will be warned that an error occurred and the 

output title should be re-entered (fig. 55).

Warning that title exceeds 40 characters.

After pressing ―OK‖, the user is again prompted to enter the title for the text record; 

however, the previously entered title, truncated to 40 characters, will be present in the text field

(fig. 56). The user may edit that title, making sure to use at most 40 characters (fig. 57).

The title truncated to 40 characters.

A title with only 40 characters.

After the title has been accepted, the user is prompted to enter the text to be stored in the 

new record. Figure 58 shows an example of text written to a SPECPR example file

―spd_example1‖. This example file is included with the PRISM software distribution. If the user 

followed step 3 of the installation instructions (see section ―Installation of Software‖ of this 

report), the file will be located in ―C:\usgsprism\spectra\‖ on Windows computers and at 

―/var/local/usgsprism/spectra/‖ on Linux computers.
53

Text to store in a SPECPR text record.

Function 1.9.2 – Write a separator record

These functions provide a convenient way to add text records that have titles of all 

asterisks (*) or all dashes (-). These are used to mark divisions between blocks of spectra or data. 

For example, figure 6 shows three such records before and after the data records that contain the 

wavelengths and bandpass (FWHM) of the spectrometers in the USGS splib06a spectral library

(Clark and others, 2007). Also, between the records of each sample material in that library, 

separator records of dashes are used for visual separation.

Function 1.9.2.1 – Write separator record of asterisks *****

When this function is selected, a text record with a title of 40 asterisks (*) is written to 

the end of the SPECPR file being viewed. To start the function, click on the ―Write Separator 

Record‖ item in the drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu 

bar and select the ―Write separator record of asterisks *****‖ item that appears (fig. 59). After 

the record is written, a message indicating the successful completion of this function is 

displayed. Press ―OK‖ to dismiss the message. The listing of the SPECPR file will refresh, with 

the new record appearing at the bottom of the listing. Figure 60 shows the file listing that results 

after writing this type of separator to a SPECPR example file ―spd_example1‖. This example file 

is included with the PRISM software distribution. If the user followed step 3 of the installation 

instructions (see section ―Installation of Software‖ of this report), the file will be located in 

―C:\usgsprism\spectra\‖ on Windows computers and at ―/var/local/usgsprism/spectra/‖ on Linux 

computers.
54

Separator record functions available within the ViewSPECPR module.
55

Separator record written to SPECPR file.

Function 1.9.2.2 – Write separator record of dashes -----

When this function is selected, a text record with a title of 40 dashes (-) is written to the 

end of the SPECPR file being viewed. To start the function, click on the ―Write Separator 

Record‖ item in the drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu 

bar and select the ―Write separator record of dashes -----‖ item that appears (see fig. 59). After 

the record is written, a message indicating the successful completion of this function is 

displayed. Press ―OK‖ to dismiss the message. The listing of the SPECPR file will refresh, with 

the new record appearing at the bottom of the listing.

Function 1.9.3 – Import ASD spectra

This function allows the user to import spectra collected using ASD full range 

spectrometers. Full range refers to spectrometers that produce spectra with 2151 channels with 1 

nanometer (nm, 0.001 m) sampling increments, starting at the wavelength of 350 nm (0.35 m) 

and ending at 2500 nm (2.5m). In PRISM, these are considered to be the default wavelengths of 

ASD spectra. Thus, this function is designed to work with ASD spectrometers with three 

detectors, a visible/near-infrared detector (VNIR), a shortwave infrared 1 (SWIR1) detector, and 
56

a shortwave infrared 2 (SWIR2) detector. Drawing on over 15 years of experience with five ASD 

spectrometers maintained by the USGS Spectroscopy Laboratory in Denver, Colorado, PRISM 

uses default bandpass (FWHM) characteristics of these detectors as 5 nm (0.005 m) for the 

VNIR, 11 nm (0.011 m) for the SWIR1, and 11 nm (0.011 m) for the SWIR2. However, 

PRISM also contains routines for the users to evaluate the wavelength and bandpass (FWHM)

characteristics of their ASD spectrometers (see ―Function 2.17 – Wavelength/FWHM evaluation

of ASD‖ for details) and to create custom wavelength and bandpass (FWHM) records. These 

custom characteristics may or may not differ from the nominal characteristics. The user may then 

link imported ASD spectra to these custom wavelength and bandpass (FWHM) records. 

Alternatively, the user may use the default wavelength and bandpass (FWHM) records. 

Currently, PRISM works only with ASD files in the older binary format, so the user should 

consult the documentation of ASD software to see how to record data in this format and how to 

convert data collected in the newer format back to the old format.

When using this function, the user is first prompted to choose the ASD binary files. 

Example ASD binary files are provided with the PRISM software distribution. If step 3 of the 

installation instructions was followed (see section ―Installation of Software‖ of this report), these 

files will be located in ―C:\usgsprism\spectra\asd\raw_binaries\‖ on Windows computers and at 

―/var/local/usgsprism/spectra/asd/raw_binaries/‖ on Linux computers. Figure 61 shows an 

example of selecting the ASD files with the name of ―mylar‖ using multiple file selection by leftclicking the file at one end of the desired block and then pressing and holding the Shift button 

and left-clicking the file at the other end of the desired block of files. The user can then click 

―Open‖ after selecting the ASD files.

Selecting ASD binary files for import into a SPECPR file.

The user is then asked whether the SPECPR file into which the spectra are being 

imported (that is, the SPECPR file being viewed) contains the wavelength and bandpass 

(FWHM) records that correspond to the ASD spectra being imported (fig. 62).
57

Selecting ASD binary files for import into a SPECPR file.

If the wavelength and bandpass (FWHM) records are not present in the SPECPR file 

being viewed, but are present in another SPECPR file, the user should first transfer those records 

(see Function 1.9.4) into the SPECPR file being viewed before importing ASD spectra. PRISM 

works best when each spectrum is linked to the wavelength and bandpass (FWHM) records that 

characterize the spectrometer on which it was collected. In the case of ASD spectra, the user may 

have customized wavelength and bandpass (FWHM) records using ―Function 2.17 –

Wavelength/FWHM evaluation of ASD‖. If the user does not have a custom set of wavelength 

and bandpass (FWHM) records for the ASD spectra, then the user may choose to continue 

importing spectra using a set of default wavelengths and bandpass (FWHM) values for ASD full 

range spectrometers by clicking ―No‖ in answer to the prompt shown in figure 62. The user may 

select ―No‖ and later use the custom PRISM routines to establish wavelengths and bandpass 

(FWHM) records for the ASD spectrometer (see ―Function 2.17 – Wavelength/FWHM 

evaluation of ASD‖). If the user has established the spectrometer’s wavelength and bandpass 

(FWHM) characteristics through another means, the user may import the wavelength and 

bandpass (FWHM) records by importing them from an ENVI spectral library and then using 

―Function 1.9.14 – Import ENVI Spectral Library‖ to bring them into the SPECPR file being 

viewed.

If ―No‖ is selected in answer to the question, default records for ASD wavelength and 

bandpass (FWHM) will be created (for details on these default values see ―Function 2.17 –

Wavelength/FWHM evaluation of ASD‖) and the ASD spectra imported. After the records are 

imported, a message indicating the successful completion of this function is displayed. Press 

―OK‖ to dismiss the message. The listing of the SPECPR file will refresh, with the new records 

appearing at the bottom of the listing. Figure 63 shows the resulting file listing after pressing 

―No‖ and importing the selected ASD binaries. Text, wavelength, and bandpass (FWHM) 

records are written before the imported spectra to describe the subsequent data records as 

imported ASD spectra (records 5-20 in fig. 63). First, a text separator record of asterisks is 

written (record 5). Then, a text record containing the ASD spectrometer number and calibration 

number is written (record 6), as extracted from the first ASD binary file. Next, a text separator 

record of dashes is written (record 7). Since the user opted to use the default ASD wavelength 

and bandpass (FWHM) values, the next two records will contain those data (records 8 and 14 in 

fig. 63). After these records, another text separator record of dashes is written (record 20). Next, 

the imported ASD spectra are written (records 21-75 in fig. 63). Finally, a text separator record 

of asterisks is written to demarcate the end of the block of imported ASD spectra.
58

SPECPR file listing after importing ASD spectra with default wavelength and bandpass 

(FWHM) records.

Each record containing one of the imported ASD spectra, for example, record 21, has 

pointers to the wavelength record (record 8) and bandpass (FWHM) record (record 14) set in its 

header. By clicking on an imported ASD spectrum, in this case, record 21, and then pressing the 

―Show Header Info/Text/DESCRIPT Record‖ button, you can examine the information stored in 

the header of an imported ASD record (fig. 64). If a GPS was connected to the ASD while 

collecting the spectra, the manual history will contain the latitude and longitude coordinates 

stored in the ASD binary file, along with the GPS datum. If the GPS was not connected or not 

communicating with the ASD during spectral measurements, the datum value will be set to ―No 

GPS data‖ and the latitude and longitude values will be set to zero.
59

Header information in an imported ASD spectrum using default wavelength and bandpass 

(FWHM) values.

If the user pressed ―Yes‖ when prompted whether the SPECPR file contains wavelength 

and bandpass (FWHM) records (see fig. 62), a window will appear with a listing of the SPECPR 

file being viewed (fig. 65). In this window, the user should select the wavelength record and 

press ―Return Selected Wavelength Record‖. Figure 65 shows an example of this step when 

importing ―cg5121‖ and ―srm2035‖ files. These example ASD binary files are provided with the 

PRISM software distribution. If step 3 of the installation instructions was followed (see section 

―Installation of Software‖ of this report), these files will be located in 

―C:\usgsprism\spectra\asd\raw_binaries\‖ on Windows computers and at 

―/var/local/usgsprism/spectra/asd/raw_binaries/‖ on Linux computers.
60

Choosing the wavelength record in the SPECPR file into which ASD spectra will be imported.

Next, the user is prompted to select the bandpass (FWHM) record. After selecting the 

record, the user should press ―Return Selected FWHM Record‖ (fig. 66).
61

Choosing the bandpass (FWHM) record in the SPECPR file into which ASD spectra will be 

imported.

After the records are imported, a message indicating the successful completion of this 

function is displayed. Press ―OK‖ to dismiss the message. The listing of the SPECPR file will 

refresh, with the new records appearing at the bottom of the listing. Before the imported spectra

are written, text records are written to describe the subsequent spectra as imported ASD spectra. 

First, a text separator record of asterisks is written. Then, a text record containing the ASD 

spectrometer number and calibration number is written. Next, a text separator record of dashes is 

written. Next, the imported ASD spectra are written. Finally, a text separator record of asterisks 

is written to demarcate the end of the block of imported ASD spectra.

Function 1.9.4 – Transfer SPECPR record(s) into this file

These functions (fig. 67) provide a means to transfer records stored in other SPECPR 

files into the SPECPR file that is being viewed. ―Function 1.9.4.1 – Transfer SPECPR record(s) 

no changes‖ transfers records without altering any of the header information, including without 

changing the pointers to the wavelength and bandpass (FWHM) records that are associated with

the transferred data records. This function should only be used when transferring text records or 

data records that have pointers to wavelength and bandpass (FWHM) records that are the same 

and exist in both the SPECPR file from which records are being transferred and the SPECPR file 

into which they are being transferred. ―Function 1.9.4.2 – Transfer SPECPR record(s) set 

wave/FWHM‖ allows the user to set the pointers to the wavelength and bandpass (FWHM) 
62

records in the SPECPR file into which the data record(s) are being transferred. ―Function 1.9.4.3 

– Transfer SPECPR record(s) set wave/FWHM and change title‖ allows the titles of transferred 

records to be changed.

Functions for transferring records into the SPECPR file being viewed.

Function 1.9.4.1 – Transfer SPECPR record(s) no changes

To start the function, click on the ―Transfer SPECPR record(s) into this file‖ item in the 

drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the 

―Transfer SPECPR record(s) no changes‖ item that appears (fig. 67). This example shows 

records being transferred into the ―splib06a‖ SPECPR file. The file is included with the PRISM 

software distribution. If the default directory in step 3 of the installation instructions was used

(see the ―Installation of Software‖ section of this report), this file will be located in
63

―C:\usgsprism\spectra\splib06\‖ on Windows computers and in

―/var/local/usgsprism/spectra/splib06/‖ on Linux computers.

First, the user is prompted to choose the SPECPR file from which records will be 

transferred (fig. 68). In this example, a SPECPR file containing the spectra that have been 

convolved to HyMap 2007 wavelength and bandpass (FWHM) characteristics is used. This 

SPECPR file ―splib06b_cvhymap07_124ch‖ is included with the PRISM software distribution. If 

the default directory in step 3 of the installation instructions was used (see the ―Installation of 

Software‖ section of this report), then the file will be located in ―C:\usgsprism\mica_hymap\‖ on 

Windows computers and in ―/var/local/usgsprism/mica_hymap/‖ on Linux computers.

Choosing the SPECPR file from which records will be transferred using the ―no changes‖ 

function.

Next, the user is prompted to select the records to transfer (fig. 69). Data records and text 

records can be transferred. A single record can be transferred by left-clicking on the record and 

then clicking on the ―Return Selected Record Numbers‖ button. Additional records can be 

selected by pressing and holding down the ―Ctrl‖ (control) button on the keyboard and leftclicking on other records that the user wishes to transfer. A block of records may be selected by 

first left-clicking on either the record at the top or bottom of the desired block and then pressing 

and holding the Shift button while left-clicking on the record at the other end of the desired 

block. The user may scroll up or down before selecting the end record of the desired block. 

Figure 69 shows the selection of records 5 through 8, a block which contains both text and data 

records.
64

Choosing the records that will be transferred using the ―no changes‖ function.

After pressing the ―Return Selected Record Numbers‖ button, the records are transferred 

into the SPECPR file being viewed. After the records are transferred, a message indicating the 

successful completion of this function is displayed. Press ―OK‖ to dismiss the message. The 

listing of the SPECPR file will refresh, with the new records appearing at the bottom of the 

listing. By scrolling down to the bottom of the SPECPR file listing, the user will see these 

transferred records listed (fig. 70).
65

Records transferred using the ―no changes‖ function, listed at the end of the SPECPR file 

being viewed.

Function 1.9.4.2 – Transfer SPECPR record(s) set wave/FWHM

To start the function, click on the ―Transfer SPECPR record(s) into this file‖ item in the 

drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the 

―Transfer SPECPR record(s) set wave/FWHM‖ item that appears (see fig. 67). This example 

shows records being transferred into the ―splib06a‖ SPECPR file. The file is included with the 

PRISM software distribution. If the default directory in step 3 of the installation instructions was 

used (see the ―Installation of Software‖ section of this report), this file will be located in 

―C:\usgsprism\spectra\splib06\‖ on Windows computers and in 

―/var/local/usgsprism/spectra/splib06/‖ on Linux computers.

First, the user is prompted to choose the SPECPR file from which records will be 

transferred (see fig. 68). In this example, a SPECPR file is used which contains spectra that have 

been convolved to HyMap 2007 wavelength and bandpass (FWHM) characteristics. This 

SPECPR file ―splib06b_cvhymap07_124ch‖ is included with the PRISM software distribution. If 

the default directory in step 3 of the installation instructions was used (see the ―Installation of 

Software‖ section of this report), then the file will be located in ―C:\usgsprism\mica_hymap\‖ on 

Windows computers and in ―/var/local/usgsprism/mica_hymap/‖ on Linux computers.
66

Next, the user is prompted to select the records to transfer (fig. 71). Data records and text 

records can be transferred. A single record can be transferred by left-clicking on the record and 

then clicking on the ―Return Selected Record Numbers‖ button. Additional records can be 

selected by pressing and holding down the ―Ctrl‖ (control) button on the keyboard and leftclicking on other records that the user wishes to transfer. A block of records may be selected by 

first left-clicking on either the record at the top or bottom of the desired block and then pressing 

and holding the Shift button while left-clicking on the record at the other end of the desired 

block. The user may scroll up or down the record list before selecting the end record of the 

desired block. Figure 71 shows the selection of records 39 through 44, data records containing 

spectra of alunite samples.

Choosing the records that will be transferred.

Next, the user is prompted to choose the wavelength record corresponding to the 

transferred records from a listing of the SPECPR file being viewed (the SPECPR file into which 

the records will be transferred). Figure 72 shows the selection of record 33844. Press the ―Return 

Selected Wavelength Record‖ after choosing the record.
67

Choosing the wavelength record for the records that will be transferred.

Next, the user is prompted to choose the bandpass (FWHM) record corresponding to the 

transferred records from a listing of the SPECPR file being viewed (the SPECPR file into which 

the records will be transferred). Figure 73 shows the selection of record 33845. Press the ―Return 

Selected FWHM Record‖ after choosing the record.
68

Choosing the bandpass (FWHM) record for the records that will be transferred.

Next, the user is asked whether he or she would like to use the selected wavelength and 

bandpass (FWHM) records for all the data records that were selected for transfer. Figure 74

shows the selection of the first option listed, that is, to use the selected records for all the 

transferred records. This option is useful when all the transferred records share the same 

wavelength and bandpass (FWHM) characteristics. Alternatively, the user may interactively 

choose the wavelength and bandpass (FWHM) records for each of the transferred records. The 

user is prompted sequentially for each transferred record; for this example the user would be 

prompted six times each for the wavelength and bandpass (FWHM) records, for the six alunite 

spectra selected. This option can be used when the transferred records do not have the same 

wavelength and bandpass (FWHM) characteristics.

Prompt to use the selected wavelength and bandpass (FWHM) records for all the data 

records that will be transferred.
69

Once the wavelength and bandpass (FWHM) records have been selected, the records are 

transferred into the SPECPR file being viewed. After the records are transferred, a message 

indicating the successful completion of this function is displayed. Press ―OK‖ to dismiss the 

message. The listing of the SPECPR file will refresh, with the new records appearing at the 

bottom of the listing. By scrolling to the bottom of the refreshed list, the user can see the 

transferred records (fig. 75). The user may use ViewSPECPR ―Function 1.5 – Viewing the 

header, text, or DESCRIPT information in a record‖ to view the header information of the 

transferred data records to verify the wavelength and bandpass (FWHM) pointers are set to the 

correct records.

Refreshed SPECPR file contents list showing the records transferred with the set 

wave/FWHM option.

Function 1.9.4.3 – Transfer SPECPR record(s) set wave/FWHM and change title

To start the function, click on the ―Transfer SPECPR record(s) into this file‖ item in the 

drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the 

―Transfer SPECPR record(s) set wave/FWHM and change title‖ item that appears (see fig. 67). 

The steps taken in this procedure are similar to Function 1.9.4.2, with one addition. After the 
70

selection of the wavelength and bandpass (FWHM) records, the user is prompted to set a new 

output title for the transferred record.

This example shows records being transferred into the ―splib06a‖ SPECPR file. The file 

is included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), this 

file will be located in ―C:\usgsprism\spectra\splib06\‖ on Windows computers and in 

―/var/local/usgsprism/spectra/splib06/‖ on Linux computers.

In this example, a record is transferred from a SPECPR file which contains spectra that 

have been convolved to HyMap 2007 wavelength and bandpass (FWHM) characteristics (see fig. 

68). This SPECPR file ―splib06b_cvhymap07_124ch‖ is included with the PRISM software 

distribution. If the default directory in step 3 of the installation instructions was used (see the 

―Installation of Software‖ section of this report), then the file will be located in 

―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers.

For illustration of this function, figure 76 shows the selection of record 192 from the 

―splib06b_cvhymap07_124ch‖ SPECPR file.

Choosing the records that will be transferred.

After the prompts for the selection of the wavelength and bandpass (FWHM) records, see

Function 1.9.4.2 for details on these steps; the user is prompted to set the output title (fig. 77). 

The output title is limited to 40 characters. If the title exceeds 40 characters the user will be 

prompted that an error occurred and the output title should be re-entered.
71

Setting the title for the record that will be transferred.

Once the title is accepted, the records are transferred into the SPECPR file being viewed. 

After the records are transferred, a message indicating the successful completion of this function 

is displayed. Press ―OK‖ to dismiss the message. The listing of the SPECPR file will refresh, 

with the new records appearing at the bottom of the listing. By scrolling to the bottom of the 

refreshed list, the user can see the transferred records (fig. 78).

Refreshed SPECPR file contents list showing the transferred records.
72

Function 1.9.5 – Transfer SPECPR record(s) from this file

Function 1.9.5.1 – Transfer SPECPR record(s) no changes

To start the function, click on the ―Transfer SPECPR record(s) from this file‖ item in the 

drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the 

―Transfer SPECPR record(s) no changes‖ item that appears. This function follows a similar flow 

to that of Function 1.9.4.1, with the exception that the first prompt is to choose the records to 

transfer from a listing of the contents of the SPECPR file being viewed. The second prompt is to 

choose the SPECPR file into which to transfer these records.

Function 1.9.5.2 – Transfer SPECPR record(s) set wave/FWHM

To start the function, click on the ―Transfer SPECPR record(s) from this file‖ item in the 

drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the 

―Transfer SPECPR record(s) set wave/FWHM‖ item that appears. This function follows a 

similar flow to that of Function 1.9.4.2, with the exception that the first prompt is to choose the 

records to transfer from a listing of the contents of the SPECPR file being viewed. The second 

prompt will be to choose the SPECPR file into which to transfer these records. A listing of the 

destination SPECPR file will be shown for selection of the wavelength and bandpass (FWHM) 

records.

Function 1.9.5.3 – Transfer SPECPR record(s) set wave/FWHM and change title

To start the function, click on the ―Transfer SPECPR record(s) from this file‖ item in the 

drop-down list of the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the 

―Transfer SPECPR record(s) set wave/FWHM and change title‖ item that appears. This function 

follows a similar flow to that of Function 1.9.4.3, with the exception that the first prompt will be

to choose the records to transfer from a listing of the contents of the SPECPR file being viewed. 

The second prompt will be to choose the SPECPR file into which to transfer these records. A 

listing of the destination SPECPR file will be shown for selection of the wavelength and 

bandpass (FWHM) records. Finally, set the title for the transferred record, as shown in the 

description of Function 1.9.4.3.

Function 1.9.6 – Average ASD spectra

These functions (fig. 79) allow the user to average ASD spectra. In addition, the user is 

given the option to correct detector offsets. If the user selects the function ―Average and AbsRef 

ASD Spectra‖ (fig. 79), the routine converts the average spectrum from relative reflectance to 

absolute reflectance.
73

Averaging functions for ASD spectra.

If the user has imported ASD spectra into a SPECPR file using PRISM ―Function 1.9.3 –

Import ASD spectra‖ then the header information of each ASD spectral record will contain the 

detector splice wavelengths that are needed to correct the offsets between ASD detectors (see fig.

64). If the spectra have been imported in a different manner the user may edit the ASD list file. A 

default ASD list file is included with the PRISM software distribution. If step3 of the installation 

instructions was followed (see the ―Installation of Software‖ section of this report), this file will 

be located at ―C:\usgsprism\asd.txt‖ on Windows computers and at ―/var/local/usgsprism/asd.txt‖

on Linux computers. For instructions on how to add the spectrometers to this list file and for 

details on the offset correction for the detectors (see appendix D). Offset correction is made 

using multiplicative scaling factors applied to detectors 1 and 3, assuming that detector 2 is 

stable at either end of its wavelength range (details of the offset correction calculations are found

in appendix D). If ―Function 1.9.6.2 – Average and AbsRef ASD spectra‖ is selected, a 

correction for the absorption of the Spectralon reflectance panel can be applied to convert the 

average spectrum from relative reflectance to absolute reflectance. This is accomplished by 
74

multiplying the average spectrum by the reflectance of the Spectralon panel. A record containing 

a Spectralon panel’s reflectance can be created if the user evaluates the ASD spectrometer’s 

wavelength and bandpass (FWHM) characteristics using ―Function 2.17 – Wavelength/FWHM 

evaluation of ASD‖. Or, the user may interpolate the Spectralon record within the example ASD 

SPECPR file ―spd_asdcalib‖. If the user followed step 3 of the installation instructions (see the 

―Installation of Software‖ section of this report), the file will be located in

―C:\usgsprism\spectra\asd\‖ on Windows computers and in ―/var/local/usgsprism/spectra/asd/‖ 

on Linux computers. The Spectralon record in that file can be interpolated to the user’s ASD 

spectrometer wavelength set (see Function 1.9.7. Interpolate spectra). Alternatively, the user 

may establish the reflectance spectrum for the Spectralon panel measured on the ASD 

spectrometer by another means and import these data into a SPECPR file via an ENVI spectral 

library using ―Function 1.9.14 – Import ENVI Spectral Library‖.

Function 1.9.6.1 – Average ASD spectra

To start the function, click on the ―Average ASD spectra‖ item in the drop-down list of 

the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the ―Average ASD 

spectra‖ item that appears (fig. 79). This example shows records being averaged using a 

SPECPR file containing ASD records. This file ―spd_example1‖ is included with the PRISM 

software distribution. If the user followed step 3 of the installation instructions (see section 

―Installation of Software‖ of this report), the file will be located in ―C:\usgsprism\spectra\‖ on 

Windows computers and at ―/var/local/usgsprism/spectra/‖ on Linux computers.

Figure 80 shows the contents of this file listed in the ViewSPECPR control window. 

Records 21 to 75 are ASD spectra of Mylar, measured in single pass transmission. These records 

will be used to illustrate this function.
75

Listing showing ASD records to be averaged.

The user is first prompted to select the SPECPR data record that contains the wavelengths 

for the ASD spectra that will be averaged (fig. 81). Once the record is selected, press the ―Return 

Selected Wavelength Record‖ button.
76

Choosing the wavelength record for the records that will be averaged.

Second, the user is prompted to select the SPECPR data record that contains the bandpass 

(FWHM) for the ASD spectra that will be averaged (fig. 82). Once the record is selected, press 

the ―Return Selected FWHM Record‖ button.
77

Selecting the bandpass (FWHM) record for the records that will be averaged.

Next, the user is prompted to select the SPECPR data record(s) that contains the ASD 

spectra that will be averaged (fig. 83). Once the record(s) are selected, press the ―Return Selected 

Record Numbers‖ button. The user may scroll down to the desired record(s) using the scroll bar 

on the right. A single record may be selected by left-clicking on the record, or multiple records 

selected by choosing the first record and pressing and holding the Ctrl button when clicking on 

additional records. The user may scroll up or down the list before choosing additional records. A 

block of records may be selected by choosing the record at one end of the desired block and then 

pressing and holding the Shift button and selecting the record at the other end. The user may 

scroll up or down the list before choosing the other end of the record block. Make sure to choose 

records with the same number of channels as the selected wavelength and bandpass (FWHM)

records; otherwise the program will report an error and halt execution.
78

Selecting the data records to be averaged.

Next, the user is prompted to select an option for offset correction. If the data being 

averaged were collected using a spectrometer listed in the ASD instrument file, located at

―C:\usgsprism\asd.txt‖ on Windows computers and at ―/var/local/usgsprism/asd.txt‖ on Linux 

computers, and the ASD instrument number and calibration number are encoded in the header 

(as will be the case for spectra imported using PRISM’s ―Function 1.9.3 – Import ASD spectra‖) 

then the user is prompted to choose whether to proceed with or without offset correction (fig. 

84). Offset correction is made using multiplicative scaling factors applied to detectors 1 and 3, 

assuming that detector 2 is stable at either end of its wavelength range (details of the offset 

correction calculations are found in appendix D).
79

Prompt for detector offset correction.

Following the offset correction selection, the user is prompted to set the output title (fig.

85). The output title is limited to 40 characters. If the title exceeds 40 characters the user will be 

prompted that an error occurred and the output title should be re-entered.

Setting the output title for the record that will contain the average of ASD spectra.

After the output title has been accepted, the calculations for averaging of ASD spectra are 

made. Subsequently, offset correction, if selected, is performed. Next, the results are written to 

the end of the SPECPR file being viewed. After the records are written, a message indicating the 

successful completion of this function is displayed. Press ―OK‖ to dismiss the message. Next, the 

listing of the SPECPR file will refresh, with the new records appearing at the bottom of the 

listing. Figure 86 shows the end of the file listing of ―spd_example1‖, showing the records 

written during the averaging procedure. After the record containing the average spectrum (record 

284) is written, a record containing the standard deviation of the mean is written (record 290). 

After that, a record containing the standard deviation is written (record 296).
80

File listing after averaging of ASD spectra.

The header information of the average spectrum contains information about the source 

records used to compute the average and information about the offset correction and Spectralon 

correction options. By clicking on an averaged ASD spectrum, in this case, record 284, and then 

pressing the ―Show Header Info/Text/DESCRIPT Record‖ button, you can examine the 

information stored in the header of an averaged ASD record (fig. 87). If a GPS was connected to 

the ASD while collecting the spectra that were imported into SPECPR and subsequently 

averaged, the manual history will contain the average latitude and longitude coordinates of the 

input records, along with the GPS datum. If the GPS was not connected or not communicating 

with the ASD during spectral measurements, the datum value will be set to ―No GPS data‖ and 

the latitude and longitude values will be set to zero. Note: if the list of data records in the manual 

history exceeds the available space in the header of the record containing the average spectrum, 

the list of data records will be written to a text record following the standard deviation record. If 

the list of data records is long enough to prevent the writing of the average GPS position in the 
81

manual history of the record containing the average spectrum, the average position will be 

written to a text record following the data records generated by this function.

Header information for the average spectrum.

If the header information of the data being averaged does not contain an ASD instrument 

and calibration number or if the ASD instrument and calibration numbers do match any items 

listed in the ASD instrument file, located at ―C:\usgsprism\asd.txt‖ on Windows computers and 

at ―/var/local/usgsprism/asd.txt‖ on Linux computers, a prompt will appear (fig. 88) asking the 

user to select the offset correction option. If the proper spectrometer is listed, the user may select 

it, for example the ―653-12‖ option shown in figure 88. Alternatively, the user can opt to proceed 

using the detector splice values encoded in the header of the data records being averaged by 

selecting the ―ASD Spectrometer not listed, use splice values‖ option, or if this information is 

not encoded in the headers the user can proceed by selecting ―No Offset Correction‖. If the ASD 

spectra were imported using PRISM’s ―Function 1.9.3 – Import ASD spectra‖, then the detector 

splice keywords and values will be properly recorded in the header. Once the desired option is 

selected, the user should press ―OK‖ to proceed. If the splice values are found in the header of 

the lowest record number of the records selected to average, the program will prompt the user 

with the identified values. Next, the user will be prompted to set the output title (see fig. 85). 

Following that prompt, the program will average the spectra and create the output records.

Selecting the option for detector offset correction.
82

Note: if the ―asd.txt‖ file is not found in the default location, a warning message will be 

displayed to the user (fig. 89). Subsequently, the user will be prompted to choose from two 

options: using the splice values encoded in the data record header or proceeding without offset 

correction (fig. 90).

Message warning that the asd.txt file was not found.

Offset options when asd.txt file is not found.

If the user selects the ―No-Offset Correction‖ option, the program continues with a prompt for 

the user to set the output title (see fig. 85). If the user chooses to use the splice values in the 

record header, the program looks for the splice values. If the ASD spectra were imported using 

PRISM’s ―Function 1.9.3 – Import ASD spectra‖, then the detector splice keywords and values 

will be properly recorded in the header. If they are not found, the a message indicating this 

failure is displayed along with a question asking whether the user would like to proceed 

averaging spectra without offset correction (fig. 91). If the user presses ―No‖, the program 

execution will halt. If the user presses ―Yes‖, then the program continues with a prompt for the 

user to set the output title (see fig. 85). If the detector splice values are found in the header, a 

message showing the splice values is displayed and the program continues with a prompt for the 

user to set the output title (see fig. 85).
83

Options for program execution when detector splice information is not found.

Function 1.9.6.2 – Average and AbsRef ASD spectra

This function follows the same steps as Function 1.9.6.1 – Average ASD Spectra, with 

the exception that, after the selection of the bandpass (FWHM) record, the user is prompted to 

select the data record containing the Spectralon panel reflectance.

The example for this function uses ASD spectra measured in the field. These data are 

stored in the file ―spd_asdfield‖, which is included with the PRISM software distribution. If the 

default directory in step 3 of the installation instructions was used (see the ―Installation of 

Software‖ section of this report), this file will be located in ―C:\usgsprism\spectra\asd\‖ on 

Windows computers and in ―/var/local/usgsprism/spectra/asd/‖ on Linux computers. Records 25 

to 1519 in this file are ASD records of a dirt field used as a field calibration site for HyMap 

imaging spectrometer data (see the listing of the file in fig. 92).
84

Listing showing ASD records to be averaged and converted to absolute reflectance.

To start the function, click on the ―Average ASD spectra‖ item in the drop-down list of 

the ―Spectral Analysis‖ entry on the ViewSPECPR menu bar and select the ―Average and

AbsRef ASD spectra‖ item that appears (see fig. 79). The user is first prompted to select the 

SPECPR data record that contains the wavelengths for the ASD spectra that will be averaged 

(fig. 93). Once the record is selected, press the ―Return Selected Wavelength Record‖ button.
85

Choosing the wavelength record for the records that will be averaged.

Second, the user is prompted to select the SPECPR data record that contains the bandpass 

(FWHM) for the ASD spectra that will be averaged (fig. 94). Once the record is selected, press 

the ―Return Selected FWHM Record‖ button.
86

Selecting the bandpass (FWHM) record for the records that will be averaged.

Third, the user is prompted to select the SPECPR data record that contains the Spectralon 

reflectance record for the ASD spectra that will be averaged (fig. 95). Once the record is 

selected, press the ―Return Selected Record‖ button.
87

Selecting the Spectralon panel reflectance record for the ASD spectra that will be averaged.

Next, the user is prompted to select the SPECPR data records that contain the ASD 

spectra that will be averaged (fig. 96). Once the records are selected, press the ―Return Selected 

Record Numbers‖ button. The user may scroll down to the desired record(s) using the scroll bar 

on the right. A single record may be selected by left-clicking on the record, or multiple records 

selected by choosing the first record and pressing and holding the ―Ctrl‖ (control) button when 

clicking on additional records. The user may scroll up or down the list before choosing additional 

records. A block of records may be selected by choosing the record at one end of the desired 

block and then pressing and holding the Shift button and selecting the record at the other end. 

The user may scroll up or down the list before choosing the other end of the record block. Make 

sure to choose records with the same number of channels as the wavelength and bandpass 

(FWHM); otherwise the program will report an error and halt execution.
88

Selecting the data records to be averaged and corrected to absolute reflectance.

Next, the user is prompted to select an option for offset correction. If the data being 

averaged were collected using a spectrometer listed in the ASD instrument file, located at 

―C:\usgsprism\asd.txt‖ on Windows computers and at ―/var/local/usgsprism/asd.txt‖ on Linux 

computers, and the ASD instrument number and calibration number are encoded in the header 

(as will be the case for spectra imported using PRISM’s ―Function 1.9.3 – Import ASD spectra‖) 

then the user is prompted to proceed with or without offset correction (fig. 97). Offset correction 

is made using multiplicative scaling factors applied to detectors 1 and 3, assuming that detector 2 

is stable at either end of its wavelength range (details of the offset correction calculations are 

found in appendix D).
89

Prompt for detector offset correction.

Following the offset correction selection, the user is prompted to set the output title (for 

example, see fig. 85). The output title is limited to 40 characters. If the title exceeds 40 

characters the user will be prompted that an error occurred and the output title should be reentered. After the output title has been accepted, the calculations for averaging of ASD spectra 

are made. Subsequently, offset correction, if selected, is performed. Next, the results are written 

to the end of the SPECPR file being viewed. After the records are written, a message indicating 

the successful completion of this function is displayed. Press ―OK‖ to dismiss the message. Next, 

the listing of the SPECPR file will refresh, with the new records appearing at the bottom of the 

listing. Figure 98 shows the end of the file listing of ―spd_asdfield‖, showing the records written 

during the averaging procedure. After the record containing the averaged spectrum converted to

absolute reflectance (record 1526) is written, a record containing the standard deviation of the 

mean is written (record 1532). After that, a record containing the standard deviation is written 

(record 1538).
90

File listing after averaging and conversion to absolute reflectance of ASD spectra.

The header information of the average spectrum contains information about the source 

records used to compute the average and information about the offset correction and Spectralon 

correction options. By clicking on an averaged ASD spectrum, in this case, record 1526, and 

then pressing the ―Show Header Info/Text/DESCRIPT Record‖ button, you can examine the 

information stored in the header of an averaged ASD record (fig. 99). If a GPS was connected to 

the ASD while collecting the spectra that were imported into SPECPR and subsequently 

averaged, the manual history will contain the average latitude and longitude coordinates of the 

input records, along with the GPS datum. If the GPS was not connected or not communicating 

with the ASD during spectral measurements, the datum value will be set to ―No GPS data‖ and 

the latitude and longitude values will be set to zero. Note: if the list of data records in the manual 

history exceeds the available space in the header of the record containing the average spectrum, 

the list of data records will be written to a text record following the standard deviation record. If 

the list of data records is long enough to prevent the writing of the average GPS position in the 

manual history of the record containing the average spectrum, the average position will be 

written to a text record following the data records generated by this function.
91

Header information for the spectrum of the average, converted to absolute reflectance.

If the header information of the data being averaged does not contain an ASD instrument 

and calibration number or if the ASD instrument and calibration numbers do match any items 

listed in the ASD instrument file, located at ―C:\usgsprism\asd.txt‖ on Windows computers and 

at ―/var/local/usgsprism/asd.txt‖ on Linux computers, a prompt will appear (fig. 100) asking the 

user to select the offset correction option. If the proper spectrometer is listed, the user may select 

it, for example the ―653-12‖ option shown in figure 100. The user can opt to proceed using the 

detector splice values encoded in the header of the data records being averaged by selecting the 

―ASD Spectrometer not listed, use splice values‖ option, or if this information is not encoded in 

the headers the user can proceed by selecting the ―No Offset Correction‖. If the ASD spectra 

were imported using PRISM’s ―Function 1.9.3 – Import ASD spectra‖, then the detector splice 

keywords and values will be properly recorded in the header. Once the desired option is selected, 

the user should press ―OK‖ to proceed. If the splice values are found in the header of the lowest 

record number of the records selected to average, the program will prompt the user with the 

identified values. Next, the user will be prompted to set the output title (for an example of this 

step, see fig. 85). Following that prompt, the program will average the spectra and create the

output records.

Selecting the option for detector offset correction.

Note: if the ―asd.txt‖ file is not found in the default location, a warning message will be 

displayed to the user (fig. 101). Subsequently, the user will be prompted to choose from two 

options: using the splice values encoded in the data record header or proceeding without offset 

correction (fig. 102).
92

Message warning that the asd.txt file was not found.

Offset options when asd.txt file is not found.

If the user selects the ―No-Offset Correction‖ option, the program continues with a prompt for 

the user to set the output title (see fig. 85). If the user chooses to use the splice values in the 

record header, the program looks for the splice values. If the ASD spectra were imported using 

PRISM’s ―Function 1.9.3 – Import ASD spectra‖, then the detector splice keywords and values 

will be properly recorded in the header. If they are not found, then a message indicating this 

failure is displayed along with a question asking whether the user would like to proceed 

averaging spectra without offset correction (fig. 103). If the user presses ―No‖, the program 

execution will halt. If the user presses ―Yes‖, then the program continues with a prompt for the 

user to set the output title (see fig. 85). If the detector splice values are found in the header, a 

message showing the splice values is displayed and the program continues with a prompt for the 

user to set the output title (see fig. 85).

Options for program execution when detector splice information is not found.
93

Function 1.9.7 – Interpolate spectra

Interpolation of spectra is a method for converting data collected from one spectrometer 

to the wavelength set of another spectrometer. This method of conversion is valid when the 

spectrometers have similar bandpass (FWHM) characteristics, for example, when converting 

between different ASD spectrometers which have been evaluated and found to have slight 

differences in their sampling positions (see ―Function 2.17 – Wavelength/FWHM evaluation of 

ASD‖). PRISM uses IDL’s cubic spline interpolation routine ―spl_interp‖ (ITT Visual 

Information Solutions, 2009). If there are large differences between the bandpass (FWHM) 

characteristics of the two spectrometers, the measurement made on the high resolution 

spectrometer (smaller FWHM) should be convolved (see PRISM Function 1.9.8 – Convolve 

Spectra) to the low resolution spectrometer (larger FWHM).

In this example, two files, included with the PRISM software distribution, are used, the 

spectral library file ―splib06a‖ and an example file ―spd_example1‖. If the default directory in 

step 3 of the installation instructions was used (see the ―Installation of Software‖ section of this 

report), these files will be located in ―C:\usgsprism\spectra\‖ on Windows computers and in 

―/var/local/usgsprism/spectra/‖ on Linux computers.

When running the interpolation from within ViewSPECPR, the routine assumes that the 

input and output spectra are both in the file being viewed. In this example, that will not be the 

case, so some extra steps will be taken to change the SPECPR file when selecting the input 

wavelengths and input data records. With ―spd_example1‖ in the ViewSPECPR window, the 

user can start the interpolation process by pressing the ―Interpolate Spectra‖ option under the 

―Spectral Analysis‖ entry on the menu bar (fig. 104).
94

Default listing of file contents for the selection of the input wavelength record of the spectrum 

to be interpolated.

The user is first prompted to select the SPECPR data record that contains the wavelengths 

for the spectrum that will be interpolated; the default is to show the contents of the SPECPR file 

being viewed. By pressing the ―Select SPECPR File‖ button in the top left of the widget, the user 

can select a different SPECPR file, in this case, the ―spd_asdcalib‖ file. After selecting the 

―spd_asdcalib‖ file and then pressing the ―List Selected SPECPR File‖ button, the user can 

choose the wavelength record (fig. 105) and press ―Return Selected Wavelength Record‖.
95

Listing of new file containing the input wavelength record and the spectrum to be 

interpolated.

Next, the user is prompted to select the SPECPR data record that contains the spectrum 

that will be interpolated; again, the default is to show the contents of the SPECPR file being 

viewed. By pressing the ―Select SPECPR File‖ button in the top left of the widget, the user can 

select a different SPECPR file, in this case, the ―spd_asdcalib‖ file. After selecting that file and 

then pressing the ―List Selected SPECPR File‖ button, the user can choose the input data record 

to be interpolated (fig. 106) and press the ―Return Selected Record‖ button.
96

Selecting the spectrum to be interpolated.

Next, the user is prompted to choose the output wavelength record (fig. 107); this time 

the output wavelengths are in the file that was being viewed when the user started the 

interpolation function, in this case ―spd_example1‖, and there is no need to change the SPECPR 

file.
97

Selecting the output wavelength record.

Next, the user is prompted to set the output title for the interpolated spectrum (fig. 108). 

The output title is limited to 40 characters. If the title exceeds 40 characters the user will be 

prompted that an error occurred and the output title should be re-entered.

Setting the title for the record that will be interpolated.

Finally, the user is prompted to select the bandpass (FWHM) record to associate with the 

interpolated spectrum (fig. 109). In this case, the bandpasses are equivalent between the input 

and output spectrometers. However, if there are slight differences, the bandpass (FWHM) record 

of the input spectrometer should be interpolated to the new wavelengths before the data records 
98

are interpolated, and that interpolated bandpass should be associated with the data records that 

will be interpolated.

Selecting the bandpass (FWHM) record for the interpolated spectrum.

After the bandpass (FWHM) record is selected, the interpolation is performed. After the 

interpolated records are written, a message indicating the successful completion of this function 

is displayed. Press ―OK‖ to dismiss the message. The listing of the SPECPR file will refresh, 

with the new records appearing at the bottom of the listing. Figure 110 shows the interpolated 

record written to the end of the SPECPR file.
99

Selecting the bandpass (FWHM) record for the interpolated spectrum.

The header information of the interpolated spectrum contains information about the 

source data and input and output wavelength records. By clicking on an interpolated spectrum, in 

this case record 303, and then pressing the ―Show Header Info/Text/DESCRIPT Record‖ button, 

you can examine the information stored in the header of an interpolated record (fig. 111).
100

Header information for the interpolated spectrum.

Function 1.9.8 – Convolve spectra

When converting measurements made on one spectrometer to the sampling and bandpass 

(FWHM) characteristics of another, the measurement made on the high resolution spectrometer 

(smaller bandpass) should be convolved to the lower resolution spectrometer rather than 

interpolated. PRISM uses the SPECPR method of convolution (Clark, 1993), as described in 

Swayze (1997) and Swayze and others (2003). If there are only slight differences between the 

wavelength and bandpass (FWHM) characteristics of the two spectrometers, the spectra can be 

interpolated from one spectrometer to another (see PRISM’s ―Function 1.9.7 – Interpolate

Spectra‖).

There are three functions for convolving spectra (fig. 112). ―Function 1.9.8.1 – Convolve 

spectra with user-set output titles‖ allows the user the set the output title of each spectrum that is 

convolved. This is useful when convolving one or several spectra, but cumbersome when 

working with many spectra. ―Function 1.9.8.2 – Convolve spectra with automatic output titles‖ 

is designed for the convolution of many records. Instead of the user having to specify the output 

title of each convolved spectrum, the output title of a convolved spectrum is automatically set to 

the input title with the last five characters replaced with a space and the letters CONV, that is,

―CONV‖, to indicate it is a convolved record. ―Function 1.9.8.3 – Convolve spectra with 

automatic output titles – ALL RECORDS‖ is designed for convolving hundreds of spectra, for 

example, when convolving a USGS spectral library.
101

Initiating the convolution with user-set output titles.

Function 1.9.8.1 – Convolve spectra with user-set output titles

In this example, a file included with the PRISM software distribution is used

―spd_example3‖. This example file is included with the PRISM software distribution. If the user 

followed step 3 of the installation instructions (see section ―Installation of Software‖ of this 

report), the file will be located in ―C:\usgsprism\spectra\‖ on Windows computers and at 

―/var/local/usgsprism/spectra/‖ on Linux computers.

With ―spd_example3‖ in the ViewSPECPR window, the user can start the convolution 

process by pressing the ―Convolve Spectra‖ option under the ―Spectral Analysis‖ entry on the 

ViewSPECPR menu bar and choosing the ―Convolve Spectra with User-Set Output Titles‖ 

option (fig. 112).

The user is first prompted to select the SPECPR record that contains the wavelengths for 

the spectrum that will be convolved (fig. 113). In this example, a higher resolution spectrum 

measured on an ASD spectrometer (data record 21) will be convolved to the wavelength and 

bandpass (FWHM) of the HyMap imaging spectrometer, with instrument characteristics defined 
102

in the 2007 data collection season. After selecting the wavelength record of the input spectrum 

(record 8 in this example), press the ―Return Selected Wavelength Record‖ button.

Setting the wavelength record for the spectrum to be convolved with user-set output titles.

Second, the user is prompted to select the SPECPR record that contains the bandpass 

(FWHM) for the spectrum that will be convolved (fig. 114). After selecting the wavelength 

record of the input spectrum (record 14 in this example), press the ―Return Selected FWHM 

Record‖ button.
103

Setting the bandpass (FWHM) record for the spectrum to be convolved with user-set output 

titles.

Third, the user is prompted to select the SPECPR data record(s) that will be convolved 

(fig. 115). After selecting the records (record 21 in this example), press the ―Return Selected 

Record Numbers‖ button. The user may scroll down to the desired record(s) using the scroll bar 

on the right. A single record may be selected by left-clicking on the record, or multiple records 

selected by choosing the first record and pressing and holding the ―Ctrl‖ (control) button when 

clicking on additional records. The user may scroll up or down the list before choosing additional 

records. A block of records may be selected by choosing the record at one end of the desired 

block and then pressing and holding the Shift button and selecting the record at the other end. 

The user may scroll up or down the list before choosing the other end of the record block. Make 

sure to choose records with the same number of channels as the wavelength and bandpass 

(FWHM), otherwise the program will report an error and halt execution.
104

Setting the spectrum to be convolved with user-set output titles.

Fourth, the user is prompted to select the SPECPR record that contains the wavelengths 

of the spectrometer to which the input data will be convolved (fig. 116). In this example, a higher 

resolution spectrum measured on an ASD spectrometer (data record 21) is being convolved to 

the wavelength and bandpass (FWHM) of the HyMap imaging spectrometer, with instrument 

characteristics defined in the 2007 data collection season. After selecting the wavelength record 

of the output spectrometer (record 4 in this example), press the ―Return Selected Wavelength 

Record‖ button.
105

Setting the output wavelength record for the spectrometer to which the input data will be 

convolved, with user-set output titles.

Fifth, the user is prompted to select the SPECPR record that contains the bandpass 

(FWHM) of the spectrometer to which the input data will be convolved (fig. 117). After 

selecting the bandpass (FWHM) record of the output spectrometer (record 5 in this example), 

press the ―Return Selected FWHM Record‖ button.
106

Setting the output bandpass (FWHM) record for the spectrometer to which the input data will 

be convolved, with user-set output titles.

Next, the program convolves the spectrum. This could take a few seconds for convolution 

between spectrometers with only a few hundred channels or as long as many minutes for 

spectrometers with thousands of channels. During the convolution process, a plot window shows 

the results of each spectral convolution as it is completed (fig. 118), in which the original 

spectrum is plotted with a dotted line and the convolved spectrum is plotted with a solid line.
107

Plot window showing the input data being convolved, with user-set output titles.

Following the convolution, the user is prompted to set the output title (fig. 119). The 

output title is limited to 40 characters. If the title exceeds 40 characters the user will be prompted 

that an error occurred and the output title should be re-entered.

Setting the output title for the record that will contain the convolved spectrum.

After the output title is accepted, the program writes the output records to the end of the 

SPECPR file being viewed. After these records are written, a message indicating the successful 

completion of this function is displayed. Press ―OK‖ to dismiss the message. The listing of the 

SPECPR file will refresh, with the new records appearing at the bottom of the list. Figure 120

shows the end of the file listing of the example file, showing the records written during the 

convolution procedure. First, a text separator record of asterisks is written (record 29 in this 
108

example. Following that record, records containing information on the convolution procedure 

and input and output spectrometer characteristics, and wavelength and bandpass (FWHM) 

records are written (records 30-36 in this example). Following those records, a separator text 

record of dashes is written (record 37 in this example). Next, the convolved spectrum is written 

(record 38 in this example). Following the output spectrum, a text record containing the 

processing log is written (record 39 in this example). Finally, another separator record of 

asterisks is written to demarcate the end of the block of imported ASD spectra (record 40 in this 

example).

Records written after convolving a spectrum with user-set output titles.

The record header of the output convolved spectrum’s data record contains information 

on the convolution procedure (fig. 121).
109

Record header information for the convolved spectrum.

The subsequent text record containing the processing log gives additional details on the 

convolution procedure (fig. 122). In particular, the log identifies channels which were set to the 

SPECPR deleted point value (-1.23e+34). Channels in the output spectrometer that are beyond the 

wavelength range of the input spectrometer, or beyond the wavelength range of channels that 

contain valid data, are set to this deleted point value.

The contents of the text record containing the processing log information for the convolved 

spectrum.

Function 1.9.8.2 – Convolve spectra with automatic output titles

In this example, two files, included with the PRISM software distribution, are used, the 

spectral library file ―splib06a‖ and an example ―spd_example3‖. If the user followed step 3 of 

the installation instructions (see section ―Installation of Software‖ of this report), the files will be 

located in ―C:\usgsprism\spectra\‖ on Windows computers and at ―/var/local/usgsprism/spectra/‖ 

on Linux computers.

The spectra to be convolved are in ―splib06a‖. The spectrometer wavelength and 

bandpass (FWHM) records to which the spectrum will be convolved are in ―spd_example3‖. 

When running the convolution from ViewSPECPR, the program assumes that the input and 

output spectra are in the file being viewed. Since that is not the case in this example, some extra 
110

steps will be taken to change the SPECPR file when selecting the input wavelength, bandpass 

(FWHM), and data records. With ―spd_example3‖ in the ViewSPECPR window, the user can 

start the convolution process by pressing the ―Convolve Spectra‖ option under the ―Spectral 

Analysis‖ entry on the ViewSPECPR menu bar and choosing the ―Convolve Spectra with 

Automatic Output Titles‖ option (fig. 123).

Initiating the convolution with automatic output titles.

The user is first prompted to select the SPECPR data record that contains the wavelengths 

for the spectrum that will be convolved. By default, the window that appears for this selection

shows the contents of the SPECPR file being viewed (fig. 124).
111

The default file listing that appears when convolving spectra with automatic output titles.

By pressing the ―Select SPECPR File‖ button in the top left of the widget, the user can 

select a different SPECPR file, in this case, the ―splib06a‖ file. After selecting the SPECPR file, 

press the ―List Selected SPECPR File‖ button to show the contents of that file. The user can then 

select the wavelength record (fig. 125) that corresponds to the spectrum that will be convolved 

(in this example record 10) and press the ―Return Selected Wavelength Record‖ button.
112

Selecting the input spectrometer wavelength record from the new file listing during the 

convolution of spectra with automatic output titles.

Next, the user is prompted to select the SPECPR data record that contains the bandpass 

(FWHM) for the spectrum that will be convolved. As with the wavelength record selection, the 

default is to show the contents of the SPECPR file being viewed. By pressing the ―Select 

SPECPR File‖ button in the top left of the widget, the user can select a different SPECPR file, in 

this case, the ―splib06a‖ file. After selecting the SPECPR file, press the ―List Selected SPECPR 

File‖ button to show the contents of that file (fig. 126). The user can then select the bandpass 

(FWHM) record that corresponds to the spectrum that will be convolved (in this example record 

16) and press the ―Return Selected FWHM Record‖ button.
113

Selecting the input spectrometer bandpass (FWHM) record from the new file listing during 

the convolution of spectra with automatic output titles.

Next, the user is prompted to select the SPECPR data records that will be convolved. As 

with the wavelength record selection, the default is to show the contents of the SPECPR file 

being viewed. By pressing the ―Select SPECPR File‖ button in the top left of the widget, the user 

can select a different SPECPR file, in this case, the ―splib06a‖ file. After selecting the SPECPR 

file, press the ―List Selected SPECPR File‖ button to show the contents of that file (fig. 127).

The user may scroll down to the desired record(s) using the scroll bar on the right. A 

single record may be selected by left-clicking on the record, or multiple records selected by 

choosing the first record and pressing and holding the ‖Ctrl‖ (control) button when clicking on 

additional records. The user may scroll up or down the list before choosing additional records. A 

block of records may be selected by choosing the record at one end of the desired block and then 

pressing and holding the Shift button and selecting the record at the other end. The user may 

scroll up or down the list before choosing the other end of the record block. Make sure to choose 

records with the same number of channels as the wavelength and bandpass (FWHM), otherwise 

the program will report an error and halt execution. This example shows the selection of records 

28997, 29017, 29036, and 29055 (fig. 127). After selecting the desired record(s), press the 

―Return Selected Record Numbers‖ button.
114

Selecting the input records from the new file listing during the convolution of spectra with 

automatic output titles.

Subsequently, the user is prompted to select the SPECPR record that contains the 

wavelengths of the spectrometer to which the data will be convolved (fig. 128). In this example, 

higher resolution spectra measured on an ASD spectrometer are being convolved to the 

wavelength and bandpass (FWHM) of the HyMap imaging spectrometer, with instrument 

characteristics defined in the 2007 data collection season. After selecting the wavelength record 

of the output spectrometer (record 4 in this example), press the ―Return Selected Wavelength 

Record‖ button.
115

Setting the output wavelength record for the spectrometer to which the input data will be 

convolved, with automatic output titles.

Next, the user is prompted to select the SPECPR record that contains the bandpass 

(FWHM) of the spectrometer to which the input data will be convolved (fig. 129). After 

selecting the bandpass (FWHM) record of the output spectrometer (record 5 in this example), 

press the ―Return Selected FWHM Record‖ button.
116

Setting the output bandpass (FWHM) record for the spectrometer to which the input data will 

be convolved, with automatic output titles.

Next, the program convolves the spectra. For each spectrum, the calculation could take a 

few seconds, when using spectrometers with only a few hundred channels, or as long as many 

minutes, for spectrometers with thousands of channels. During the convolution process, a plot 

window shows the results of each spectral convolution as it is completed. After the final plot 

appears (fig. 130), the results are written to the SPECPR file being viewed and a window appears 

advising the user the routine completed successfully. Press ―OK‖ to dismiss the message. The 

listing of the SPECPR file will refresh, with the new records appearing at the bottom of the 

listing.
117

Plot window showing the input data being convolved, with automatic output titles.

Figure 131 shows the listing of the records that were written to the end of the SPECPR 

file being viewed. A separator text record of asterisks is written (record 41 in this example. 

Following that record, records containing information on the convolution procedure and input 

and output spectrometer characteristics, wavelength, and bandpass (FWHM) records (records 42-

48 in this example) are written. Following those records, a separator text record of dashes is 

written (record 49 in this example). Next, the first convolved spectrum is written (record 50 in 

this example) with the same output title as the input spectrum except the last five characters are 

replaced with a space and the letters CONV, that is, ― CONV‖, to indicate this is a convolved 

record. Following the convolved spectrum, a text record containing its processing log is written 

(record 51 in this example). Subsequently, each additional convolved record is written, followed 

by its processing log. Finally, a text separator record of asterisks is written to demarcate the end 

of the block of convolved spectra (record 58).
118

Records written after convolving a spectrum with automatic output titles.

The header information of a convolved spectrum contains information about the source 

data record and the input wavelength and bandpass (FWHM) records and output wavelength and 

bandpass (FWHM) records used to compute the convolved spectrum. By clicking on a convolved 

spectrum, in this case record 50, and then pressing the ―Show Header Info/Text/DESCRIPT 

Record‖ button, you can examine the information stored in the header of a convolved record (fig. 

132).
119

Record header information for a spectrum convolved with automatic output titles.

The processing log gives additional details on the convolution procedure (fig. 133), in 

particular, the channels which were set to the SPECPR deleted point value (-1.23e+34). Channels 

in the output spectrometer that are beyond the wavelength range of the input spectrometer, or 

beyond the wavelength range of channels that contain valid data, are set to this deleted point 

value.

Processing log information for a spectrum convolved with automatic output titles.

Function 1.9.8.3 – Convolve spectra with automatic output titles – ALL RECORDS

In this example, two files, included with the PRISM software distribution, are used, the 

spectral library file ―splib06a‖ and an example ―spd_example3‖. If the user followed step 3 of 

the installation instructions (see section ―Installation of Software‖ of this report), the files will be 

located in ―C:\usgsprism\spectra\‖ on Windows computers and at ―/var/local/usgsprism/spectra/‖ 

on Linux computers.

The spectra to be convolved are in ―splib06a‖. The spectrometer wavelength and 

bandpass (FWHM) records to which the spectrum will be convolved are in ―spd_example3‖. 

When running the convolution from ViewSPECPR, the program assumes that the input and 

output spectra are in the file being viewed. Since that is not the case in this example, some extra 

steps will be taken to change the SPECPR file when selecting the input wavelength, bandpass 

(FWHM), and data records. With ―spd_example3‖ in the ViewSPECPR window, the user can 

start the convolution process by pressing the ―Convolve Spectra‖ option under the ―Spectral 
120

Analysis‖ entry on the menu bar and choosing the ―Convolve Spectra with Automatic Output 

Titles – ALL RECORDS‖ option (fig. 134).

Initiating the convolution with automatic output titles – ALL RECORDS.

The user is first prompted to select the SPECPR data record that contains the wavelengths 

for the spectrum that will be convolved; the default is to show the contents of the SPECPR file 

being viewed (fig. 135). By pressing the ―Select SPECPR File‖ button in the top left of the 

widget, the user can select a different SPECPR file, in this case, the ―splib06a‖ file.
121

The default file listing that appears when convolving spectra with automatic output titles –

ALL RECORDS.

After selecting the SPECPR file, press the ―List Selected SPECPR File‖ button to show 

the contents of that file. The user can then select the wavelength record (fig. 136) that 

corresponds to the spectrum that will be convolved (in this example record 10) and press the 

―Return Selected Wavelength Record‖ button.
122

Selecting the input spectrometer wavelength record from the new file listing during the 

convolution of spectra with automatic output titles – ALL RECORDS.

Next, the user is prompted to select the SPECPR data record that contains the bandpass 

(FWHM) for the spectrum that will be convolved. As with the wavelength record selection, the 

default is to show the contents of the SPECPR file being viewed. By pressing the ―Select 

SPECPR File‖ button in the top left of the widget, the user can select a different SPECPR file, in 

this case, the ―splib06a‖ file. After selecting the SPECPR file, press the ―List Selected SPECPR 

File‖ button to show the contents of that file (fig. 137). The user can then select the bandpass 

(FWHM) record that corresponds to the spectrum that will be convolved (in this example record 

16) and press the ―Return Selected FWHM Record‖ button.
123

Selecting the input spectrometer bandpass (FWHM) record from the new file listing during 

the convolution of spectra with automatic output titles – ALL RECORDS.

Following the selection of the wavelength and bandpass (FWHM) records, the routine 

determines which data records, in the SPECPR file containing those records, have the same 

number of channels as the wavelength record. This step can take a minute or more for large 

SPECPR files. After the program has determined the data records that will be convolved, the 

user is prompted to select the SPECPR record that contains the wavelengths of the spectrometer 

to which the data will be convolved (fig. 138). In this example, higher resolution spectra 

measured on an ASD spectrometer are being convolved to the wavelength and bandpass 

(FWHM) of the HyMap imaging spectrometer, with instrument characteristics defined in 2007. 

After selecting the wavelength record of the output spectrometer (record 4 in this example), press 

the ―Return Selected Wavelength Record‖ button.
124

Setting the output wavelength record for the spectrometer to which the input data will be 

convolved, with automatic output titles – ALL RECORDS.

Next, the user is prompted to select the SPECPR record that contains the bandpass 

(FWHM) of the spectrometer to which the input data will be convolved (fig. 139). After 

selecting the bandpass (FWHM) record of the output spectrometer (record 5 in this example), 

press the ―Return Selected FWHM Record‖ button.
125

Setting the output bandpass (FWHM) record for the spectrometer to which the input data will 

be convolved, with automatic output titles – ALL RECORDS.

Next, the program convolves the spectra. For each spectrum, the calculation could take a 

few seconds, when using spectrometers with only a few hundred channels, or as long as many 

minutes, for spectrometers with thousands of channels. For a large SPECPR file, such as 

splib06a, this function could take several hours to complete. During the convolution process, a 

plot window shows the results of each spectral convolution as it is completed. When the last 

record is convolved, a window appears advising the user the routine completed successfully. 

Press ―OK‖ to dismiss the message. The listing of the SPECPR file will refresh, with the new 

records appearing at the bottom of the listing.

Figure 140 shows the listing of some of the records that were written to the SPECPR file 

being viewed. A separator text record of asterisks is written (record 59 in this example. 

Following that record, records containing information on the convolution procedure and input 

and output spectrometer characteristics, wavelength, and bandpass (FWHM) records (records 60-

66 in this example) are written. Following those records, a separator text record of dashes is 

written (record 67 in this example). Next, the first convolved spectrum is written (record 68 in 

this example) with the same output title as the input spectrum except the last five characters are 

replaced with a space and the word CONV, that is, ― CONV‖, to indicate this is a convolved 

record. Subsequently, each additional convolved record is written (records 68-372 in this 
126

example). After the listing of convolved records, a separator text record of asterisks is written to 

demarcate the end of the block of convolved spectra.

Records written after convolving spectra with automatic output titles – ALL RECORDS.

The record header of a convolved spectrum contains information about the source data 

record and the input wavelength and bandpass (FWHM) records and output wavelength and 

bandpass (FWHM) records used to compute the convolved spectrum. By clicking on a convolved 

spectrum, in this case record 68, and then pressing the ―Show Header Info/Text/DESCRIPT 

Record‖ button, you can examine the information stored in the header of a convolved record (fig. 

141).
127

Record header information for a spectrum convolved with automatic output titles – ALL 

RECORDS.

The processing logs are not written when using the ―ALL RECORDS‖ convolution 

option. For details on the processing logs generated during the convolution procedure, see the 

previous section of this report, ―Function 1.9.8.2 – Convolve spectra with automatic output 

titles‖.

Function 1.9.9 – Spectral arithmetic

These functions allow the user to perform simple math functions with spectra stored in 

SPECPR records (fig. 142).
128

Arithmetic functions for spectra.

Function 1.9.9.1 – Add two spectra (spec1 + spec2)

The addition of two spectra can be initiated by selecting the ―Add two spectra (spec1 + 

spec2)‖ option under the drop-down window that appears when the user clicks on the ―Spectral 

Arithmetic‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (fig. 142).

After starting the routine, the user is prompted to choose the first spectrum (fig. 143).
129

Selecting the first spectrum for the ―Add two spectra (spec1 + spec2)‖ function.

Next, the user is prompted to choose the second spectrum (fig. 144). The second 

spectrum should have the same number of channels as the first spectrum.
130

Selecting the second spectrum for the ―Add two spectra (spec1 + spec2)‖ function.

Next, the user is prompted to set the wavelength record pointer for the output record (fig.

145).

Selecting the wavelength record for the output spectrum of the ―Add two spectra (spec1 + 

spec2)‖ function.

If the input records for spectrum1 and spectrum2 have their wavelength pointers set, the 

prompt will include the option of setting the wavelength pointer of the output spectrum to one of

these records. Alternatively, the user may select another record interactively by choosing the last 
131

option. If the input records for spectrum1 and spectrum2 do not have their wavelength pointers 

set, the user is prompted to select the wavelength record from a listing of the SPECPR file being 

viewed.

Next, the user is prompted to set the bandpass (FWHM) record pointer for the output 

record (fig. 146). If the input records for spectrum1 and spectrum2 have their bandpass (FWHM) 

pointers set, the prompt will include the option of setting the bandpass (FWHM) pointer of the 

output spectrum to one of these records. Alternatively, the user may select another record 

interactively by choosing the last option. If the input records for spectrum1 and spectrum2 do not 

have their bandpass (FWHM) pointers set, the user is prompted to select the bandpass (FWHM) 

record from a listing of the SPECPR file being viewed.

Selecting the bandpass (FWHM) record for the output spectrum of the ―Add two spectra 

(spec1 + spec2)‖ function.

Next, the user is prompted to set the output title (fig. 147). The output title is limited to 

40 characters. If the title exceeds 40 characters the user will be prompted that an error occurred 

and the output title should be re-entered.

Setting the title for the output spectrum of the ―Add two spectra (spec1 + spec2)‖ function.

After the output title is accepted, the output spectrum is written and a message advising 

that the function has completed successfully appears (fig. 148). Click the ―OK‖ button to dismiss 

the message. The listing of the SPECPR file will refresh, with the new record appearing at the 

bottom of the listing.
132

Completion message of the ―Add two spectra (spec1 + spec2)‖ function.

Function 1.9.9.2 – Subtract two spectra (spec1 - spec2)

The subtraction of two spectra can be initiated by selecting the ―Subtract two spectra 

(spec1 - spec2)‖ option under the drop-down window that appears when the user clicks on the 

―Spectral Arithmetic‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar 

(see fig. 142). The program follows the same flow as ―Function 1.9.9.1 – Add two spectra (spec1 

+ spec2)‖.

Function 1.9.9.3 – Multiply two spectra (spec1 * spec2)

The multiplication of two spectra can be initiated by selecting the ―Multiply two spectra 

(spec1 * spec2)‖ option under the drop-down window that appears when the user clicks on the 

―Spectral Arithmetic‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar 

(see fig. 142). The program follows the same flow as ―Function 1.9.9.1 – Add two spectra (spec1 

+ spec2)‖.

Function 1.9.9.4 – Divide two spectra (spec1 / spec2)

The division of two spectra can be initiated by selecting the ―Divide two spectra (spec1 / 

spec2)‖ option under the drop-down window that appears when the user clicks on the ―Spectral 

Arithmetic‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see fig.

142). The program follows the same flow as ―Function 1.9.9.1 – Add two spectra (spec1 + 

spec2)‖.

Function 1.9.9.5 – Average spectra

The averaging of spectra can be initiated by selecting the ―Average spectra‖ option under 

the drop-down list that appears when the user clicks on the ―Spectral Arithmetic‖ item under the 

―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see fig. 142). In contrast to averaging 

ASD spectra (see Function 1.9.6), this function is generally applicable to spectra collected on 

any spectrometer. Therefore, this function does not perform offset correction or conversion to 

absolute reflectance.

The user is first prompted to select the SPECPR data record that contains the wavelengths 

for the spectra that will be averaged (fig. 149). Once the record is selected, press the ―Return 

Selected Wavelength Record‖ button.
133

Choosing the wavelength record for the spectra to be averaged.

Second, the user is prompted to select the SPECPR data record that contains the bandpass 

(FWHM) for the spectra that will be averaged (fig. 150). Once the record is selected, press the 

―Return Selected FWHM Record‖ button.
134

Selecting the bandpass (FWHM) record for the spectra to be averaged.

Next, the user is prompted to select the SPECPR data records that contain the spectra that 

will be averaged (fig. 151). The user may scroll down to the desired record(s) using the scroll bar 

on the right. Multiple records can be selected by choosing the first record and pressing and 

holding the ―Ctrl‖ (control) button when clicking on additional records. The user may scroll up 

or down the list before choosing additional records. A block of records may be selected by 

choosing the record at one end of the desired block and then pressing and holding the Shift 

button and selecting the record at the other end. The user may scroll up or down the list before 

choosing the other end of the record block. Make sure to choose records with the same number 

of channels as the wavelength and bandpass (FWHM), otherwise the program will report an error 

and halt execution. Once the records are selected, press the ―Return Selected Record Numbers‖ 

button.
135

Selecting the records for the spectra to be averaged.

Next, the user is prompted to set the output title (fig. 152). The output title is limited to 

40 characters. If the title exceeds 40 characters the user will be prompted that an error occurred 

and the output title should be re-entered.

Setting the title for the record that will contain the average spectrum.

After the output title is accepted, the output spectrum is written and a message advising 

that the function has completed successfully appears. Click the ―OK‖ button to dismiss the 

message. The listing of the SPECPR file will refresh, with the new record appearing at the 

bottom of the listing.
136

Function 1.9.10 – Constant arithmetic

These functions allow the user to perform simple math functions with a constant value 

applied to a spectrum stored in a SPECPR record (fig. 153). A constant value means a single, 

user-defined value that will be applied to each channel. The manner in which the value is applied

depends on the selected mathematical operator, for example, ―Function 1.9.10.1 – Add a 

constant to a spectrum (spec1 + constant)‖ will add a user-defined value to each channel of the 

spectrum.

Arithmetic functions for spectra and constant values.

Function 1.9.10.1 – Add a constant to a spectrum (spec1 + constant)

The addition of a constant value to a spectrum can be initiated by selecting the ―Add a 

constant to a spectrum (spec1 + constant)‖ option under the drop-down window that appears 

when the user clicks on the ―Constant Arithmetic‖ item under the ―Spectral Analysis‖ entry of 

the ViewSPECPR menu bar (fig. 153).

The user is prompted to choose the spectrum (fig. 154).
137

Selecting the spectrum for the ―Add a constant to a spectrum (spec1 + constant)‖ function.

Next, the user is prompted to set the constant value (fig. 155). A default value of 1.0 is 

present. The user may change this value to the desired number (see fig. 156).

Setting the constant value for the ―Add a constant to a spectrum (spec1 + constant)‖ 

function, default value of 1 is shown.
138

Edited constant value for the ―Add a constant to a spectrum (spec1 + constant)‖ function.

Next, the user is prompted to set the wavelength record pointer for the output record (fig.

157). If the input record for the spectrum has its wavelength pointer set, the prompt will include 

the option of setting the wavelength pointer of the output spectrum to this record. Alternatively, 

the user may select another record interactively by choosing the last option.

Selecting the wavelength record for the output spectrum of the ―Add a constant to a 

spectrum (spec1 + constant)‖ function.

Next, the user is prompted to set the bandpass (FWHM) record pointer for the output 

record (fig. 158). If the input record for the spectrum has its bandpass (FWHM) pointer set, the 

prompt will include the option of setting the bandpass (FWHM) pointer of the output spectrum to 

this record. Alternatively, the user may select another record interactively by choosing the last 

option.

Selecting the bandpass (FWHM) record for the output spectrum of the ―Add a constant to a 

spectrum (spec1 + constant)‖ function.
139

Next, the user is prompted to set the output title (fig. 159). The output title is limited to 

40 characters. If the title exceeds 40 characters the user will be prompted that an error occurred 

and the output title should be re-entered.

Setting the title for the output spectrum of the ―Add a constant to a spectrum (spec1 + 

constant)‖ function.

After the output title is accepted, the output spectrum is written and a message advising

that the function has completed successfully appears. Click the ―OK‖ button to dismiss the 

message. The listing of the SPECPR file will refresh, with the new record appearing at the 

bottom of the listing.

Function 1.9.10.2 – Subtract a constant from a spectrum (spec1 - constant)

The subtraction of a constant from a spectrum can be initiated by selecting the ―Subtract 

a constant from a spectrum (spec1 - constant)‖ option under the drop-down window that appears 

when the user clicks on the ―Constant Arithmetic‖ item under the ―Spectral Analysis‖ entry of 

the ViewSPECPR menu bar (see fig. 153). The program follows the same flow as ―Function 

1.9.10.1 – Add a constant to a spectrum (spec1 + constant)‖.

Function 1.9.10.3 – Multiply a spectrum by a constant (spec1 * constant)

The multiplication of a spectrum by a constant can be initiated by selecting the ―Multiply 

a spectrum by a constant (spec1 * constant)‖ option under the drop-down window that appears 

when the user clicks on the ―Constant Arithmetic‖ item under the ―Spectral Analysis‖ entry of 

the ViewSPECPR menu bar (see fig. 153). The program follows the same flow as ―Function 

1.9.10.1 – Add a constant to a spectrum (spec1 + constant)‖.

Function 1.9.10.4 – Divide a spectrum by a constant (spec1 / constant)

The division of a spectrum by a constant can be initiated by selecting the ―Divide a

spectrum by a constant (spec1 / constant)‖ option under the drop-down window that appears 

when the user clicks on the ―Constant Arithmetic‖ item under the ―Spectral Analysis‖ entry of 

the ViewSPECPR menu bar (see fig. 153). The program follows the same flow as ―Function 

1.9.10.1 – Add a constant to a spectrum (spec1 + constant)‖.

Function 1.9.10.5 – Subtract a spectrum from a constant (constant - spec1)

The subtraction of a spectrum from a constant can be initiated by selecting the ―Subtract 

a spectrum from a constant (constant - spec1)‖ option under the drop-down window that appears 

when the user clicks on the ―Constant Arithmetic‖ item under the ―Spectral Analysis‖ entry of 
140

the ViewSPECPR menu bar (see fig. 153). The program follows the same flow as ―Function 

1.9.10.1 – Add a constant to a spectrum (spec1 + constant)‖.

Function 1.9.11 – Line segment of constant value

This function allows the user to make a spectrum in which all channels have the same 

constant value. The function can be initiated by selecting the ―Line segment of constant value‖ 

option under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see fig. 53). The 

number of channels in the output spectrum will be dependent on the wavelength record that the 

user associates with the spectrum in the second step of the program.

First, the user is prompted to set the constant value (fig. 160). A default value of 1.0 is 

present. The user may change this value to the desired number (fig. 161).

Setting the constant value for the ―Add Line segment of constant value‖ function, default 

value of 1 is shown.

Edited constant value for the ―Line segment of constant value‖ function.

Next, the user is prompted to select the SPECPR record that contains the wavelengths for 

the spectrum that will be generated (fig. 162). Once the record is selected, press the ―Return 

Selected Wavelength Record‖ button.
141

Choosing the wavelength record for the line segment to be generated.

Next, the user is prompted to select the SPECPR record that contains the bandpass 

(FWHM) for the spectrum that will be generated (fig. 163). Once the record is selected, press the 

―Return Selected FWHM Record‖ button. However, since this is not a measured spectrum, the 

user may either choose the bandpass (FWHM) record associated with the wavelength record (fig.

163) or the user may opt to press the ―Cancel Record Selection‖ button and not set the bandpass 

(FWHM) pointer.
142

Selecting the bandpass (FWHM) record for the spectra to be averaged.

Next, the user is prompted to set the output title (fig. 164). The output title is limited to 

40 characters. If the title exceeds 40 characters the user will be prompted that an error occurred 

and the output title should be re-entered.

Setting the title for the output spectrum of the ―Line segment of constant value‖ function.

After the output title is accepted, the output spectrum is written and a message advising 

that the function has completed successfully appears. Click the ―OK‖ button to dismiss the 

message. The listing of the SPECPR file will refresh, with the new record appearing at the 

bottom of the listing.
143

Function 1.9.12 – Edit a SPECPR record header

These functions allow the user to edit the header information of a SPECPR record, 

including the spectrum’s title, wavelength record pointer, and bandpass (FWHM) record pointer

(fig. 165).

Functions for editing the header information of a SPECPR record.

As a precaution, each time one of these functions is used, a backup copy of the SPECPR 

file being edited is created. It is saved in the same directory as the SPECPR file, with the 

following naming convention:

Backup File = ―.‖+ <SPECPR filename> +‖_backup_‖+YYYYmmmDD_HH_MM_SS

where,

<SPECPR filename> is the name of the SPECPR file being edited

YYYY is the year, for example 2009

mmm is the three letter abbreviation for the month, for example Nov for November

DD is the day of the month, for example 24
144

HH is the hour of the current system time, on a 24 hour clock, for example 10 for 10 a.m.

and 14 for 2 p.m.

MM is the minute of the current system time

SS is the second of the current system time

Function 1.9.12.1 – Change record title

This function allows the user to change a spectrum’s title by editing the SPECPR record 

header information. The program can be initiated by selecting the ―Change record title‖ option 

under the drop-down window that appears when the user clicks on the ―Edit a SPECPR record 

header‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see fig. 165).

First, the user is prompted to select the record to edit (fig. 166). Once the record is 

selected, press the ―Return Selected Record‖ button.

Selecting the record to edit.

Next the user is advised that the selected record will be edited (fig. 167); at this point the 

user may press ―Cancel‖ to stop the routine.
145

Information message that the record title is being changed.

Next the user is prompted to edit the existing title (fig. 168). The title is limited to 40 

characters. If the title exceeds 40 characters the user will be prompted that an error occurred and 

the output title should be re-entered. The user may press ―Cancel‖ to stop the routine.

Prompt to edit the title.

After the title has been edited (fig. 169), press ―OK‖ to continue.

The edited title.

After the title has been accepted, the user is once again prompted to confirm the wish to 

change the SPECPR file (fig. 170). Press ―Yes‖ to continue.
146

Confirmation message that the user wishes to change the record title.

Next the program makes a backup copy of the SPECPR file before changing the record’s title. 

The backup file follows naming convention described previously. In this case, the backup file for

―C:\usgsprism\spectra\spd_example1‖ is 

―C:\usgsprism\spectra\.spd_example1_backup_2009Nov24_10_51_36‖. The ―.‖ at the beginning 

of the filename can indicate to the system that the file is a ―hidden‖ file and the user may have to 

alter the system settings to see this file in the listing of the folder’s contents. After the backup 

copy has been made and the SPECPR file is edited to change the title, a message advising that 

the function has completed successfully appears (fig. 171). Click the ―OK‖ button to dismiss the 

message. The listing of the SPECPR file will refresh.

Message advising the user that the title has been changed.

Function 1.9.12.2 – Change record title to "DO NOT USE THIS RECORD"

This function allows the user to change a spectrum’s title to ―DO NOT USE THIS 

RECORD‖. The program can be initiated by selecting the ―Change record title to DO NOT USE 

THIS RECORD‖ option under the drop-down window that appears when the user clicks on the 

―Edit a SPECPR record header‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR

menu bar (see fig. 165).

First, the user is prompted to select the record to edit (fig. 172). Once the record is 

selected, press the ―Return Selected Record‖ button.
147

Selecting the record to edit, changing the title to ―DO NOT USE THIS RECORD‖.

Next the user is advised that the selected record will be edited (fig. 173); at this point the 

user may press ―Cancel‖ to stop the routine.

Information message that the record title is being changed.

The user is prompted to confirm the wish to change the title of the SPECPR record to 

―DO NOT USE THIS RECORD‖ (fig. 174). Press ―Yes‖ to continue.
148

Confirmation message that the user wishes to change the record title to ―DO NOT USE THIS 

RECORD‖.

Next the program makes a backup copy of the SPECPR file before changing the record’s 

title. The backup file follows the naming convention described previously. In this case, the 

backup file for ―C:\usgsprism\spectra\spd_example1‖ is 

―C:\usgsprism\spectra\.spd_example1_backup_2009Nov24_11_02_08‖. The ―.‖ at the beginning 

of the filename may indicate to the system that the file is a ―hidden‖ file, in which case, the user 

may have to alter the system settings to see this file in the listing of the folder’s contents. Note: 

because the backup filename changes with the current time, it will differ from previous backup 

files. Therefore, previous backup files are not overwritten.

After the backup copy has been made and the SPECPR file is edited to change the title, a 

message advising that the function has completed successfully appears (fig. 175). Click the 

―OK‖ button to dismiss the message. The listing of the SPECPR file will refresh.

Message advising the user that the title has been changed.

Function 1.9.12.3 – Change pointer to wavelength record

This function allows the user to change the spectrum’s pointer to the wavelength record. 

The program can be initiated by selecting the ―Change pointer to wavelength record‖ option 

under the drop-down window that appears when the user clicks on the ―Edit a SPECPR record 

header‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see fig. 165).

First, the user is prompted to select the record to edit (fig. 176). Once the record is 

selected, press the ―Return Selected Record‖ button.
149

Selecting the record to edit, changing the pointer to the wavelength record.

Next, the user is prompted to choose the new wavelength record to associate with the 

edited spectrum (fig. 177).
150

Selecting the wavelength record to associate with the edited record.

The user is prompted to confirm the wish to edit the SPECPR file, changing the pointer to 

the wavelength record (fig. 178). Press ―Yes‖ to continue.

Confirmation message that the user wishes to change the pointer to the wavelength record.
151

Next the program makes a backup copy of the SPECPR file before changing the record’s 

wavelength pointer. The backup file follows the naming convention described previously. In this 

case, the backup file for ―C:\usgsprism\spectra\spd_example1‖ is 

―C:\usgsprism\spectra\.spd_example1_backup_2009Nov24_13_07_40‖. The ―.‖ at the beginning 

of the filename may indicate to the system that the file is a ―hidden‖ file, in which case, the user 

may have to alter the system settings to see this file in the listing of the folder’s contents. Note: 

because the backup filename changes with the current time, it will differ from previous backup 

files. Therefore, previous backup files are not overwritten.

After the backup copy has been made and the SPECPR file is edited to change the 

wavelength pointer, a message advising that the function has completed successfully appears 

(fig. 179). Click the ―OK‖ button to dismiss the message.

Message advising the user that the wavelength pointer has been changed.

Function 1.9.12.4 – Change pointer to FWHM record

This function allows the user to change a spectrum’s pointer to the bandpass (FWHM) 

record. The program can be initiated by selecting the ―Change pointer to FWHM record‖ option 

under the drop-down window that appears when the user clicks on the ―Edit a SPECPR record 

header‖ item under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see fig. 165).

First, the user is prompted to select the record to edit (fig. 180). Once the record is 

selected, press the ―Return Selected Record‖ button.
152

Selecting the record to edit, changing the pointer to the FWHM record.

Next, the user is prompted to choose the new bandpass (FWHM) record to associate with 

the edited spectrum (fig. 181).
153

Selecting the bandpass (FWHM) record to associate with the edited record.

The user is prompted to confirm the wish to edit the SPECPR file, changing the pointer to 

the bandpass (FWHM) record (fig. 182). Press ―Yes‖ to continue.

Confirmation message that the user wishes to change the pointer to the bandpass (FWHM) 

record.
154

Next the program makes a backup copy of the SPECPR file before changing the record’s 

bandpass (FWHM) pointer. The backup file follows naming convention described previously. In 

this case, the backup file for “C:\usgsprism\spectra\spd_example1” is 

“C:\usgsprism\spectra\.spd_example1_backup_2009Nov24_13_18_04”. The “.” at the beginning 

of the file may indicate to the system that the file is a “hidden” file, in which case, the user may 

have to alter the system settings to see this file in the listing of the folder’s contents. Note: 

because the backup filename changes with the current time, it will differ from previous backup 

files. Therefore, previous backup files are not overwritten. 

After the backup copy has been made and the SPECPR file is edited to change the 

bandpass (FWHM) pointer, a message advising that the function has completed successfully 

appears (fig. 183). Click the “OK” button to dismiss the message. The listing of the SPECPR file 

will refresh. 

 Message advising the user that the bandpass (FWHM) pointer has been changed.

Function 1.9.13 – Export SPECPR Records to ENVI Spectral Library 

This function allows the user to export spectra stored in a SPECPR file to an ENVI 

spectral library file. The output ENVI spectral library file will be created during the program 

execution. The function can be initiated by selecting the “Export SPECPR Records to ENVI 

Spectral Library” option under the “Spectral Analysis” entry of the ViewSPECPR menu bar (see 

fig. 53).

First, the user is prompted to select the wavelength record that is associated with the 

spectra to export (fig. 184). Press “Return Selected Wavelength Record” after choosing the 

record. 
155

Selecting the wavelength record that is associated with the spectra to export to an ENVI 

spectral library.

Next, the user is prompted to select the bandpass (FWHM) record that is associated with 

the spectra to export (fig. 185). Press ―Return Selected FWHM Record‖ after choosing the 

record.
156

Selecting the bandpass (FWHM) record that is associated with the spectra to export to an 

ENVI spectral library.

Next, the user is prompted to select the spectra to export (fig. 186). Press ―Return 

Selected Record Numbers‖ after choosing the record(s). The user may scroll down to the desired 

record(s) using the scroll bar on the right. Multiple records can be selected by choosing the first 

record and pressing and holding the ―Ctrl‖ (control) button when clicking on additional records. 

The user may scroll up or down the list before choosing additional records. A block of records 

may be selected by choosing the record at one end of the desired block and then pressing and 

holding the Shift button and selecting the record at the other end. The user may scroll up or down 

the list before choosing the other end of the record block. Make sure to choose records with the 

same number of channels as the wavelength and bandpass (FWHM), otherwise the program will 

report an error and halt execution.
157

Selecting the spectra to export to an ENVI spectral library.

Next, the user is prompted to set the output ENVI spectral library filename (fig. 187). The 

user should include the ―.sli‖ extension at the end of the filename because ENVI expects this 

extension to be present at the end of spectral library filenames.

Setting the filename for the ENVI spectral library.
158

Next, the user is prompted to set the wavelength units (fig. 188). Press ―OK‖ after 

choosing the appropriate unit.

Setting the wavelength units for the ENVI spectral library file.

Next, the user is prompted to set the reflectance scale factor (fig. 189). Press ―OK‖ after 

setting the value.

Setting the reflectance scale factor for the ENVI spectral library file.

After the ENVI spectral library is created, a message advising that the function has 

completed successfully appears (fig. 190). Click the ―OK‖ button to dismiss the message. The 

listing of the SPECPR file will refresh.

Message advising the user that the ENVI spectral library file has been created.

The file will appear in the ENVI available bands list (fig. 191).
159

The newly created ENVI spectral library file listed in the ENVI available bands list.

The contents of the ENVI spectral library file containing the exported records may be 

listed in ENVI using the ―Spectral Library Viewer‖ of ENVI (fig. 192). By clicking on the titles, 

the user can plot the spectra (fig. 193).
160

The contents of the newly created ENVI spectral library listed using the ―Spectral Library 

Viewer‖ function of ENVI.

Spectra from the newly created ENVI spectral library.
161

Note that the header of the ENVI spectral library file has the data ignore value set to the 

SPECPR deleted point value of -1.23e+34. Thus, any channel that contains this data value is not 

plotted in ENVI.

Function 1.9.14 – Import ENVI Spectral Library

This function allows the user to import spectra stored in an ENVI spectral library file to 

the SPECPR file being viewed. The function can be initiated by selecting the ―Import ENVI 

Spectral Library‖ option under the ―Spectral Analysis‖ entry of the ViewSPECPR menu bar (see 

fig. 53).

First, the user is prompted to select the ENVI spectral library file (fig. 194). After 

selecting the file, press ―Open‖ to continue the program.

Selecting the ENVI spectral library file to be imported into the SPECPR file being viewed.

After the spectra in the ENVI spectral library are imported, a message advising that the 

function has completed successfully appears (fig. 195). Click the ―OK‖ button to dismiss the 

message. The listing of the SPECPR file will refresh with imported spectra at the bottom of the 

listing.

Message advising the user that the ENVI spectral library file has been imported.
162

The imported spectra appear at the end of the listing of the SPECPR file being viewed 

(fig. 196). Before the imported spectra are written, several records are written. First, a text 

separator record of asterisks (record 394) is written. Next, a text record with a title indicating the 

following spectra were imported from ENVI (record 395) is written. Next, a text separator record 

of dashes (record 396) is written. Then, a data record containing the wavelength values found in 

the ENVI header to the spectral library file (record 397) is written. Then, a data record 

containing the bandpass (FWHM) values found in the ENVI header to the spectral library file 

(record 398) is written. Note: if the bandpass (FWHM) values are not set in the header of the

ENVI spectral library file, then this record will not be created. After these records, the data 

records containing the spectra from the ENVI spectral library are written (records 399 to 412). 

Finally, another text separator record of asterisks (record 413) is written to demarcate the end of 

the block of records generated from the importation of an ENVI spectral library.

Records written after importing an ENVI spectral library.
163

The record headers of the wavelength and data records contain additional information on 

the source file of the imported spectra. To view, select the record and press the ―Show Header 

Info/Text/DESCRIPT of Record‖. Figure 197 shows the header information in the wavelength 

record written in this example. The last two lines of the header information give the input ENVI 

spectral library filename and directory location.

Header information in the wavelength record written when importing an ENVI spectral 

library.

As noted in the function’s description, if the bandpass (FWHM) values are not set in the 

header of the ENVI spectral library file, then this record will not be created and the imported 

spectra will not have their pointers set to a bandpass (FWHM) record. This could be problematic 

if the spectra will be compared with spectra measured on other spectrometers, as the 

interpolation and convolution functions require bandpass (FWHM) information. Thus, if the 

bandpass (FWHM) values are not set in an ENVI spectral library file, but these values are 

known, it is best to set these values in the ENVI header before importing the ENVI spectral 

library. Otherwise, later, the user may need to separately import the bandpass (FWHM) values 

into a SPECPR record and use ―Function 1.9.12.4 – Change pointer to FWHM record‖ to set the 

bandpass (FWHM) pointers for records that do not have that pointer set.

Function 1.10 – Viewing the “Help file”

The ―Help file‖ (this document) can be opened by clicking on the ―Help‖ menu item at 

the top of the ViewSPECPR control window (see fig. 4) and choosing the ―Help on PRISM‖ 

option that appears. Select the ―PRISM_help.htm‖ document. If the user followed the 

instructions in the ―Installation of Software‖ section of this report, the help file will be located at 

―C:\usgsprism\PRISM_help.htm‖ on Windows computers and at

―/var/local/usgsprism/PRISM_help.htm‖. An internet browser window should appear with an 

HTML version of this report. If a Web browser fails to launch when attempting to view the help 

file, the user should consult their ENVI/IDL User’s Guide.
164

Function 1.11 – Quitting the ViewSPECPR program

The program can be closed by clicking on the ―File‖ menu entry in the top left corner of 

the ViewSPECPR control window (see fig. 2) and choosing the ―Quit‖ option that appears. Note: 

The main widget and all plot windows and text information boxes will automatically close when 

quitting the program. However, continuum removal iPlot windows, continuum removal interface 

GUIs, and DESCRIPT windows will not automatically close.

iPlot Functions

This section describes some selected functions of the iPlot tool in ENVI/IDL that may be 

useful when working with plots produced from ViewSPECPR. For comprehensive information 

on the iPlot tool, consult the documentation provided with your installed ENVI/IDL version.

Export plot to encapsulated PostScript and other image formats

This feature of iPlot allows the user to export the contents of the plot window to an 

encapsulated PostScript (.eps) file. The advantage offered by the use of this function is that the 

individual vector elements of the plot (such as the font of the title, the thickness of the x-axis, or 

the color of the plot line) can be manipulated when the eps file is imported into a program such 

as Adobe Illustrator©. To start the export process, click the ―Save as‖ option under the file menu 

of the iPlot window (fig. 198).
165

Exporting the plot to an encapsulated PostScript file.

In the window that appears, choose encapsulated PostScript (.eps) as the type to save, set the 

output title (fig. 199), and press save to create the PostScript file. Alternatively, the user could 

choose one of the image formats, for example JPEG, in which to save the plot.
166

Exporting the plot to an encapsulated PostScript file – step 1.

Module 2. Spectral Analysis Functions

A variety of functions for importing/exporting data to/from SPECPR files, managing and 

editing SPECPR records, and applying arithmetic, convolution and interpolation functions to 

spectra stored in SPECPR data records can be accessed from the ―Spectral Analysis‖ item in the 

PRISM list of modules (fig. 200). Many of these routines are the same as those accessed from 

the ―Spectral Analysis‖ menu item of the ViewSPECPR Module (see the ―Function 1.9 –

ViewSPECPR spectral analysis functions‖ section of this report). The essential difference 

between the use of the routines from the ―Spectral Analysis‖ item in the PRISM drop-down list, 
167

compared to their use from within the ViewSPECPR module, is that the routines invoked from 

within the ViewSPECPR module assume that the input/output SPECPR file is the one that is 

being viewed. Thus, the routines, when invoked from the ―Spectral Analysis‖ item in the PRISM 

drop-down list, prompt the user to select the input and output SPECPR files.

Spectral analysis functions available under the PRISM menu item.

Function 2.1 – Create a new SPECPR file

This function allows the user to create a new SPECPR file, to which two records are 

added. The first record added is a text record, containing some default information on the file’s 

creation. The user is prompted to enter additional information to store in this record, if desired. 

The second record is a text separator record of asterisks.

The function can be initiated by selecting the ―Create a New SPECPR File‖ option under 

the ―Spectral Analysis‖ module of the ―PRISM‖ menu entry on the main ENVI menu bar (fig.

200). The user is first prompted to set the directory location and filename of the SPECPR file to 

create (fig. 201).
168

Setting the name of the SPECPR file to create.

Next, a window appears with some default text to store in the first record (fig. 202).

Default information to store in the text record when creating a SPECPR file.

The user may edit this text or add text (fig. 203).
169

Adding information to the text record when creating a SPECPR file.

Once the text is entered as desired, press the ―Accept Entered Text‖ button to continue 

the program. Next, the program creates the SPECPR file and writes this text record. 

Subsequently, a text separator record of asterisks is added to the file. Next, a message indicating 

the successful completion of the program is displayed. Press ―OK‖ to dismiss the window. Now 

that the SPECPR file has been created, the user can list its contents (see the Module 1. 

ViewSPECPR section of this report, in particular ―Function 1.1 – Listing the contents of a 

SPECPR file‖) to examine the text record (record 1) and the separator record (record 2) that were 

written to the newly created file (fig. 204
170

Listing the contents of the newly created SPECPR file.

Function 2.2 – Create a new SPECPR file for ASD spectra

This function allows the user to create a new SPECPR file for ASD spectra. The 

difference between this function and ―Function 2.1 – Create a new SPECPR file‖ is that it allows 

the user to add wavelength, bandpass (FWHM), and Spectralon reflectance records for an ASD 

spectrometer. These records will be transferred from an existing SPECPR file and may have 

been created with ―Function 2.17 – Wavelength/FWHM evaluation of ASD‖. All types of spectra 

can be stored in any SPECPR file; however, this function sets up the basic records needed for 

ASD spectra at the beginning of the SPECPR file.

The SPECPR file created with this function will contain a text record, a text separator

record of asterisks, the records containing the wavelength, bandpass (FWHM), and Spectralon 

reflectance records for an ASD spectrometer, and, finally, another text separator record of 

asterisks.

The function can be initiated by selecting the ―Create a New SPECPR File for ASD 

spectra‖ option under the ―Spectral Analysis‖ module of the ―PRISM‖ menu entry on the main 

ENVI menu bar (see fig. 200). The user is first prompted to set the directory location and 

filename of the SPECPR file to create (fig. 205).
171

Setting the name of the SPECPR file to create for ASD spectra.

Next, a window appears with some default text to store in the first record (fig. 206).

Default information to store in the text record when creating a SPECPR file for ASD spectra.

The user may edit this text or add text (fig. 207).
172

Adding information to the text record when creating a SPECPR file for ASD spectra.

Once the text is entered as desired, press the ―Accept Entered Text‖ button to continue 

the program. At this point, the SPECPR file is created and the text and separator records are 

written. The user is then prompted to choose the SPECPR file containing the ASD wavelength, 

bandpass (FWHM), and Spectralon reflectance records to transfer into the new SPECPR file (fig. 

208).

Selecting the SPECPR file containing the ASD wavelength, bandpass (FWHM), and 

Spectralon reflectance records to transfer into the new SPECPR file.

Next, the user is prompted to select the records to transfer (fig. 209), that is, the records 

containing the ASD wavelength, bandpass (FWHM), and Spectralon reflectance. The user may 

scroll down to the desired records using the scroll bar on the right. Multiple records can be 

selected by choosing the first record and pressing and holding the ―Ctrl‖ (control) button when 

clicking on additional records. The user may scroll up or down the list before choosing additional 

records. A block of records may be selected by choosing the record at one end of the desired 
173

block and then pressing and holding the Shift button and selecting the record at the other end. 

The user may scroll up or down the list before choosing the other end of the record block.

Selecting the ASD wavelength, bandpass (FWHM), and Spectralon reflectance records to 

transfer into the new SPECPR file.

Press the ―Return Selected Record Numbers‖ button to continue the program. The spectra 

are transferred into the newly created SPECPR file. Next, a text separator record of asterisks is 

written. Finally, a message advising the user that the function has completed successfully 

appears (fig. 210). Click the ―OK‖ button to dismiss the message.

Message advising the user that the SPECPR file for ASD spectra was created.
174

Now that the SPECPR file has been created, the user can view its contents (see the 

Module 1. ViewSPECPR section of this report, in particular ―Function 1.1 – Listing the contents 

of a SPECPR file‖) to examine the text record and the separator record that were written to the 

newly created file (fig. 211

Listing the contents of the newly created SPECPR file for ASD spectra.

Function 2.3 – Write text record

To start the function, click on the ―Write text record‖ item in the drop-down list of the 

―Spectral Analysis‖ item listed under the PRISM entry of the ENVI menu bar (see fig. 200).

First, the user is prompted to select the SPECPR file to which the text record will be 

written (fig. 212). Once the file is selected, press ―Open‖ to continue the program. Subsequently, 

this function follows the same steps in the ―Function 1.9.1 – Write a text record‖ section of this 

report.
175

Selecting a SPECPR file for adding a text record.

Function 2.4 – Write separator record

These functions provide a convenient way to write text records that have titles of all 

asterisks (*) or all dashes (-). These are simply used to mark divisions between blocks of spectra

or data. For example, figure 4 shows three such records before and after the data records that 

contain the wavelengths and bandpass (FWHM) of the spectrometers in the USGS splib06a 

spectral library. Also, between the records of each sample material in that library, separator 

records of dashes are used (see fig. 4).

Function 2.4.1 – Separator of asterisks *****

To start the function, click on the ―Write separator record‖ item in the drop-down list of 

the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see fig. 

200). Select the ―Separator of asterisks *****‖ item from the list that appears.

When this function is selected, a text record with a title of 40 asterisks (*) is written to a 

SPECPR file. The user is first prompted to select the SPECPR file to which the text separator 

record will be written (see fig. 212). Press ―Open‖ to continue the program. After selecting the 

SPECPR file, the separator record is written and a message indicating the successful writing of 

this record is displayed. Press ―OK‖ to dismiss this window.

Function 2.4.2 – Separator of dashes -----

To start the function, click on the ―Write separator record‖ item in the drop-down list of 

the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry on the ENVI menu bar (see fig. 

200). Select the ―Separator of dashes -----‖ item from the list that appears.

When this function is selected, a text record with a title of 40 dashes (-) is written to a 

SPECPR file. The user is first prompted to select the SPECPR file to which the text separator 

record will be written (see fig. 212). Press ―Open‖ to continue the program. After selecting the 
176

SPECPR file, the separator record is written and a message indicating the successful writing of 

this record is displayed. Press ―OK‖ to dismiss this window.

Function 2.5 – Import ASD binary files into a SPECPR file

This function allows the user to import spectra collected using ASD full range 

spectrometers. Full range refers to spectrometers that produce spectra with 2151 channels with 1 

nm (0.001 m) sampling increments, starting at the wavelength of 350 nm (0.35 m) and ending 

at 2500 nm (2.5m). In PRISM, these are considered to be the default wavelengths of ASD 

spectra. Thus, this function is designed to work with ASD spectrometers with three detectors, a 

visible/near-infrared detector (VNIR), a shortwave infrared 1 (SWIR1) detector, and a shortwave 

infrared 2 (SWIR2) detector. Drawing on over 15 years of experience with five ASD 

spectrometers maintained by the USGS Spectroscopy Laboratory in Denver, Colorado, PRISM 

defines the default bandpass (FWHM) characteristics for these detectors as 5 nm (0.005 m) for 

the VNIR, 11 nm (0.011 m) for the SWIR1, and 11 nm (0.011 m) for the SWIR2. However, 

PRISM also contains routines for the user to estimate the wavelength and bandpass (FWHM) 

characteristics of their ASD spectrometer (see ―Function 2.17 – Wavelength/FWHM evaluation

of ASD‖ for details) and to create custom wavelength and bandpass (FWHM) records, which 

may differ from the nominal characteristics. The user may then link imported ASD spectra to 

these custom wavelength and bandpass (FWHM) records. Alternatively, the user may use the 

default wavelength and bandpass (FWHM) records. PRISM works only with ASD binary files in 

their older format (with a size of 9,088 bytes); consult the documentation of ASD software to see 

how to record data in this format and how to convert data collected in the newer format back to 

the old format.

The function can be initiated by selecting the ―Import ASD binary files into a SPECPR 

file‖ option under the ―Spectral Analysis‖ module of the ―PRISM‖ menu entry on the main 

ENVI menu bar (see fig. 200). When using this function, the user is first prompted to choose the 

ASD binary files. Example ASD binary files are included with the PRISM software distribution. 

If the default directory in step 3 of the installation instructions was used (see the ―Installation of 

Software‖ section of this report), then the files will be located in

―C:\usgsprism\spectra\asd\raw_binaries\‖ on Windows computers and in

―/var/local/usgsprism/spectra/asd/raw_binaries/‖ on Linux computers. Figure 213 shows an 

example of selecting all of the ASD files with the name of ―cg5121‖, ―mylar‖, and ―srm2035‖.
177

Selecting ASD binary files for import into an existing SPECPR file for ASD spectra.

The user is then prompted to select the SPECPR file into which the ASD spectra will be 

imported (fig. 214).

Selecting the SPECPR file into which the ASD spectra will be imported.

Next, the user is asked if this SPECPR file contains the wavelength and bandpass 

(FWHM) records that correspond to the ASD spectra being imported (fig. 215). PRISM works 

best when each spectrum is linked to the wavelength and bandpass (FWHM) records that 

characterize the spectrometer on which it was collected. In the case of ASD spectra, the user may 

have customized wavelength and bandpass (FWHM) records using ―Function 2.17 –
178

Wavelength/FWHM evaluation of ASD‖; see that section of this report for additional details on 

performing this evaluation. If the user does not have a custom set of wavelength and bandpass 

(FWHM) records for the ASD spectra, then the user may choose to continue importing spectra 

using a set of default wavelengths and bandpass (FWHM) values for ASD full range 

spectrometers by clicking ―No‖ in answer to the prompt shown in figure 215. The user may 

select ―No‖ and later use the custom PRISM routines to establish wavelengths and bandpass 

(FWHM) records for the ASD spectrometer (see ―Function 2.17 – Wavelength/FWHM 

evaluation of ASD‖). If the user has established the wavelength and bandpass (FWHM)

characteristics of the spectrometer through another means, then before using this function, the 

user can import the wavelength and bandpass (FWHM) records by importing them into a 

SPECPR file from an ENVI spectral library using ―Function 2.15 – Import ENVI Spectral 

Library‖.

Selecting ASD binary files for import into a SPECPR file.

If ―Yes‖ is selected, the user will be prompted to choose the wavelength record from a 

listing of the contents of the SPECPR file into which the ASD spectra are being imported (fig. 

216). The user should select the wavelength record and press ―Return Selected Wavelength 

Record‖.
179

Selecting the wavelength record in the SPECPR file into which ASD spectra will be 

imported.

Next, the user is prompted to select the bandpass (FWHM) record. After selecting the 

record, the user should press ―Return Selected FWHM Record‖ (fig. 217).
180

Selecting the bandpass (FWHM) record in the SPECPR file into which ASD spectra will be 

imported.

If ―No‖ was selected when the user was asked if the SPECPR file contains the 

wavelength and bandpass (FWHM) records that correspond to the ASD spectra being imported, 

then default records for ASD wavelength and bandpass (FWHM) will be created (for details on 

these default values see ―Function 2.17 – Wavelength/FWHM evaluation of ASD‖).

After the ASD spectra are imported, a message indicating the successful completion of 

the function is displayed. Press ―OK‖ to dismiss the window (fig. 218).

Message advising the user that the ASD spectra were imported into the SPECPR file.

Figure 219 shows the resulting file listing after pressing ―Yes‖, choosing the wavelength 

and bandpass (FWHM) records, and importing the selected ASD binaries.
181

Listing of the SPECPR file after importing ASD spectra.

Before the data records of the imported spectra are written, a text separator record of 

asterisks is written (record 22 in this example). Next, a text record indicating that the following 

spectra are imported ASD spectra is written (record 23 in this example). The title of the text 

record includes the ASD spectrometer number and calibration number, ASD 653 and calibration 

12, in this example. These values were extracted from the first ASD binary file during the 

program execution. Next, a text separator record of dashes is written (record 24 in this example).

The records containing the ASD spectra have pointers to the wavelength and bandpass 

(FWHM) records set in their headers. By clicking on an imported record and then pressing the 

―Show Header Info/Text/DESCRIPT Record‖ button, you can examine the information stored in 

the header of an imported ASD record (fig. 220). If a GPS was connected to the ASD while 

collecting the spectra, the manual history will contain the latitude and longitude coordinates 

stored in the ASD binary file, along with the GPS datum. If the GPS was not connected or not 

communicating with the ASD during spectral measurements, the datum value will be set to ―No 

GPS data‖ and the latitude and longitude values will be set to zero.
182

Header information for a record containing an imported ASD spectrum.

Function 2.6 – Transfer SPECPR record(s)

These functions provide a means to transfer records between SPECPR files. ―Function 

2.6.1 – Transfer SPECPR record(s) no changes‖ transfers records without changing any of the 

header information, including without changing the pointers to the wavelength and bandpass 

(FWHM) records. This function should only be used when transferring text records or data 

records that have pointers to wavelength and bandpass (FWHM) records that exist in the same 

record numbers in both the SPECPR file from which records are being transferred and the 

SPECPR file into which they are being transferred. ―Function 2.6.2 – Transfer SPECPR 

record(s) set wave/FWHM‖ allows the user to set the pointers to the wavelength and bandpass 

(FWHM) records in the SPECPR file into which the data record(s) are being transferred. 

―Function 2.6.3 – Transfer SPECPR record(s) set wave/FWHM and change title‖ also allows 

the title to be changed as well as the pointers to the wavelength and bandpass (FWHM) records.

Function 2.6.1 – Transfer SPECPR record(s) no changes

To start the function, click on the ―Transfer SPECPR record(s)‖ item in the drop-down 

list of the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see 

fig. 200). Select the ―Transfer SPECPR record(s) no changes‖ item from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.4.1 – Transfer 

SPECPR record(s) no changes‖. However, after selecting the records to transfer, the user is 

prompted to select the output SPECPR file into which the records will be transferred.

Function 2.6.2 – Transfer SPECPR record(s) set wave/FWHM

To start the function, click on the ―Transfer SPECPR record(s)‖ item in the drop-down 

list of the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see 
183

fig. 200). Select the ―Transfer SPECPR record(s) set wave/FWHM‖ item from the list that 

appears.

The steps taken in this function are similar to those in ―Function 1.9.4.2 – Transfer 

SPECPR record(s) set wave/FWHM‖. However, after selecting the records to transfer, the user is 

prompted to select the output SPECPR file into which the records will be transferred.

Function 2.6.3 – Transfer SPECPR record(s) set wave/FWHM and change title

To start the function, click on the ―Transfer SPECPR record(s)‖ item in the drop-down 

list of the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see 

fig. 200). Select the ―Transfer SPECPR record(s) set wave/FWHM and change title‖ item from 

the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.4.3 – Transfer 

SPECPR record(s) set wave/FWHM and change title‖. However, after selecting the records to 

transfer, the user is prompted to select the output SPECPR file into which the records will be 

transferred.

Function 2.7 – Average ASD spectra

These functions allow the user to average ASD spectra. In addition, the user is given an 

option to correct detector offsets. If the user selects the function ―Function 2.7.1 - Average and 

AbsRef ASD Spectra‖, the routine converts the average spectrum from relative reflectance to 

absolute reflectance.

If the user has imported ASD spectra into a SPECPR file using PRISM ―Function 2.5 –

Import ASD binary files into a SPECPR file‖ then the header information of each ASD spectral 

record will contain the detector splice wavelengths that are needed to correct the offsets between 

ASD detectors (fig. 220). If the user has imported spectra in a different manner, the user may edit 

the ASD list file, located at ―C:\usgsprism\asd.txt‖ on Windows computers and at 

―/var/local/usgsprism/asd.txt‖ on Linux computers, to add the spectrometer details and configure 

the offset correction for the detectors (see appendix D). Offset correction is made using 

multiplicative scaling factors applied to detectors 1 and 3, assuming that detector 2 is stable at 

either end of its wavelength range (details of the offset correction calculations are found in 

appendix D). If ―Function 2.7.1 – Average and AbsRef ASD spectra‖ is selected, a correction for 

the absorption of the Spectralon reflectance panel can be applied to convert the average spectrum 

from relative reflectance to absolute reflectance. This is accomplished by multiplying the 

average spectrum by the reflectance of the Spectralon panel. A record containing a Spectralon 

panel’s reflectance is created if the user establishes the ASD spectrometer’s wavelength and 

bandpass (FWHM) characteristics using ―Function 2.17 – Wavelength/FWHM evaluation of 

ASD‖. Or, the user may interpolate the Spectralon record within the example ASD SPECPR file 

―spd_asdcalib‖. If the user followed step 3 of the installation instructions (see the ―Installation of 

Software‖ section of this report), the file will be located in ―C:\usgsprism\spectra\asd\‖ on 

Windows computers and in ―/var/local/usgsprism/spectra/asd/‖ on Linux computers. The 

Spectralon record in that file can be interpolated to the user’s ASD spectrometer wavelength set 

(see Function 2.8 – Interpolate spectra). Alternatively, the user may establish the reflectance 

spectrum for the Spectralon panel measured on the ASD spectrometer by another means and 

import these data into a SPECPR file via an ENVI spectral library using ―Function 2.15 – Import 

ENVI Spectral Library‖.
184

Function 2.7.1 – Average and AbsRef ASD spectra

To start the function, click on the ―Average ASD spectra‖ item in the drop-down list of 

the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see fig. 

200). Select the ―Average and AbsRef ASD spectra‖ item from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.6.2 – Average and 

AbsRef ASD Spectra‖. However, before any other prompts, the user is asked to set the 

input/output SPECPR file. This is the file from which input data records will be read and to 

which the average spectrum and other records will be written.

Function 2.7.2 – Average ASD spectra

To start the function, click on the ―Average ASD spectra‖ item in the drop-down list of 

the ―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see fig. 

200). Select the ―Average ASD spectra‖ item from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.6.1 – Average ASD 

Spectra‖. However, before any other prompts, the user is asked to set the input/output SPECPR 

file. This is the file from which input data records will be read and to which the average 

spectrum and other records will be written.

Function 2.8 – Interpolate spectra

To start the function, click on the ―Interpolate spectra‖ item in the drop-down list of the 

―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (see fig. 200).

The steps taken in this function are similar to those in ―Function 1.9.7 – Interpolate Spectra‖. 

However, before any other prompts, the user is asked to set the input SPECPR file. Also, after 

selecting the record to interpolate, the user is prompted to set the output SPECPR file to which 

the interpolated spectrum will be written.

Function 2.9 – Convolve spectra

When converting measurements made on one spectrometer to the sampling and bandpass 

(FWHM) characteristics of another, the measurement made on the high resolution spectrometer 

(smaller bandpass) should be convolved to the lower resolution spectrometer rather than 

interpolated. PRISM uses the SPECPR method of convolution (Clark, 1993), as described in 

Swayze (1997) and Swayze and others (2003). If there are only slight differences between the 

wavelength and bandpass (FWHM) characteristics of the two spectrometers, the spectra can be 

interpolated from one spectrometer to another (see PRISM’s ―Function 2.8 – Interpolate

Spectra‖).

There are four functions for convolving spectra (fig. 221). ―Function 2.9.1 – Convolve 

spectra with user-set output titles‖ allows the user to set the output title of each spectrum that is 

convolved. This is useful when convolving one spectrum or several spectra at a time, but 

cumbersome when working with many spectra. ―Function 2.9.2 – Convolve spectra with 

automatic output titles‖ is designed for the convolution of many records. Instead of the user 

having to specify the output title of each convolved spectrum, the output title of a convolved 

spectrum is automatically set to the input title with the last five characters replaced with a space 

and the letters CONV, that is, ― CONV‖, to indicate it is a convolved record. ―Function 2.9.3 –

Convolve spectra with automatic output titles – ALL RECORDS‖ is designed for convolving all 

spectra in a SPECPR file that have the same number of channels as a set of user-selected 

wavelength and bandpass (FWHM) records. Function 2.9.4 – Convolve USGS Spectral Library 
185

splib06b will convolve all spectra in USGS spectral library version 6 (Clark and others, 2007), 

using an oversampled adaptation of that library, splib06b.

Convolution functions available under the PRISM menu item.

Function 2.9.1 – Convolve spectra with user-set output titles

To start the function, click on the ―Convolve spectra‖ item in the drop-down list of the 

―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (fig. 221). Select 

the ―Convolve spectra with user-set output titles‖ item from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.8.1 –Convolve

Spectra with user-set output titles‖. However, before any other prompts, the user is asked to set 

the input SPECPR file. Also, after selecting the record(s) to convolve, the user is prompted to set 

the output SPECPR file to which the convolved spectra will be written.

Function 2.9.2 – Convolve spectra with automatic output titles

To start the function, click on the ―Convolve spectra‖ item in the drop-down list of the 

―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (fig. 221). Select 

the ―Convolve spectra with automatic output titles‖ item from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.8.2 –Convolve

Spectra with automatic output titles‖. However, before any other prompts, the user is asked to set 

the input SPECPR file. Also, after selecting the record(s) to convolve, the user is prompted to set 

the output SPECPR file to which the convolved spectra will be written.

Function 2.9.3 – Convolve spectra with automatic output titles – ALL RECORDS

To start the function, click on the ―Convolve spectra‖ item in the drop-down list of the 

―Spectral Analysis‖ item listed under the ―PRISM‖ entry of the ENVI menu bar (fig. 221). Select 
186

the ―Convolve spectra with automatic output titles – ALL RECORDS‖ item from the list that 

appears.

The steps taken in this function are similar to those in ―Function 1.9.8.3 –Convolve

Spectra with automatic output titles – ALL RECORDS‖. However, before any other prompts, the 

user is asked to set the input SPECPR file. Also, after selecting the input wavelength and 

bandpass (FWHM) records, the user is prompted to set the output SPECPR file to which the 

convolved spectra will be written.

Function 2.9.4 – Convolve USGS Spectral Library splib06b

This function will convolve all spectra in USGS spectral library version 6 (Clark and 

others, 2007), using an oversampled adaptation of that library, ―splib06b‖. This file is included 

with the PRISM software distribution. If step 3 of the installation instructions was followed (see 

the ―Installation of Software‖ section of this report), the file will be located in 

―C:\usgsprism\spectra\splib06\‖ on Windows computers and in 

―/var/local/usgsprism/spectra/splib06/‖ on Linux computers. To start the function, click on the 

―Convolve spectra‖ item in the drop-down list of the ―Spectral Analysis‖ item listed under the 

―PRISM‖ entry of the ENVI menu bar (fig. 221). Select the ―Convolve USGS Spectral Library 

splib06b‖ item from the list that appears. The program looks for splib06b in the default location. 

If it is not found, the user will be prompted to find and select the file. The user is prompted to set 

a string that describes the output spectrometer to which the spectral library will be convolved, for 

example, HyMap2007, AVIRIS2010, or Hyperion (fig. 222).

Setting a string describing the output spectrometer.

Next, the user is prompted to select an existing SPECPR file that contains the wavelength 

and bandpass (FWHM) records that characterize the output spectrometer (fig. 223).
187

Selecting the SPECPR file with the wavelength and bandpass (FWHM) records for the 

output spectrometer.

Next, the user is prompted to select the wavelength record that characterizes the output 

spectrometer from the listing of the selected SPECPR file (fig. 224).
188

Selecting the wavelength record for the output spectrometer.

Next, the user is prompted to select the bandpass (FWHM) record that characterizes the 

output spectrometer from the listing of the selected SPECPR file (fig. 225).
189

Selecting the bandpass (FWHM) record for the output spectrometer.

Next, the user is prompted to set the name of the output SPECPR file that will be created 

to contain the convolved spectral library (fig. 226).
190

Setting the output SPECPR that will be created to contain the convolved library spectra.

Next, the program will convolve all the spectra listed in splib06b in these steps: first, 

creating the output SPECPR file, second, copying the wave/FWHM records, and third, 

convolving the spectral library. The data from the different spectrometers in splib06b are 

convolved sequentially, first the Beckman spectra, then the ASD spectra, then the two Nicolet 

wavelength and bandpass (FWHM) sets, and finally the AVIRIS spectra. The function will 

display plots of the original and convolved spectra as it processes the data. The function could 

take many hours to complete, depending on the speed of the computer being used.

Function 2.10 – Spectral arithmetic

These functions allow the user to perform simple math functions with spectra stored in 

SPECPR records.

Function 2.10.1 – Add two spectra (spec1 + spec2)

To start the function, click on the ―Spectral Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Add two 

spectra (spec1 + spec2)‖ option from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.9.1 – Add two 

spectra (spec1 + spec2)‖. However, that function assumes that the SPECPR file being viewed is 

the SPECPR file to use for input and output. Therefore, before any of the steps listed for that 

function, the user is asked to set the input SPECPR file for the first spectrum. Also, the user is 

prompted to select the input SPECPR file for the second spectrum. Additionally, the user is 

asked to select the output SPECPR file for the output spectrum.
191

Function 2.10.2 – Subtract two spectra (spec1 - spec2)

To start the function, click on the ―Spectral Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Subtract 

two spectra (spec1 - spec2)‖ option from the list that appears. The steps taken in this function are 

similar to those in ―Function 2.10.1 – Add two spectra (spec1 + spec2)‖.

Function 2.10.3 – Multiply two spectra (spec1 * spec2)

To start the function, click on the ―Spectral Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Multiply 

two spectra (spec1 * spec2)‖ option from the list that appears. The steps taken in this function are 

similar to those in ―Function 2.10.1 – Add two spectra (spec1 + spec2)‖.

Function 2.10.4 – Divide two spectra (spec1 / spec2)

To start the function, click on the ―Spectral Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Divide two 

spectra (spec1 / spec2)‖ option from the list that appears. The steps taken in this function are 

similar to those in ―Function 2.10.1 – Add two spectra (spec1 + spec2)‖.

Function 2.10.5 – Average spectra

To start the function, click on the ―Spectral Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Average 

Spectra‖ option from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.9.5 – Average 

spectra‖. However, that function assumes that the SPECPR file being viewed is the SPECPR file 

to use for input and output. Therefore, before any of the steps listed for that function, the user is 

asked to set the input SPECPR file. After choosing the records to average, the user is asked to set 

the SPECPR file for the output records.

Function 2.11 – Constant arithmetic

These functions allow the user to perform simple math functions with spectra stored in 

SPECPR records and a constant value. A constant value means a user-defined value that will be 

applied to each channel. The manner in which the value is applied depends on the selected 

mathematical operator, for example, ―Function 2.11.1 – Add a constant to a spectrum (spec1 + 

constant)‖ will add the same user-defined value to each channel of the spectrum.

Function 2.11.1 – Add a constant to a spectrum (spec1 + constant)

To start the function, click on the ―Constant Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Add a 

constant to a spectrum (spec1 + constant)‖ option from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.10.1 – Add a 

constant to a spectrum (spec1 + constant)‖. However, that function assumes that the SPECPR 

file being viewed is the SPECPR file to use for input and output. Before any of the steps listed 

for that function, the user is asked to set the input SPECPR file. After choosing the record for 

spectrum1, the user is asked to set the output SPECPR file.
192

Function 2.11.2 – Subtract a constant from a spectrum (spec1 - constant)

To start the function, click on the ―Constant Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Subtract a 

constant from a spectrum (spec1 - constant)‖ option from the list that appears. The steps taken in 

this function are similar to those in ―Function 2.11.1 – Add a constant to a spectrum (spec1 + 

constant)‖.

Function 2.11.3 – Multiply a spectrum by a constant (spec1 * constant)

To start the function, click on the ―Constant Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Multiply a 

spectrum by a constant (spec1 * constant)‖ option from the list that appears. The steps taken in 

this function are similar to those in ―Function 2.11.1 – Add a constant to a spectrum (spec1 + 

constant)‖.

Function 2.11.4 – Divide a spectrum by a constant (spec1 / constant)

To start the function, click on the ―Constant Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Divide a 

spectrum by a constant (spec1 / constant)‖ option from the list that appears. The steps taken in 

this function are similar to those in ―Function 2.11.1 – Add a constant to a spectrum (spec1 + 

constant)‖.

Function 2.11.5 – Subtract a spectrum from a constant (constant - spec1)

To start the function, click on the ―Constant Arithmetic‖ item under the ―Spectral 

Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the ―Subtract a 

spectrum from a constant (constant - spec1)‖ option from the list that appears. The steps taken in 

this function are similar to those in ―Function 2.11.1 – Add a constant to a spectrum (spec1 + 

constant)‖.

Function 2.12 – Create a line segment

Function 2.12.1 – Line segment of constant value

This function allows the user to make a spectrum in which all channels have the same 

constant value. To start the function, click on the ―Create a line segment‖ item under the 

―Spectral Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). Select the 

―Line segment of constant value‖ option from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.11 – Line segment of 

constant value‖. However, after setting the value of the constant, the user is prompted to set the 

SPECPR file in which the wavelength record is stored and to which the line segment will be 

appended.

Function 2.13 – Edit a SPECPR record header

These functions allow the user to edit the header information of a SPECPR record, 

including the spectrum’s title, wavelength record pointer, and bandpass (FWHM) record pointer. 

As a precaution, each time one of these functions is used, a backup copy of the SPECPR file 

being edited is created. It is saved in the same directory as the SPECPR file, with the following 

naming convention:

Backup File = ―.‖+ <SPECPR filename> +‖_backup_‖+YYYYmmmDD_HH_MM_SS
193

where,

<SPECPR filename> is the name of the SPECPR file being edited

YYYY is the year, for example 2009

mmm is the three letter abbreviation for the month, for example Nov for November

DD is the day of the month, for example 24

HH is the hour of the system time when the backup is created, on a 24 hour clock, for 

example 10 for 10 a.m. and 14 for 2 p.m.

MM is the minute of the system time when the backup is created

SS is the second of the system time when the backup is created

Function 2.13.1 – Change record title

This function allows the user to change a spectrum’s title by editing its SPECPR record 

header information. To start the function, click on the ―Edit a SPECPR record header‖ item 

under the ―Spectral Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). 

Select the ―Change record title‖ option from the list that appears.

The steps taken in this function are similar to those in ―Function 1.9.12.1 – Change 

record title‖. However, before any of the listed steps, the user is prompted to select the SPECPR 

file that contains the record to be changed.

Function 2.13.2 – Change record title to "DO NOT USE THIS RECORD"

This function allows the user to change a spectrum’s title by editing its SPECPR record 

header information. To start the function, click on the ―Edit a SPECPR record header‖ item 

under the ―Spectral Analysis‖ entry of the PRISM entry of the ENVI menu bar (see fig. 200). 

Select the ―Change record title to "DO NOT USE THIS RECORD"‖ option from the list that 

appears.

The steps taken in this function are similar to those in ―Function 1.9.12.2 – Change 

record title to “DO NOT USE THIS RECORD”‖. However, before any of the listed steps, the 

user is prompted to select the SPECPR file that contains the record to be changed.

Function 2.13.3 – Change pointer to wavelength record

This function allows the user to change a spectrum’s wavelength record pointer by 

editing its SPECPR record header information. To start the function, click on the ―Edit a 

SPECPR record header‖ item under the ―Spectral Analysis‖ entry of the PRISM entry of the 

ENVI menu bar (see fig. 200). Select the ―Change pointer to wavelength record‖ option from the 

list that appears.

The steps taken in this function are similar to those in ―Function 1.9.12.3 – Change

pointer to wavelength record‖. However, before any of the listed steps, the user is prompted to 

select the SPECPR file that contains the record to be changed.

Function 2.13.4 – Change pointer to FWHM record

This function allows the user to change a spectrum’s bandpass (FWHM) record pointer 

by editing its SPECPR record header information. To start the function, click on the ―Edit a 

SPECPR record header‖ item under the ―Spectral Analysis‖ entry of the PRISM entry of the 

ENVI menu bar (see fig. 200). Select the ―Change pointer to FWHM record‖ option from the list 

that appears.
194

The steps taken in this function are similar to those in ―Function 1.9.12.4 – Change 

pointer to FWHM record‖. However, before any of the listed steps, the user is prompted to select 

the SPECPR file that contains the record to be changed.

Function 2.14 – Export SPECPR to ENVI Spectral Library

This function allows the user to export spectra stored in a SPECPR file to an ENVI 

spectral library file. The output ENVI spectral library file will be created during the program 

execution. To start the function, click on the ―Export SPECPR to ENVI Spectral Library‖ item 

under the ―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar (see fig. 200).

The steps taken in this function are similar to those in ―Function 1.9.13 – Export 

SPECPR Records to ENVI Spectral Library‖. However, before any of the listed steps, the user is 

prompted to select the SPECPR file that contains the records to be exported.

Function 2.15 – Import ENVI Spectral Library

This function allows the user to import spectra stored in an ENVI spectral library file into 

a SPECPR file. To start the function, click on the ―Import ENVI Spectral Library‖ item under the 

―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar (see fig. 200).

The steps taken in this function are similar to those in ―Function 1.9.14 – Import ENVI 

Spectral Library‖. However, after selecting the ENVI spectral library file, the user is prompted 

to select the SPECPR file into which these spectra will be imported.

Function 2.16 – Export SPECPR record to ASCII

These functions (fig. 227) let the user export a spectrum from a data record to an ASCII 

text file. These functions export all the channels of the spectrum stored in the selected record. 

―Deleted points‖, also referred to as ―deleted channels‖, in spectra are stored in SPECPR record 

with the value of -1.23e+34 (see the SPECPR documentation; Clark, 1993). In some cases, for 

example the USGS Spectral Library splib06a, deleted channels are set because the spectrometer 

was configured to collect data over only a subset of its full wavelength range capability (see 

Clark and others, 2007). In other cases, the deleted channel value is assigned to channels which 

contain invalid or corrupted data, for example channels within wavelength regions of strong 

atmospheric absorption in field spectra.
195

Functions for exporting spectra to an ASCII text file.

Function 2.16.1 Export to ASCII Floating Point

This function allows the user to export a spectrum to an ASCII text file in floating point 

format. To start the function, click on the ―Export SPECPR record to ASCII‖ item under the 

―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar. Select the ―Export to 

ASCII Floating Point‖ option from the list that appears (fig. 227).

First, the user is prompted to select the SPECPR file that contains the record that will be 

exported (fig. 228).

Selecting the SPECPR file containing the record to export to an ASCII text file in floating 

point format.
196

Next, the user is prompted to select the record that will be exported from the listing of the 

SPECPR file (fig. 229).

Selecting the SPECPR record to export to an ASCII text file in floating point format.

Next, the user is prompted to set the output filename of the ASCII text file (fig. 230). A 

default filename is pre-set in the filename box; the pre-set name includes the record number and 

SPECPR filename. The default directory is the directory that contains the SPECPR file. The user 

may change the output directory and (or) the filename, if desired. After setting the file, press 

―Open‖ to continue.
197

Selecting the output ASCII text file to hold the exported spectrum in floating point format.

After the text file is created, a message appears advising the user that the function has 

completed successfully. Click the ―OK‖ button to dismiss the message.

Figure 231 shows a listing of the ASCII text file created in this example. In this listing, 

the first line contains all asterisks (*). This indicates a value that is beyond the default floating 

point format of ―f22.8‖, where the floating point data are printed with 8 digits after the decimal 

point. The format allows up to 12 digits to be printed before the decimal point. In particular, the 

SPECPR deleted channel value of -1.23e+34 exceeds the display range of this floating point 

function. In order to see the values of such channels, use ―Function 2.16.2 – Export to ASCII 

Scientific Notation‖ to export the values stored in the selected record to a text file.
198

Values from a text file containing a record exported in floating point format.

Function 2.16.2 – Export to ASCII Scientific Notation

This function allows the user to export a spectrum to an ASCII text file in scientific 

notation format. To start the function, click on the ―Export SPECPR record to ASCII‖ item under 

the ―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar. Select the ―Export to 

ASCII Scientific Notation‖ option from the list that appears (see fig. 227).

The steps taken in this function are the same as those in ―Function 2.16.1 – Export to 

ASCII Floating Point‖. Figure 232 shows a listing of the ASCII text file created using this 

function for the record used as an example in ―Function 2.16.1 – Export to ASCII Floating 

Point‖. In this listing, the values that exceeded the display capabilities of the floating point 

format are readable in scientific notation. PRISM uses IDL’s default scientific notation format 

(ITT Visual Information Solutions, 2009).
199

Values from a text file containing a record exported in scientific notation format.

Function 2.17 – Wavelength/FWHM evaluation of ASD

The Spectroscopy Laboratory of the U.S. Geological Survey has used and maintained 

five ASD spectrometers over the last 15 years. Four PRISM functions allow the user to evaluate 

the spectral characteristics, wavelength sampling position, and bandpass (FWHM) of an ASD 

spectrometer in order to detect instrument problems and verify its proper performance. The 

functions were developed by the USGS Spectroscopy Laboratory to routinely evaluate the 

performance of an ASD spectrometer. Significant changes in spectrometer performance over 

time, revealed by shifts in wavelength positions of absorption features, have been detected with 

these functions. Such shifts can arise during a field season. PRISM’s functions for evaluating the 

spectral characteristics of ASD spectrometers are also useful after annual maintenance, usually 

done between field seasons, as spectral characteristics may change due to repair and replacement 

of spectrometer parts. In general, these evaluations are made by comparing the transmission 

spectra of reference materials collected with the ASD spectrometer being evaluated to 

measurements of these materials made by higher resolution laboratory spectrometers.

These estimation methods are somewhat coarse when compared to rigorous laboratory 

definitions of wavelength and bandpass characteristics using scanning monochromators. The 

coarseness of the evaluation arises primarily from the limitations of the reference materials used 

as wavelength standards. Despite this, these evaluations are still useful, simple, and relatively 

inexpensive. Also, the measurements can be implemented in the field using reflected sunlight. If 

an instrument problem occurs prior to or during a field session, these methods can be applied to 

the transmission measurements of the standard materials and the results may be used to correct 

spectra collected with the wavelength-shifted spectrometer.
200

The spectral characteristics of an ASD spectrometer are evaluated using measurements 

made of the transmission of light through reference materials. PRISM is configured to work with 

one-way, or single pass, transmission measurements, where ―one-way‖ indicates the light passes 

only once through the reference material. In order to evaluate an ASD’s spectral characteristics, 

the user must make such measurements of reference materials using the spectrometer. Three 

reference materials have been characterized for these evaluations in PRISM: a thin sheet of 

Mylar plastic, a National Institute of Standards and Technology (NIST) standard reference 

material 2035 (SRM2035) containing rare earth elements, and a praseodymium-doped Corning 

glass #5121. Mylar is typically distributed by ASD with their spectrometers and is widely 

available. The NIST standard reference material SRM2035 is available for purchase. Corning 

glass #5121 (CG5121) is rare because it is no longer produced.

In order to compare an ASD-measured spectrum with high signal-to-noise to the 

reference spectra, it is suggested that the user set their spectrometer to integrate 60 samples for 

spectral measurements and 240 samples for the white reference and dark current. In addition, the 

user should record at least 24 measurements of 1-way transmission with those settings. Using 

―Function 2.5 – Import ASD binary files‖, the user’s measurements of the reference materials can 

be imported into a SPECPR file and then an average spectrum of each reference material can be 

calculated using ―Function 2.7.2 – Average ASD spectra‖.

Subsequently, Functions 2.17.1 - 2.17.4 can be used to evaluate the spectral 

characteristics of these averaged ASD measurements relative to the spectra of these materials 

collected using higher resolution laboratory spectrometers. Each of these routines generates a 

text report and spectral feature comparison plots. The reports and plots show the comparisons of 

continuum- removed absorption features from the ASD measurement of a reference material to 

the continuum-removed feature of the reference material made on a higher resolution laboratory 

spectrometer, after convolution to various bandpass (FWHM) values. The reported fit values

from spectral feature comparisons (Function 1.7.1) and visual inspection of spectral plots can be 

used to determine the best match. The bandpass (FWHM) of the best match is the estimate of the 

ASD spectrometer’s bandpass at the absorption feature’s wavelength position. For a detector in 

the ASD spectrometer, an estimated bandpass (FWHM) can be calculated by averaging the 

bandpass estimates for all the features that fall within that detector’s wavelength range. These 

procedures have been used to establish the bandpass (FWHM) of each feature to the nearest 1 nm 

(0.001 m); that value is considered to be the error in bandpass (FWHM) determination for these 

functions in PRISM.

The reference materials, Mylar, SRM2035, and CG5121, have features that fall into the 

different ASD detector ranges. Mylar has strong, narrow absorption features best suited for 

characterizing the SWIR2 detector, but no useful features in the VNIR detector range and only 

one in the SWIR1 detector range. In contrast, CG5121 has strong, narrow features best for 

evaluating the VNIR detector. Unfortunately, CG5121 is no longer produced. The SRM2035 

absorption features, though slightly broader than CG5121 features, can be used to evaluate the 

VNIR detector. SRM2035 also has many features in the SWIR1 detector range and, thus, can be 

used to evaluate the SWIR1 spectral characteristics, although these features are fairly broad.

After the bandpass (FWHM) of each detector is estimated, the user can compare the band 

center positions of the absorption features as measured using the ASD spectrometer to the band 

center positions of the convolved reference measurement. The comparison is made by 

subtracting the reference band center from the ASD measured band center. If there are consistent 

differences, for each detector in the ASD spectrometer, a potential wavelength correction can be 
201

calculated by averaging the difference values in that detector’s wavelength range. For 

wavelength corrections, averaged differences less than half the 1 nm sampling interval of the 

ASD are considered to be within the error of the measurement/estimation procedures; thus, only 

corrections for averaged wavelength shifts of greater than 0.5 nm should be considered for 

implementation.

A SPECPR file containing the reference spectra, measured on the laboratory 

spectrometers and convolved to various bandpass (FWHM) values, is included with the PRISM 

software distribution (see the ―Installation of Software‖ section of this report). If the default 

directory in step 3 of the installation instructions was used, this file will be located at 

―C:\usgsprism\spectra\asd\spd_asdcalib‖ on Windows computers and at 

―/var/local/usgsprism/spectra/asd/spd_asdcalib‖ on Linux computers.

Shifts in wavelength position and evaluations of bandpass (FWHM) are characterized 

more consistently using strong, narrow absorption features, as compared to weak, broad 

absorption features. Thus, not all absorption features are used in the bandpass (FWHM) 

estimates and wavelength corrections. The suggested features to use for the reference materials 

are shown in figures 233-236. Note: some features of the CG5121 are not used because of the 

coarse sampling interval and bandpass (FWHM) properties of the reference Beckman 

spectrometer in certain wavelength regions (for details on these regions, see Clark and others, 

2007). Using the results of the evaluations, ―Function 2.17.5‖ can be run to generate custom 

wavelength and bandpass (FWHM) records for the spectrometer. With this function, a Spectralon 

reflectance spectrum can be interpolated to the user’s ASD spectrometer characteristics. The 

Spectralon reflectance spectrum calculated using an ASD’s estimated spectral characteristics is 

also an approximation. A more finely detailed determination of a Spectralon panel’s absolute 

reflectance spectrum may be achieved by measuring its reflectance relative to other substances 

and converting these relative measurements to absolute reflectance. Labsphere (the manufacturer 

of Spectralon) and ASD can provide the user with estimates of their particular Spectralon panel’s 

reflectance, although these are commonly provided at coarse wavelength sampling.
202

Mylar single pass transmission spectrum measured with an ASD spectrometer. Strong, 

narrow absorption features used in evaluating ASD spectral characteristics, SWIR detectors, are labeled

using band centers from the reference spectrometer.
203

CG5121 single pass transmission spectrum measured with an ASD spectrometer. Strong 

absorption features used in evaluating the ASD VNIR detector are labeled using band centers from the 

reference spectrometer.
204

NIST SRM2035 single pass transmission spectrum measured with an ASD spectrometer. 

Strong absorption features used in evaluating the ASD VNIR detector are labeled using band centers from 

the reference spectrometer.
205

NIST SRM2035 single pass transmission spectrum measured with an ASD spectrometer. 

Relatively strong absorption features used in evaluating the ASD SWIR1 detector are labeled using band 

centers from reference spectrometer.

Function 2.17.1 – Compare reference to ASD measurements for Mylar

This function evaluates the spectral characteristics of an ASD spectrometer by comparing

measurements of Mylar made using the ASD being evaluated to spectra of Mylar measured with

a higher resolution Nicolet laboratory spectrometer. The ASD measurement of the Mylar plastic 

sheet should be made in one-way, or single pass, transmission (see the discussion of 

measurement procedures in Function 2.17).

This routine generates a text report and spectral feature comparison plots. The reports and 

plots show the spectral feature comparisons (see Function 1.7.1) between the ASD measurement 

of Mylar and the Nicolet spectrometer measurement of Mylar, after convolution of the Nicolet 

measurement to various bandpass (FWHM) values. The reported fit values and spectral plots can 

be used to determine the best match between the measured spectrum and one of the convolved 

reference spectra. The bandpass (FWHM) of the best match is the estimate of the ASD 

spectrometer’s bandpass at the absorption feature’s wavelength position. For a detector in the 

ASD spectrometer, an estimated bandpass (FWHM) can be calculated by averaging the bandpass 

estimates for the features that fall within that detector’s wavelength range.

To start the routine, click on the ―Wavelength/FWM evaluation of ASD‖ item under the 

―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar. Select the ―Compare 

reference to ASD measurements for Mylar‖ option from the list that appears (fig. 237).
206

Functions for evaluating ASD spectrometer characteristics.

The user is first prompted to set the name of a file that will contain the output report in 

text format (fig. 238). In this example, the output report file is set to ―asd653-12_mylar.txt‖. This 

file is included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), this 

file will be located in the directory ―C:\usgsprism\spectra\asd\asd653-12_calib\mylar\‖ on 

Windows computers and at ―/var/local/usgsprism/spectra/asd/asd653-12_calib/mylar/‖ on Linux 

computers.
207

Setting the filename for the output report.

Next, the program checks to see if the SPECPR file containing the reference materials 

measured on the laboratory spectrometers is present in the default location. This file 

―spd_asdcalib‖ is included with the PRISM software distribution. If the default directory in step 

3 of the installation instructions was used (see the ―Installation of Software‖ section of this 

report), this file will be located in ―C:\usgsprism\spectra\asd\‖ on Windows computers and in

―/var/local/usgsprism/spectra/asd/‖. If the file is present in the default location, a message 

indicating this will be displayed (fig. 239). Press ―OK‖ to continue.

Message indicating the SPECPR file, containing spectra of reference materials measured on 

the reference laboratory spectrometers, was found.

If the SPECPR file is not found in the default location, the user will be asked if the file is 

in a different location and to respond ―Yes‖ to select it. If the user responds ―No‖, the program 

will be halted. If the user responds ―Yes‖, the user will be prompted to select the file (this 

selection window is not shown here).

Next, the user is prompted to select the SPECPR file that contains the spectrum of Mylar 

measured using the ASD spectrometer that the user is evaluating. Figure 240 shows the selection 

of ―spd_example1‖. This file is included with the PRISM software distribution. If the default 

directory in step 3 of the installation instructions was used (see the ―Installation of Software‖ 
208

section of this report), this file will be located in ―C:\usgsprism\spectra\‖ on Windows computers 

and in ―/var/local/usgsprism/spectra/‖ on Linux computers.

Selecting the SPECPR file that contains the spectrum of Mylar that was measured using the 

ASD spectrometer that the user is evaluating.

Next, the user is prompted to select the record that contains the Mylar one-way 

transmission spectrum (fig. 241). In this example, the averaged one-way transmission spectrum 

of Mylar is record 284. Press the ―Return Selected Record‖ button after selecting the appropriate 

record.
209

Selecting the record that contains the one-way transmission spectrum of Mylar that was

measured using the ASD spectrometer that the user is evaluating.

Next, the routine compares the measured spectrum to the reference spectrum convolved 

to various bandpass (FWHM) values. The output report is written to the file specified earlier. 

Plots that compare spectral features between the ASD measured spectrum and the convolved 

reference spectra are created in the same directory. A message indicating the successful 

completion of the program is displayed (fig. 242). Press ―OK‖ to dismiss the message.

Message indicating the successful completion of the ASD evaluation using spectra of Mylar.

Figure 243 shows the beginning of the text report. Some initial reporting is made, lines of 

text showing the SPECPR files that were used and the records that were read. Next, each feature 

of the Mylar spectrum is analyzed. For each feature, the absorption feature from the ASD-
210

measured spectrum is compared to the absorption feature in spectra convolved to the ASD 

default wavelength positions and various bandpass (FWHM) values from 3 nm to 15 nm in 1 nm 

increments. Thus, the rows of the report on the first feature, at 1.6601 m, pertain to 

convolutions to increasing bandpass of the spectrum measured on the high resolution laboratory 

spectrometer.

Report on the ASD evaluation using spectra of Mylar; the beginning of the file is shown.

For each absorption feature, the user must evaluate at which bandpass (FWHM) the 

ASD-measured feature is most similar to the feature in the convolved reference spectra. The 
211

columns of the feature report are a helpful starting point, in particular, the last fit column, labeled 

―Fit4 Shifted Scaled‖. This column contains the fit value of the spectral feature comparison (see 

Function 1.7.1) between the ASD-measured feature and the reference feature convolved to 

increasing bandpass (FWHM) after shifting the band center of the ASD (and the entire 

continuum-removed feature) to the band center position of the convolved reference spectrum. In 

this example, the best match (highest fit value) indicated by this column is for the 11 nm 

bandpass (fig. 243).

Next, the user should examine the plots that were created in the same directory as the 

output report. In this example, the plot containing the ASD-measured feature compared to the 11

nm bandpass convolution of the 1.6601 m feature is 

―plot_scaled_shifted_comparison_mylar_1.6601_fwhm11_try2_reshift.eps‖. This plot along 

with the next smaller bandpass (10 nm) and the next higher bandpass (12 nm) are shown in 

figure 244. The plot files for this example are included with the PRISM software distribution. If 

the default directory in step 3 of the installation instructions was used (see the ―Installation of 

Software‖ section of this report), this file will be located in the directory

―C:\usgsprism\spectra\asd\asd653-12_calib\mylar\‖ on Windows computers and at 

―/var/local/usgsprism/spectra/asd/asd653-12_calib/mylar/‖ on Linux computers.

From the plots in figure 244, the best match in a visual sense is the 11 nm bandpass 

(FWHM) plot. In the plot of the 10 nm convolution (top plot in fig. 244) the convolved feature 

(thick line) shows a narrower feature than the ASD measurement (thin line), and the two lines do 

not agree as well as the lines in the 11 nm convolution (middle plot of fig. 244). In the plot of the 

12 nm convolution (bottom plot in fig. 244) the convolved feature (thick line) is broader than the 

ASD measurement (thin line), and the two lines do not agree as well as the lines in the 11 nm 

convolution.
212

Plots from the ASD evaluation using spectra of Mylar, for the 1.6601μm feature. The thin 

line is the ASD measurement, the thick line is the convolved reference spectrum.
213

Usually, the highest fit number in the text report, as shown by the red circle in figure 243, 

is a good guide to the best visual match. In addition, the similarity in feature width, indicated by 

the orange circle in figure 243, often supports the best visual match selection. Generally, the 

feature width will be narrower (smaller) than the ASD-measured feature for convolutions of the 

reference to bandpass values that are smaller than the ASD’s bandpass, and broader (larger) for 

convolutions to bandpass values that are larger than the ASD’s bandpass. The best match of the 

ASD-measured feature to the convolved features is typically one of the bandpass values with the 

closest agreement in the feature width. Sometimes the similarity in band depth is useful as a last 

deciding factor. For example, when there are two bandpass values that appear very close to the 

measured spectrum with fit values that are both high, the user may use the closest match in band 

depth to select the best match from the two possibilities.

Thus, the evaluation of the best match for each feature can be conducted in the manner 

described, using information from the report on feature parameters, the fit values, and the 

comparison plots to arrive at the bandpass (FWHM) that is the closest match to the ASD 

measured spectral feature. The most reliable features in making these determinations are shown 

in figures 233-236 for the various reference materials. A useful Excel spreadsheet,

―pub_asd_653-12_2151chan.xls‖, for averaging these estimates for each ASD detector is 

included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), this 

file will be located at ―C:\usgsprism\spectra\asd\asd653-12_calib\‖ on Windows computers and 

at ―/var/local/usgsprism/spectra/asd/asd653-12_calib/‖ on Linux computers. Considering the 

limitations of this evaluation process, including the small number of features available in each 

detector, the accuracy of the bandpass (FWHM) determination is considered to be no better than 

the 1 nm increment to which the reference spectra are convolved. Thus, the average bandpass 

computed from the reliable features in a detector range should be rounded to the nearest whole 

integer value.

Figure 245 shows the bandpass estimates, from the spreadsheet calculations, for the 

example ASD evaluation in this report. The SWIR1 detector estimate, from both the Mylar and

the SRM2035 features, is 11 nm. The bandpass estimates for the ASD detectors can be used to 

establish a bandpass (FWHM) record for the ASD spectrometer (see ―Function 2.17.5 Create 

ASD wavelength, bandpass (FWHM), spectralon records‖).
214

The bandpass estimate part of the spreadsheet for evaluating ASD spectral characteristics.

With a bandpass estimate determined for a detector, the user can compare the band center 

positions of the convolved reference spectrum, the one convolved to the bandpass estimate, to 

the band center positions of the ASD measurement. These values are indicated in the text report 

shown in figure 243 with green and blue circles, respectively. These values come from the 

central wavelength of the quadratic function fitted to the three central-most channels in the 

absorption feature, that is, the band minimum channel and one channel on either side (for details 

see Function 1.7 – Performing continuum removal on a record). The second column of the 

report in figure 243 shows that the band center position of the reference spectrum shifts slightly 

as the spectrum is convolved to coarser bandpass. Other features can show greater shifts. For this 

reason, the bandpass estimate is made first, so that the band center from the ASD-measured 

spectral feature can be compared to the appropriate convolved reference spectrum. Figure 246

shows the wavelength position portion of the spreadsheet for evaluating ASD spectrometer 
215

characteristics, showing that for this example, there are only very small differences between the 

band centers from the ASD-measured spectrum calculated using the default ASD channel 

positions and from the reference spectrum convolved to the bandpass estimate.

The wavelength position part of the spreadsheet for evaluating ASD spectral characteristics.

If there are consistent differences in the band center positions, then the reported ASD 

wavelength positions may be in error and the averaged difference may be used as a correction 

factor to compute new wavelength positions for the detector (see ―Function 2.17.5 Create ASD 

wavelength, bandpass (FWHM), spectralon records‖). If these differences are consistently 

greater than 1 nm, it is recommended that the correction factor be implemented. If the 

differences fall between 0.5 and 1 nm, the user should consider implementing the correction 
216

factor or remeasuring the standards and reevaluating the spectrometer. If the differences are 

consistently less than 0.5 nm, the measurements are indicating no correction factor for ASD 

wavelengths is needed. In some cases, band center positions have been found to have large 

positive differences (greater than 1 nm) at one end of the detector and large negative differences 

at the other end of the detector. These values have been found to be indicative of a detector 

problem, which can be resolved by proper servicing of the spectrometer. Data collected using an 

instrument showing such shifts need to be corrected with more sophisticated correction factors 

than the simple offset correction available, by default, in Function 2.17.5.

Function 2.17.2 – Compare reference to ASD measurements for CG5121

This function evaluates the spectral characteristics of an ASD spectrometer by using 

measurements of Corning Glass #5121 (CG5121) made using the spectrometer being evaluated 

in comparison to measurements of the material that were made on a higher resolution Beckman 

laboratory spectrometer. The ASD measurement of the CG5121 glass should be made in oneway, or single pass, transmission (see the discussion of measurement procedures in Function 

2.17).

To start the routine, click on the ―Wavelength/FWHM evaluation of ASD‖ item under the 

―Spectral Analysis‖ option in the ―PRISM‖ drop-down menu that appears under the ENVI menu 

bar (see fig. 237). Select the ―Compare reference to ASD measurements for CG5121‖ option 

from the list that appears (see fig. 237). This function follows the same steps as ―Function 

2.17.1– Compare reference to ASD measurements for Mylar‖. An ASD measurement of CG5121 

can be found in record 365 of SPECPR file ―spd_example1‖ (see fig. 241). An example report 

and comparison plots are included with the PRISM software distribution. If the default directory 

in step 3 of the installation instructions was used (see the ―Installation of Software‖ section of 

this report), these files will be located in a ―cg5121‖ subdirectory of 

―C:\usgsprism\spectra\asd\asd653-12_calib\‖ on Windows computers and in 

―/var/local/usgsprism/spectra/asd/asd653-12_calib/‖ on Linux computers.

Function 2.17.3 – Compare reference to ASD measurements for SRM2035 VNIR

This function evaluates the spectral characteristics of an ASD spectrometer by using 

measurements of NIST Standard Reference Material 2035 (SRM2035) made using the

spectrometer being evaluated in comparison to measurements of the material that were made on 

a higher resolution Cary UV/VIS laboratory spectrometer. The ASD measurement of the 

SRM2035 glass should be made in one-way, or single pass, transmission (see the discussion of 

measurement procedures in Function 2.17).

To start the routine, click on the ―Wavelength/FWHM evaluation of ASD‖ item under the 

―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar. Select the ―Compare 

reference to ASD measurements for SRM2035 VNIR‖ option from the list that appears (see fig. 

237). This function follows the same steps as ―Function 2.17.1– Compare reference to ASD 

measurements for Mylar‖. An ASD measurement of SRM2035 can be found in record 383 of 

SPECPR file ―spd_example1‖ (see fig. 241). An example report and comparison plots are 

included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), these 

files will be located in a ―srm2035_vnir‖ subdirectory of ―C:\usgsprism\spectra\asd\asd653-

12_calib\‖ on Windows computers and in ―/var/local/usgsprism/spectra/asd/asd653-12_calib/‖ 

on Linux computers.
217

Function 2.17.4 – Compare reference to ASD measurements for SRM2035 SWIR

This function evaluates the spectral characteristics of an ASD spectrometer by using 

measurements of NIST Standard Reference Material 2035 (SRM2035) made using an ASD 

spectrometer in comparison to measurements of the material that were made on a higher 

resolution Nicolet laboratory spectrometer. The ASD measurement of the SRM2035 glass should 

be made in one-way, or single pass, transmission (see the discussion of measurement procedures 

in Function 2.17).

To start the routine, click on the ―Wavelength/FWHM evaluation of ASD‖ item under the 

―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar. Select the ―Compare 

reference to ASD measurements for SRM2035 SWIR‖ option from the list that appears (fig. 

237). This function follows the same steps as ―Function 2.17.1 Compare reference to ASD 

measurements for Mylar‖. An ASD measurement of SRM2035 can be found in record 383 of 

SPECPR file ―spd_example1‖ (see fig. 241). An example report and comparison plots are 

included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), these 

files will be located in a ―srm2035_swir‖ subdirectory of ―C:\usgsprism\spectra\asd\asd653-

12_calib\‖ on Windows computers and in ―/var/local/usgsprism/spectra/asd/asd653-12_calib/‖ 

on Linux computers.

Function 2.17.5 – Create ASD wavelength, bandpass (FWHM), spectralon records

This function creates wavelength and bandpass records for an ASD spectrometer using 

values provided by the user. In addition, the function interpolates a Spectralon reflectance 

measurement to the ASD spectral characteristics, creating a Spectralon reflectance record for the 

ASD spectrometer, which can be used to correct ASD relative reflectance spectra to absolute 

reflectance (see ―Function 2.7.1 – Average and AbsRef ASD spectra‖). In addition to the 

bandpass estimates and wavelength corrections estimated from Functions 2.17.1 – 2.17.4, or by 

other means, the routine will prompt the user to enter the wavelengths of the detector splices, that 

is, the wavelength values of the channels at the ends of the ASD detectors. These can be found in 

the header information of any record that contains a spectrum, measured on the ASD, which has 

been imported into a SPECPR file using ―Function 2.5 – Import ASD binary files into a SPECPR 

file‖ (see fig. 220).

To start the routine, click on the ―Wavelength/FWHM evaluation of ASD‖ item under the 

―Spectral Analysis‖ item of the ―PRISM‖ entry of the ENVI menu bar. Select the ―Create ASD 

wavelength, bandpass (FWHM), spectralon records‖ option from the list that appears (see fig. 

237).

First, the user is prompted for the wavelength, in micrometers, of the last channel of the 

first ASD detector (that is, the ―default‖ wavelength value of the last channel of the first

detector) (fig. 247). For this example, using ASD 653-12, the header information of an imported 

ASD spectrum shows this value to be 1.0000 m (see fig. 220). After the value is entered, press 

―OK‖ to continue.
218

Entering the splice 1 wavelength value (in micrometers).

Next, the user is prompted for the wavelength, in micrometers, of the last channel of the 

second ASD detector (that is, the ―default‖ wavelength value of the last channel) (fig. 248). For 

this example, using ASD 653-12, the header information of an imported ASD spectrum shows 

this value to be 1.8000 m (see fig. 220). Press ―OK‖ to continue.

Entering the splice 2 wavelength value (in micrometers).

Next, the user is prompted for the wavelength adjustment, in micrometers, for the first 

ASD detector (fig. 249). For this example, using ASD 653-12, the calculations show the average 

difference (see fig. 246) in wavelength position between the ASD measurement and the reference 

spectrum to be 0.0001 m (0.1 nm). In general, for average differences less than 0.0005 m (0.5 

nm) no adjustment is needed. Enter ―0‖ (zero) when the evidence indicates no adjustment is 

justified. Press ―OK‖ to continue.

Entering the wavelength adjustment, in micrometers, for detector 1.

Next, the user is prompted for the wavelength adjustment, in micrometers, for the second

ASD detector (fig. 250). For this example, using ASD 653-12, the calculations show the average 

difference (see fig. 246) in wavelength position between the ASD measurement and the reference 

spectrum to be 0.0003 m (0.3 nm). In general, for average differences less than 0.0005 m (0.5 
219

nm) no adjustment is warranted. Enter ―0‖ (zero) when no adjustment is needed. Press ―OK‖ to 

continue.

Entering the wavelength adjustment, in micrometers, for detector 2.

Next, the user is prompted for the wavelength adjustment, in micrometers, for the third 

ASD detector (fig. 251). For this example, using ASD 653-12, the calculations show the average 

difference (see fig. 246) in wavelength position between the ASD measurement and the reference 

spectrum to be 0.0001 m (0.1 nm). In general, for average differences less than 0.0005 m (0.5 

nm) no adjustment is warranted. Enter ―0‖ (zero) when no adjustment is needed. Press ―OK‖ to 

continue.

Entering the wavelength adjustment, in micrometers, for detector 3.

Next, the user is prompted for the bandpass estimate, in micrometers, for the first ASD 

detector (fig. 252). For this example, using ASD 653-12, the calculations show the average 

bandpass (see fig. 245) to be 0.005 m (5 nm). Enter the value and press ―OK‖ to continue.

Entering the bandpass (FWHM) estimate, in micrometers, for detector 1.
220

Next, the user is prompted for the bandpass estimate, in micrometers, for the second ASD 

detector (fig. 253). For this example, using ASD 653-12, the calculations show the average 

bandpass (see fig. 245) to be 0.011 m (11 nm). Enter the value and press ―OK‖ to continue.

Entering the bandpass (FWHM) estimate, in micrometers, for detector 2.

Next, the user is prompted for the bandpass estimate, in micrometers, for the third ASD 

detector (fig. 254). For this example, using ASD 653-12, the calculations show the average 

bandpass (see fig. 245) to be 0.011 m (11 nm). Enter the value and press ―OK‖ to continue.

Entering the bandpass (FWHM) estimate, in micrometers, for detector 3.

Next, the user is prompted to set the output SPECPR file (fig. 255) in which to write the 

ASD wavelength and bandpass (FWHM) records and the interpolated Spectralon reflectance 

spectrum. Press ―Open‖ to continue.
221

Setting the output SPECPR file for the ASD wavelength and bandpass (FWHM) records and 

Spectralon reflectance.

Next, the user is prompted for the ASD spectrometer number, in this case, ―653‖. Enter 

the value and press ―OK‖ to continue (fig. 256).

Entering the ASD spectrometer number.

Next, the user is prompted for the spectrometer’s calibration number, in this case, ―12‖. 

Enter the value and press ―OK‖ to continue (fig. 257).

Entering the spectrometer’s calibration number.
222

Next, the ASD wavelength and bandpass (FWHM) records are added to the output 

SPECPR file, and the Spectralon reflectance spectrum is interpolated to the ASD spectrometer’s 

newly established spectral characteristics. A message indicating the successful completion of the 

function appears (fig. 258). Press ―OK‖ to dismiss the message.

Message indicating the successful creation of the ASD wavelength and bandpass (FWHM) 

records and Spectralon reflectance spectrum.

The records are appended to the output SPECPR file (see fig. 259 for a listing of the 

records created in this example). The titles of the three newly created data records (records 403, 

409, and 415) contain the ASD spectrometer and calibration numbers ―653-12‖ to indicate the 

spectrometer for which these records were created.
223

Listing of the records written to the end of the output SPECPR file.

The history fields of the record headers of the wavelength, bandpass (FWHM), and 

Spectralon reflectance spectra contain information on the values used in their creation (figs. 260-

262).
224

Header information in the ASD wavelength record.

Header information in the ASD bandpass (FWHM) record.
225

Header information in the Spectralon reflectance record.

Module 3. Image Processing Functions

These functions allow the user to apply correction factors to imaging spectrometer data. 

They are intended to be used to apply radiative transfer ground calibration (RTGC) corrections 

of the type described by Clark and others (2002). The RTGC method employs empirical 

correction factors developed using field-measured spectra of calibration areas. The average of

field measurements of the ground calibration site needs to be converted to absolute reflectance

and convolved to the imaging spectrometer spectral characteristics. In the most straight-forward 

correction, the convolved field spectrum is divided by the average of atmospherically corrected 

reflectance spectra for the pixels that cover the calibration area. Commonly used programs for 

atmospheric correction of imaging spectrometer data are the radiative transfer codes ACORN 

(ImSpec; see http://www.imspec.com/index.html), ATCOR (ReSe Applications; see 

http://www.rese.ch/products/index.html), FLAASH (ITT Visual Information Solutions; see 

http://www.ittvis.com/ProductServices/ENVI/ENVIModules/ACM.aspx), and HATCH (Qu and 

others, 2003), among others.

PRISM lets the user apply a simple multiplier correction to an atmospherically corrected 

image cube using ―Function 3.1 – Apply RTGC multiplier correction to image cube‖. In cases 

where the radiative transfer correction underestimates or overestimates the path radiance to a 

noticeable degree, an additional correction factor may be needed. This additive correction factor 

is applied to the atmospherically corrected data before the application of the multiplier factor; 

often, this factor can be estimated using the darkest pixels in the visible wavelengths of the 

image cube (see Clark and others, 2002). The offset and multiplier factors can be applied using 

―Function 3.2 – Apply RTGC offset and multiplier corrections to image cube‖.

With the exception of the radiative transfer correction, all steps for calibrating an imaging 

spectrometer dataset using the RTGC approach can be performed using the functions in PRISM. 

Field spectra can be imported to a SPECPR file (―Function 2.5 – Import ASD binary files‖). 

They can be averaged and converted to absolute reflectance (―Function 2.7.1 – Average and 

AbsRef ASD spectra‖). This averaged spectrum can be convolved to the spectral characteristics 

of the imaging spectrometer (―Function 2.9 – Convolve spectra‖). The spectra from pixels of 

imaging spectrometer data over a calibration site can be imported from an ENVI spectral library 
226

(―Function 2.15 – Import ENVI Spectral Library‖). The average spectrum for these pixels can be 

computed (―Function 2.10.5 – Average spectra‖) and divided by the image cube’s scaling factor 

(―Function 2.11.4 – Divide a spectrum by a constant (spec1 / constant)‖) to convert them to 

unitless reflectance values (0 to 1). Finally, the multiplicative correction factor can be computed 

by dividing the convolved field spectrum by the image pixel average (―Function 2.10.4 – Divide 

two spectra (spec1 / spec2)‖). Finally, this correction factor can be applied to an image cube 

(Function 3.1 – Apply RTGC multiplier correction to image cube).

Function 3.1 – Apply RTGC multiplier correction to image cube

To start the routine, click on the ―Apply RTGC multiplier correction to image cube‖ item 

under the ―Image Processing‖ item of the ―PRISM‖ entry of the ENVI menu bar (fig. 263).

Image processing functions in PRISM.

First, the user is prompted to select the image cube to which the multiplier correction will 

be applied (fig. 264). Press ―Open‖ to continue.

Selecting the image cube to which the multiplier correction will be applied.
227

Next, the user is prompted to enter the value of the input cube’s scale factor (fig. 265). 

The scale factor is the value that was applied to the atmospherically corrected reflectance data 

before it was stored as an integer. Commonly, a value of 10,000 is used as the scale factor; 

however, the user should consult the documentation of the program that was used to compute the 

atmospherically corrected reflectance data. Before applying the RTGC multiplier, this function 

will divide the values of the input image cube by this scale factor. Once the value is entered, 

press ―OK‖ to continue.

Setting the input cube’s scale factor.

Next the user is prompted to set the input SPECPR file that contains the multiplier 

correction (fig. 266).

Selecting the SPECPR file that contains the multiplier record.

Next the user is prompted to select the record that contains the wavelengths of the 

imaging spectrometer (fig. 267).
228

Selecting the record that contains the wavelengths of the imaging spectrometer.

Next the user is prompted to select the record that contains the bandpass (FWHM) of the 

imaging spectrometer (fig. 268).
229

Selecting the record that contains the bandpass (FWHM) of the imaging spectrometer.

Next the user is prompted to select the record that contains the multiplier correction (fig. 

269).
230

Selecting the record that contains the multiplier correction.

Next the user is prompted to set the filename for the output image cube (fig. 270).

Setting the filename for the output image cube.
231

Next the user is prompted to set a scaling factor for the output image cube (fig. 271). The 

corrected reflectance values will be multiplied by this scale factor before storing the data in 

integer format.

Setting the scale factor for the output image cube.

Next the multiplier correction is applied to the data. The output cube is created on a scanline by scan-line basis. The output file is in BIL interleave format, with data stored as a signed 2-

byte integer in PC (Intel) byte order. Before storing the data to integer, values that exceed the 

maximum 2-byte integer value of 32,767 are reset to this maximum value. If more than half of 

the channels in a pixel’s spectrum have negative values, all channels in that pixel are set to a 

value of -1. The output file has a VICAR header, with a size, in bytes, of twice the number of 

samples (the x-dimension of the image cube). Once the processing is completed, a message 

appears, indicating the calculations are complete (fig. 272).

Message indicating the completion of the processing of the image cube.

Function 3.2 – Apply RTGC offset and multiplier corrections to image cube

To start the function, click on the ―Image Processing‖ item of the ―PRISM‖ entry of the 

ENVI menu bar. Select the ―Apply RTGC offset and multiplier corrections to image cube‖ 

option from the list that appears (see fig. 263). The steps taken in this function are similar to 

those in ―Function 3.1 – Apply RTGC multiplier correction to image cube‖. However, the user is 

prompted to select the record containing the offset correction factor before the prompt to select 

the multiplier correction factor. During processing the offset correction factor is added to the 

atmospherically corrected data before the application of the multiplier factor.
232

Module 4. MICA – Material Identification and Characterization Algorithm

MICA determines the best match between a spectrum of an unknown material (or 

material of unknown composition) and entries in a spectral library containing reference spectra 

of materials of known composition. The MICA process is illustrated in figure 273 with a listing 

of the key inputs, analysis components, and outputs. MICA is modeled on the USGS Tetracorder 

algorithm (Clark and others, 2003), but with additional options for greater user control of feature 

weightings and identification constraints and a significantly greater ability to integrate image 

results with image processing and GIS software.

Processing flow and key elements of MICA, image cube analysis.
233

The MICA command file contains the list of reference spectra and the analysis 

parameters used in conducting spectral comparisons. When running MICA, the spectra being 

analyzed and the spectra in the reference library must have equivalent spectral characteristics, 

that is, either they must be measured on the same spectrometer or spectra resampled from their 

native spectrometer characteristics to equivalent spectral sampling and bandpass (FWHM) 

characteristics by interpolation (Function 2.8) or convolution (Function 2.9).

The shape of a reflectance spectrum derives, in large part, from the material’s chemical 

composition and physical structure (see Clark, 1999). Differences in these properties lead to 

differences in spectral shapes. The central function of the MICA algorithm is spectral feature 

comparison applied to continuum-removed absorption features (Function 1.7.1). MICA, using 

the spectra of a known reference materials, can be applied to spectra of an unknown 

materials/compositions, measured in the laboratory, in the field, or with an imaging 

spectrometer, after they have been reconciled to equivalent spectral characteristics. For imaging 

spectrometer data, this is usually accomplished by convolving the higher resolution reference 

spectra to the coarser sampling and bandpass characteristics of the imaging spectrometer. The 

continuum-removed spectra of diagnostic features in the reference spectra and the corresponding 

continuum-removed features of the spectrum being analyzed are compared in linear regression. 

The wavelength regions for the comparisons are based on the continuum endpoints of the

diagnostic features in the reference spectra. Diagnostic features are strong and (or) unique 

features arising from chemical bonds inherent in the reference material. PRISM uses the 

coefficient of determination (r2) from the linear regression as the ―fit‖ value, that is, a measure of 

the agreement between the spectra. In contrast, Tetracorder uses the linear correlation coefficient 

(r) as the fit value (Clark and others, 2003). The r

2

fit value ranges from 0 to 1, with better 

matches indicated by high fit numbers. Perfect agreement, similarity between spectral features, is 

indicated by a value of 1. The depth of continuum-removed features can be checked by the 

MICA processing (see Function 1.7). Features with positive depth values are termed absorption 

features, while those with negative depth are called emission features.

To illustrate the spectral feature comparison of a single feature, a field spectrum 

measured in a rangeland ecosystem covered principally by dry grass (fig. 274) is used as the 

spectrum of unknown composition; see the description of this spectrum in appendix C.
234

Reflectance spectrum and photo of an area of rangeland primarily covered by dry grass.

In figure 275, this spectrum is compared to the 2.1 m feature in each of the laboratory 

measurements of dry grass and dry pine, as defined in the sample MICA command file 

―mica_cmds_group2_hymap2007.mcf‖. This file is included with the PRISM software

distribution. If the default directory in step 3 of the installation instructions was used (see the 

―Installation of Software‖ section of this report), then the command file will be located in 

―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. Before comparison, each spectrum 

was convolved to equivalent sampling and bandpass (FWHM) characteristics, in this example, 

the HyMap imaging spectrometer (Cocks and others, 1998) as defined in the 2007 flight season. 

The SPECPR file containing these convolved spectra ―splib06b_cvhymap07_124ch‖ is included 

with the PRISM software. If the default directory in step 3 of the installation instructions was 

used (see the ―Installation of Software‖ section of this report), then the file will be located at

―C:\usgsprism\mica_hymap\‖ on Windows computers and at 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. In addition to the continuum-removed 

features, figure 275 shows the regression plots with the regression lines. The fit values for these 

single features are 0.9930 and 0.8798 for dry grass and dry pine, respectively. The highest fit 

value between these two is 0.9930, indicating the best match between the field spectrum and the 

lab spectra is to dry grass.
235

Spectral feature comparison of a rangeland spectrum to the principal spectral features of two

reference materials.
236

MICA extends the spectral feature comparison concept to multiple features, allowing the 

user to define as many spectral features as desired for each reference spectrum listed in the 

command file and letting the user set the weighting factor for each feature. The weighting factors 

can range from 0 to 1, but the total of all weighting factors applied to the features in a reference 

spectrum must sum to 1, within the allowable tolerance of ±0.001. The sample command file in 

appendix A contains the entries for the dry grass and dry pine spectra used in this example, for 

which two diagnostic features are defined for each entry. Figure 276 shows the spectral feature 

comparison of the rangeland spectrum to the 2.1 and 2.3 m diagnostic features of these 

reference spectra, including the fit values and weighting factors for each feature. A single fit 

value, the ―weighted fit‖, is calculated for each material by summing the products of the 

individual feature fits and their corresponding weighting factors.

Spectral feature comparison of a rangeland spectrum to the diagnostic spectral features of 

two reference materials.
237

MICA arrives at an identification of the best match between the spectrum of an unknown

material and the reference spectra in a MICA command file by selecting the material with the 

highest weighted fit value. For the rangeland example, the weighted fit values for each of the 

reference materials are shown in figure 276. The highest fit value between these, 0.9916, 

indicates the best match of the field spectrum is to the reference spectrum of dry grass. Note: in 

the MICA analysis of spectral records (Function 4.2) the fit results for all the reference materials 

can be reported, if desired by the user, in addition to the reporting of the material with the best fit 

and the five materials with the highest weighted fits, ranked in order of descending fit value.

Rather than relying solely on the fit values, MICA employs the concepts of feature and 

continuum constraints for each material in the command file in order to reduce false-positive 

identifications. Defined individually for each reference material, these constraints are criteria that 

must be met by the spectrum being analyzed in order to consider it as a match to the reference 

material. These constraints are optional and can be individually turned on and set within the 

command file, as desired by the user. The diagnostic feature, continuum, and weighted feature

constraints are listed in table 3. Feature constraints can be defined for each individual diagnostic 

feature of a material and (or) for the overall weighted feature result for a material. If the value for 

a parameter computed using the observed spectrum exceeds a threshold for the constraint set in 

the command file, the material’s weighted fit value is set to zero, effectively removing the 

material from consideration as the best match. If all the weighted fit values are zero, the MICA 

result for the spectrum being analyzed is ―no match‖ to the reference spectra.

Table 3. Feature and continuum constraints.

Constraint name Type Description

feat_fit_min feature The computed fit for this feature must exceed this constraint value

feat_depth_min feature The computed depth of this feature must exceed this constraint value

feat_depth_max feature The computed depth of this feature must NOT exceed this constraint 

value

cont_left_min continuum The average scaled reflectance value for channels within the left 

continuum endpoint wavelength range must exceed this constraint 

value

cont_left_max continuum The average scaled reflectance value for channels within the left 

continuum endpoint wavelength range must NOT exceed this 

constraint value

cont_mid_min continuum The computed reflectance value at the midpoint of the continuum line

must exceed this constraint value

cont_mid_max continuum The computed reflectance value at the midpoint of the continuum line

must NOT exceed this constraint value

cont_rt_min continuum The average scaled reflectance value for channels within the right 

continuum endpoint wavelength range must exceed this constraint 

value

cont_rt_max continuum The average scaled reflectance value for channels within the right 

continuum endpoint wavelength range must NOT exceed the 

constraint value
238

Table 3. Feature and continuum constraints.—Continued

Constraint name Type Description

cont_ratio_min continuum The ratio of the average scaled reflectance value for channels within 

the right continuum endpoint wavelength range divided by the 

average scaled reflectance value for channels within the left 

continuum endpoint wavelength range must exceed this constraint 

value

cont_ratio_max continuum The ratio of the average scaled reflectance value for channels within 

the right continuum endpoint wavelength range divided by the 

average scaled reflectance value for channels within the left 

continuum endpoint wavelength range must NOT exceed this 

constraint value

weighted_fit_min material The total weighted fit for this material must exceed this constraint 

value

weighted_depth_min material The total weighted depth for this material must exceed this constraint 

value

weighted_depth_max material The total weighted depth for this material must NOT exceed this 

constraint value

weighted_fd_min material The total weighted fit×depth for this material must exceed this 

constraint value

The weighted feature constraints are the minimum acceptable weighted fit value, the 

acceptable range (minimum and maximum) of the weighted depth of the feature, and the 

minimum acceptable value of the product of the weighted fit and the weighted depth. In MICA, 

the scaled depth of the reference feature fitted to the observed spectrum (DSQref) is evaluated 

against the constraints rather than the inherent band depth of the feature in the observed spectrum 

(from the quadratic fit, DQobs, or from the band center channel, DCobs, see Function 1.7.1). The 

fitted depth is used, as it is less subject to noise in the spectra than the depth of the observed 

spectrum itself; low signal-to-noise (S/N) is a potential factor that should be considered in the 

analysis of spectra measured in the field and by imaging spectrometers, and even by laboratory 

spectrometers. Although the depth of a reference emission feature is a negative value, it could 

contribute positively to the total weighted depth and weighted fit*depth calculations if the 

feature in the observed spectrum is also an emission feature. Individual weighted feature depths 

contribute positively to the overall weighted depth for a material if the nature of the observed 

feature matches the nature of the reference feature. If there is a mismatch between the natures of 

the reference and observed features, the feature’s weighted depth will contribute negatively to 

the overall weighted depth of the material. For example, if a reference spectrum has both an 

absorption feature and an emission feature defined in the MICA command file and if the features 

are found in the observed spectrum as absorption and emission features, respectively, they will 

each contribute positively to the weighted depth calculation. If the feature in the observed 

spectrum is found to be the opposite type from the reference feature, for example, continuum 

endpoints in the MICA command file are over an absorption feature but the observed spectrum 

has an emission feature in these wavelengths, the depth of that feature will be subtracted in the 

overall weighted depth calculation for the material. In a similar manner, observed features of an 

opposite nature to the reference feature will apply negatively to the overall weighted fit*depth 

calculation for a material.

MICA attempts to reduce the impact of low S/N on spectral feature comparison by 

allowing continuum endpoints to be defined by a range of wavelength values. Thus, more than 
239

one channel can fall within the specified wavelength range for one or both of the continuum 

endpoints. Therefore, the equation of the continuum line can be established using an average of 

multiple channels at either end of the continuum, where the averaging reduces the impact of 

noise in any single channel.

Like feature constraints, continuum constraints (see table 3) are employed to reduce 

false-positive identifications. Principally, thresholds on the minimum acceptable reflectance 

level at the endpoints or midpoint of the continuum line are employed to avoid false-positive 

identifications for spectra with low reflectance levels, which can also have low S/N. Such spectra 

can occur in poorly illuminated pixels of an imaging spectrometer dataset, arising in areas of 

cloud shadows or steep terrain. Constraints on the continuum reflectance levels can also be set 

when all available spectra for a material indicate a consistency in reflectance level, for example, 

the consistently low reflectance of water in the shortwave-infrared wavelengths.

In addition to reflectance levels of continua, MICA command files can be set up to check

if the spectra being analyzed have a ratio of continuum endpoints that fall within an acceptable 

range. Minimum and maximum acceptable values of the ratio of reflectance levels of the right 

continuum endpoint divided by the left continuum endpoint can be specified. Again, this allows 

the user to set a constraint when all available spectra for a material indicate an expected trend in 

reflectance between continuum endpoints; for example, setting a minimum value of 1 for the 

ratio of the continuum endpoints means that any spectrum being analyzed must show a rise in 

reflectance at the continuum endpoints in order to be considered as a match to the material.

In a further step to improve material identification, MICA employs the concept of NOT 

features. NOT features are useful when two materials have diagnostic spectral features in similar 

wavelength regions but one of the materials has an additional diagnostic feature that occurs at a 

different wavelength position. Figure 277 shows an example of this for dry grass and the mineral 

calcite (see their entries in the MICA command file in appendix A). In this case, the MICA entry 

for the material with only one feature can list a NOT feature in addition to the diagnostic feature, 

in which case, the NOT feature is used to check that the non-aligned absorption feature of the 

material with two absorption features is not present in the unknown spectrum (above userdefined fit and depth levels). By defining the NOT feature, the material with only one feature 

defined will only be considered as the best match if the NOT feature is absent from the spectrum 

being analyzed; otherwise the fit value of the material with only one feature is zeroed out. In the 

example shown in figure 277, dry grass has two diagnostic features, centered near 2.1 and 2.3

m. Calcite has only one strong diagnostic feature centered near 2.3 m. To improve 

discrimination between these two materials, the entry for calcite in the MICA command file lists 

a NOT feature for the 2.1 m feature of dry grass; this means that in order for the fit of the

calcite spectrum to the analyzed spectrum to be considered as the best match, the spectrum being 

analyzed must not match the 2.1 m feature of dry grass at a level that exceeds the threshold 

constraint on the fit of the NOT feature. If the fit is above the threshold, then the constraint on

the depth of the NOT feature is checked; that is, the depth of the fitted 2.1 m feature of dry 

grass to the spectrum being analyzed is compared to the depth constraint for the NOT feature. If 

that depth exceeds the depth threshold specified in the command file, the NOT feature is 

considered to be present and calcite is excluded from being a potential match by setting the 

weighted fit between the analyzed spectrum and calcite to zero. In other words, the definition of 

the NOT feature in the calcite entry in the MICA command file results in calcite being rejected 

as a match to any spectrum being analyzed if that spectrum has a feature at 2.1 m that matches 

the dry grass feature at a level above the specified fit and depth thresholds. The user specifies 
240

NOT features at the beginning of the MICA command file, before the reference materials; 

subsequently, they can be invoked as needed in the definition of reference materials (see 

appendix A).

Absolute NOT feature.

The entry for calcite in the full sample MICA command file, in appendix A, specifies fit 

and depth thresholds for the NOT feature. This is an example of a NOT feature of the absolute 

type, that is, where the depth of the NOT feature is checked directly. MICA also employs the 

concept of NOT features of the relative type, for which the depth threshold is determined relative 

to the depth of another feature. Two materials, montmorillonite, with a single diagnostic feature 

centered near 2.2 m, and muscovite, with a diagnostic feature centered near 2.2 m and an 

additional diagnostic feature centered near 2.34 m, are used to illustrate the concept of the 

relative NOT feature. Figure 278 shows the spectra of these materials.
241

Relative NOT feature.

To improve discrimination between these two materials, the entry for montmorillonite in 

the MICA command file (see appendix A) lists a NOT feature for 2.34 m feature of muscovite; 

this means that in order for the fit between the spectrum being analyzed and the montmorillonite 

spectrum to be considered as the best match, the spectrum being analyzed must not match the 

2.34 m feature of muscovite at a level that exceeds the NOT feature fit threshold. As for the 

absolute NOT feature, if such a fit is found, a secondary NOT feature constraint, in this case, on 

the relative depth of the NOT feature, is checked. For a relative NOT feature, the depth threshold 

is determined by a multiplier factor, set in the MICA command file, applied to the depth of 

another diagnostic feature in the NOT material, as defined in the command file. It is the scaled 

depth of this other feature, after being fitted to the spectrum being analyzed, to which the 

multiplication factor is applied, and the product of these terms becomes the depth threshold. 

Therefore, the depth threshold for the NOT feature is calculated relative to the depth of another 

feature in the spectrum of the NOT material. In the case of montmorillonite, the MICA entry 

specifies a NOT feature for the 2.34 m feature of muscovite, where that NOT feature depth 

threshold is relative to the 2.2 m feature of muscovite, with a multiplier factor of 0.15 (see 

appendix A).

Figure 279 shows the two continuum-removed features for muscovite, in which it is 

evident that for this sample of muscovite, the depth of the 2.34 m feature exceeds the constraint 
242

of 0.15 times the depth of the 2.2 m feature. Stated again, for any analyzed spectrum to be a 

match to montmorillonite two criteria for the NOT feature must be met, as defined in the MICA 

command file. First, the NOT feature of muscovite, that is, the 2.34 m feature of muscovite, 

cannot fit the analyzed spectrum above the NOT feature fit threshold. Second, the depth of this 

fitted NOT feature cannot exceed the product of the relative NOT feature multiplier and the 

depth of the relative feature, in this case, the 2.2 m feature of muscovite, fitted to the analyzed 

spectrum. In application, the relative NOT feature checks for the presence of the NOT feature 

and whether its depth exceeds a threshold that scales proportionally to another feature of the 

NOT material, as opposed to the absolute NOT feature, which just checks for the presence of the 

NOT feature with a depth greater than a set threshold.

Diagnostic features of muscovite.

The MICA command file contains the reference material list, the diagnostic and NOT 

features for each reference spectrum, and the feature and continuum constraints in a rigid syntax. 

The file format and syntax for command file entries are described in appendix A, including 

annotations on the sample command file for diagnostic features, NOT features of the absolute 

type, and NOT features of the relative type. If the user does not wish to use a constraint, the user 

can place a value of ―-99.99‖ in the constraints position in the command file.
243

The sample command file in appendix A was developed by the USGS to analyze a large 

HyMap data set covering the country of Afghanistan (Kokaly and others, in press); experience 

led the developers to define constraints in this command file, where appropriate. As MICA users 

create their own command files, it is suggested that they begin with setting as few constraints as 

possible; principally, the first constraints to be defined should be on minimum weighted fit 

values and minimum values for the reflectance levels of the midpoints of the continuum lines. 

These simple constraints reduce false-positive identifications but do not overly complicate the 

interpretation of the output from MICA and the identification of materials. Other constraints can 

be added as the user becomes more familiar with the concepts in MICA, the application of the 

algorithm, and the spectral features in the reference spectra and spectra being analyzed. As 

constraints are added, higher verbose levels of output from MICA are needed to see why 

materials are rejected as the best match, that is, to see which constraints are violated.

The user should review the setup keywords in the MICA command file (appendix A), in 

particular, the DELETED_CHANNELS keyword. The values associated with this keyword 

define channels in the spectrometer to be excluded during the MICA analysis. Channels that fall 

in wavelength regions where strong residual atmospheric contamination remains in 

atmospherically corrected or ground calibrated imaging spectrometer data are commonly set as 

deleted channels. For example, channels within the 0.71 m oxygen absorption feature, around 

the water vapor features centered near 0.94, 1.13, 1.40, and 1.90 m, and near the 2.00 m 

carbon dioxide feature (Kokaly and others, 2007a). Incomplete correction for atmospheric 

scattering may necessitate the setting of deleted channels for wavelengths below 0.40 m. In 

addition, channels at ends of spectrometer detectors sometimes suffer from poor response and 

low S/N and may need to be defined as deleted channels.

MICA establishes the nature of each reference feature listed in a MICA command file as 

an absorption or emission feature. Within the MICA command file the user can set the option to 

check the nature of the feature (absorption or emission) in the observed spectrum relative to the 

feature type of the reference. The nature of the features must match between the reference 

spectrum and the spectrum being analyzed. If not, the weighted fit for that material is set to zero. 

In other words, if a material lists an absorption feature, the analyzed spectrum must also have an 

absorption feature over its continuum endpoints; if the feature is instead an emission feature in 

the analyzed spectrum, the weighted fit value for the material is set to zero, removing the 

reference material from consideration as the best match to the analyzed spectrum. By default, 

this option is turned on. However, it is recommended that the user specify this option in the 

command file as a reminder to any user that this check will be performed. The user can do so by 

setting the value of the CHECK_SIGNS_OF_DEPTHS keyword to 1 (see appendix A). Note: 

this keyword has further implications for a reference features used to calculate the depth 

threshold in the invocation of a relative NOT feature; specifically, if the nature of continuumremoved feature over the endpoints of the relative feature in the spectrum being analyzed is 

different from the reference feature used to calculate the relative depth threshold, the NOT 

material is considered to be absent because the relative depth threshold cannot be established. 

This secondary effect of the relative NOT feature is important to remember when setting the

CHECK_SIGNS_OF_DEPTHS keyword to 1. MICA allows great flexibility to the user to set 

both positive and negative values for depth thresholds and to set constraints on the minimum and 

maximum depth; therefore, advanced users may opt to turn off the check of feature types and set 

explicit minimum and maximum depth thresholds on each feature. The check of feature natures 
244

can be turned off by setting the value of the CHECK_SIGNS_OF_DEPTHS keyword to zero (0)

in the command file.

Another option in the MICA command file setup is to have fit values calculated, and

command file fit constraints interpreted, in a manner consistent with the USGS Tetracorder 

algorithm. The option can be turned on by setting the value of the TETRACORDER_OPTIONS 

to 1 at the beginning of the command file (see appendix A). In comparison to the default mode of 

MICA, the Tetracorder option changes the interpretation of command files and the analysis of 

spectral records and images by forcing MICA to evaluate spectral feature comparisons using the 

linear correlation coefficient (r) as the measure of spectral agreement, instead of r2, the 

coefficient of determination. As a result, the fit values in the MICA command file are also 

interpreted as values of r, the linear correlation coefficient. If all materials in a command file 

listed only a single feature and no fit thresholds are specified, the two measures of fit would give 

the same answer for the best match. However, for multiple features with fit thresholds, the switch 

in the measure of fit could change the answer for the best fit, as the r2fit value decreases more 

rapidly with increasing spectral difference compared to the r value. Therefore, poorly fitted 

features will have more of an impact on the overall weighted fit calculation for fits computed 

with r2than with r. There are additional differences in constraint criteria caused by converting 

the thresholds between these two measures of fit. However, the differences have been found to 

be slight even for the complex sample command file in appendix A. The user should be keenly

aware that the Tetracorder option not only affects the value of the fit that is reported in the text 

output file and stored in output images but also triggers the requirement that invoked NOT 

features are also listed as diagnostic features in reference spectra. This requirement includes the 

condition the continuum endpoints of the NOT feature entry match the continuum endpoints of 

the corresponding diagnostic feature entry. In normal mode, MICA does not require this and 

allows any NOT feature to be invoked without the need to have the same feature listed as a 

diagnostic feature of a reference material. Because of the differences in command file 

interpretation and the basis of value of the fit, the user needs to maintain awareness of the 

TETRACORDER_OPTIONS keyword in any MICA command file. The default action by 

PRISM is to execute MICA without the Tetracorder option. Thus, if this keyword is absent from 

the command line the Tetracorder options will not be used. Alternatively, the user may explicitly 

specify that the Tetracorder options should not be used by setting the value of the 

TETRACORDER_OPTIONS keyword to zero in the command file (see appendix A).

Generally, the structure of a MICA command file, the definitions of diagnostic absorption 

features, continuum constraints, and so on, are independent of the sampling and bandpass 

(FWHM) characteristics of a particular spectrometer. Potentially, a MICA command file can be 

easily altered to work with a different spectrometer by just changing the listed SPECPR files and 

record numbers to specify the file containing the spectra measured on or converted to the 

characteristics of the new spectrometer. However, in practice, spectrometers vary in their 

wavelength coverage and ability to resolve absorption features; therefore, command files often 

need to be adjusted to a particular spectrometer in order to achieve the most accurate results. In 

particular, the continuum endpoints should be optimized for the features in the spectra listed in 

the command file. In some cases, defined features may not be fully covered by the wavelength 

range of a different spectrometer. If the user has defined channels that should be excluded from 

analysis, using the DELETED_CHANNELS keyword, these must be redefined when editing a 

command file to apply to a different spectrometer. Therefore, while a command file can 

potentially be easily converted to work with data from a different spectrometer, careful attention 
245

must be paid to the wavelength coverage of the spectrometer in order to edit the listed features to 

optimize the continuum endpoint ranges, remove spectral features that may be weak or absent, 

and add diagnostic spectral features that may be stronger or better captured by the new 

spectrometer.

The next two sections of this report describe the application of a sample MICA command 

file to analyze an imaging spectrometer image cube (Function 4.1) and spectral records stored in 

a SPECPR file (Function 4.2). Each section describes the steps needed to implement the function 

and gives brief descriptions of the output generated by MICA. Detailed descriptions of MICA 

output reports can be found in appendix B. The third MICA function, the internal check of MICA 

command files (Function 4.3), is a useful program to run when developing a command file. This 

function runs a MICA analysis for each reference spectrum listed in the command file. The 

results of the internal check show the degree of spectral similarity in the reference entries. For 

each entry, the other materials in the command file that are most spectrally similar, and 

potentially the most likely to be confused with it, are reported. If the degree of spectral similarity 

between two entries is high, it may be the natural result of the materials having similar chemical 

structure, or the materials may lack diagnostic spectral shapes over the wavelength region 

covered by the spectrometer, or the sensor may have an insufficient number of spectrometer 

channels and/or poor spectral bandpass (FWHM) characteristics. If discriminating between these 

entries is important, additional feature and continuum constraints may need to be developed to 

robustly discriminate between the materials.

Function 4.1 – Run MICA for Image Cubes

To analyze an image cube, choose the ―Run MICA for Image Cubes‖ option from the 

drop-down menu that appears when you click on ―MICA‖ under the ―PRISM‖ menu item (fig. 

280). The program flow is similar to that detailed in the Function 1.8 – Running MICA analysis 

on the selected record section of this report. MICA produces a text report, unless suppressed, and 

images for each reference material, showing the distribution of pixels that matched the reference 

material and their associated fit, depth, and fit*depth values of the match. Summary images 

showing the materials as differently colored classes are also produced. For details on text reports 

see appendix B.

MICA routines.

During program execution, the following prompts are made by MICA.

Prompt 1: the user is prompted to select the MICA command file (fig. 281). The sample MICA 

command file ―mica_cmds_group2_hymap2007.mcf‖ is shown selected in figure 281. This 
246

command file is included with the PRISM software distribution. If the default directory in step 3 

of the installation instructions was used (see the ―Installation of Software‖ section of this report), 

this file is located in ―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. Annotations explaining the structure 

of the MICA command file are marked on this sample command file in appendix A. This 

command file was developed to detect the occurrences of a set of materials in the pixels of 

HyMap imaging spectrometer data. The reference materials are primarily minerals with 

diagnostic absorption features in the 2 to 2.5 m wavelength region, along with other common 

surface cover such as water, snow, and vegetation. This command file was used to detect and 

map these materials in a large HyMap dataset covering the country of Afghanistan (Kokaly and 

others, in press).

Selecting a MICA command file.

Prompt 2: the user is prompted to set the output directory (fig. 282). This is the directory 

where the results of the MICA analysis will be written, including a text file of the MICA analysis 

report. The user must have write permission to this directory. The name of the output text file is 

formed according to the following pattern, in which the term ―log‖ is shorthand notation for 

logbook and indicates the file contains results from the MICA analysis as well as important 

information on events that occur during the program execution:

Output file = Output directory + ―mica_log_imagemode_‖ + command file basename + ―.txt‖

Thus, for the example given here, the output file will be

―C:\usgsprism\mica_hymap\output\mica_log_imagemode_mica_cmds_group2_hymap2007.txt‖
247

Selecting an output directory for MICA.

Prompt 3: the user is prompted to set the verbose level of the program output (fig. 283). 

The verbose level refers to the amount of information reported to the user as the image cube is 

processed.

Setting the verbose level for MICA, image mode.

At higher verbose levels more information is reported to the user. See appendix B for 

samples and interpretation of MICA output reports at various verbose levels. At level 1, the 

output text report is not created, only the output images are written. If the user is running a full 

ENVI+IDL license, the responses to the input prompts are printed in the console window. At the 

next level, verbose level 2, the file containing the output text report is created and brief 

information on the parameters used to run MICA are written to the file. In addition, the output 

name of the best match and the associated weighted fit, depth, and the fit*depth values of the 

match are written for the center pixel of every 10th line of the image cube. Summary information 

on the number of matches to the reference spectra is written as well. If the user is running a full 

ENVI+IDL license, this information is also printed to the console window. At verbose level 3, 

the default level, MICA also reports information about the contents of the command file, 

including the reference spectra and the continuum endpoints that define the spectral features to 
248

be analyzed. At verbose level 4, for the center pixel of every 10th line of the image cube, all fits 

to reference spectra (both before and after the application of constraints) are reported and the 

reference spectra with the top 5 fit values are ranked and reported.

Prompt 4: the user is prompted to select the image cube to process (fig. 284). After 

selecting the image cube, press ―Open‖ to continue the program.

Selecting the spectra to analyze.

Prompt 5: if the MICA command file does not specify the scaling factor for the reference 

spectra, then the user is prompted to respond to set this value (fig. 285). The reference spectra 

will be divided by the scale factor to convert the spectrum to reflectance values ranging from 0 to 

1. If the user selects ―No‖ then the program execution will halt. If the scale factor for the 

reference spectra is set in the MICA command file then this and the next prompt (Prompt 6) will 

not appear.

Prompt to set the scale factor for the reference spectra.
249

Prompt 6: if the user selected ―Yes‖ to set the scale factor for the reference spectra, the 

user is prompted to set that value (fig. 286). If the scale factor for the reference spectra is set in 

the MICA command file this prompt will not appear.

Setting the scale factor for the reference spectra.

Prompt 7: if the MICA command file does not specify the scaling factor for the observed 

spectra, then the user is prompted to respond in order to set this value (fig. 287). The observed 

spectra will be divided by the scale factor to convert it to reflectance values ranging from 0 to 1. 

Typically, laboratory and field spectra are collected and stored with values ranging from 0 to 1, 

in which case, the scale factor should be set to 1. Spectra from cubes of imaging spectrometer 

data are typically stored with a scaling factor of 10,000 or 20,000. If the user selects ―No‖ then 

the program execution will halt. If the scale factor for the observed spectra is set in the MICA 

command file then this and the next prompt (Prompt 8) will not appear.

Prompt to set the scale factor for the observed spectra.

Prompt 8: if the user selected ―Yes‖ to indicate a desire to set the scale factor for the 

observed spectra the user is prompted to set that value (fig. 288).

Setting the scale factor for the observed spectra.
250

Prompt 9: if the MICA command file does specify the scaling factor for the observed 

spectra, then the user is prompted whether to change this value (fig. 289). If the user selects ―No‖ 

then the program execution will continue using the scale factor set in the command file (skipping 

prompt 10). If the scale factor for the observed spectra is not set in the MICA command file then 

this and the next prompt (Prompt 10) will not appear.

Prompt to change the scale factor for the observed spectrum.

Prompt 10: if the user selected ―Yes‖ to change the scale factor for the observed spectra, 

the user is prompted to set that value (see fig. 290).

Setting the scale factor for the observed spectrum.

After these steps, the MICA analysis begins. The results are written to the output log file 

and the output images are created and will appear in the ENVI available bands window. If the 

user is running a full ENVI+IDL license, the output log information is also printed to the IDL 

console window.

Prompt 11: If the program completes successfully, a message reporting this is displayed 

(fig. 291). Press ―OK‖ to dismiss the message window.
251

Confirming the successful completion of the MICA routine.

As described earlier in this section, if the user selects a verbose mode greater than 1, a 

text report is generated by MICA. Samples of output reports generated by the MICA image cube

mode are given in appendix B. The text report and output images are created in the output 

directory selected during the MICA preprocessing steps (see prompt 2 above, fig. 282). The 

information in the report includes basic feedback on the selected image cube, the command file 

used, scale factors applied, deleted channels excluded from spectral analysis, and the userspecified value indicating non-data pixels. If a value for non-data pixels is specified, MICA will 

find pixels in the input cube that have all channels equal to this non-data value. MICA will

produce an image of these pixels, saving it to a file with the name ―image_nondata_pixels‖. 

These pixels will be excluded from the MICA analysis. The data type of the saved image is byte 

and has a separate ENVI header file. A value of 0 (zero) in the image indicates a non-data pixel 

and a value of 1 indicates a valid data pixel. The file is compressed with GZIP compression (see 

ITT Visual Information Solutions, 2009, for details on the implementation of this compression in 

ENVI/IDL). In the basic reporting, special processing options set in the command file are 

identified, for example the CHECK_SIGNS_OF_DEPTHS or the TETRACORDER_OPTIONS 

keywords (see the discussion in the Module 4. MICA – Material Identification and 

Characterization Algorithm section of this report).

In image cube mode, MICA allows the user to create a summary image with usercontrolled colors and values of classes for the reference materials. The user defined summary 

image, like the default summary images, is of byte data type in ENVI classification image 

format. No compression is applied to summary images. The user can specify this option in the 

command file by setting the FILE_DN_COLORS keyword to indicate a text file containing the

class names, values, and colors. If the user has set this keyword, the file used and the class 

names, values, and colors read from this file are echoed back to the user in the MICA text report.

Following the basic information, the text report includes information on the entries in the 

command file and dimensions of the image cube. During the analysis of the image cube, the 

output name of the reference spectrum with the best fit to the central pixel of every 10th line is 

reported.

After the analysis is complete, the program creates the output image files using the output 

names specified for each material in the command file as the base of the filename. For a material, 

if at least one pixel was found to have its best match to the material, output images of the fit, 

depth, and fit*depth values are created for it, with the extensions ―_fit‖, ―_depth‖, and ―_fd‖ 

added to the base output name, respectively. An output name must be specified for each 

reference spectrum in the command file by setting the value of the OUTPUT_NAME keyword 

(appendix A). During the MICA analysis of the image cube, if no matches of pixels were found 

to a reference material, the files are not created for that reference material. The names of created 
252

files appear in the ENVI available bands list (fig. 292). Note: all georeferencing information 

present in the header of the input image cube is preserved in MICA output images.

Available bands list following completion of MICA image cube mode.

Information on file creation/non-creation is given in the text report (see the sample 

reports in appendix B). The output image files are two-byte integer data type in PC (Intel) byte 

order with a VICAR header and have separate ENVI header files. The image files are 

compressed with GZIP compression (see ITT Visual Information Solutions, 2009, for details on 

the implementation of this compression in ENVI/IDL). Figure 293 shows examples of the fit, 

depth, and fit*depth images for the reference material calcite from the analysis of the sample 

HyMap data with the ―mica_cmds_group2_hymap2007.mcf‖ command file. Fit, depth, and 

fit*depth values are scaled by a factor of 10,000 and converted to integers; therefore a perfect fit 
253

of 1.0 is scaled to 10,000. The higher the value of a pixel, the brighter it is shown in the images 

in figure 293; thus, the brighter pixels in the fit image correspond to pixels with the better match 

to the reference spectrum. The brighter pixels in the depth image correspond to spectra with 

stronger absorption features. Greater absorption depth may be due to greater fractional coverage 

of the pixel by the material or a greater concentration of the substance that causes the spectral 

feature. Figure 294 shows the fit images for three different materials, calcite, green vegetation, 

and muscovite, showing how their distributions differ within the image. Figure 295 shows how 

the image spectra, averages of three-by-three pixel areas, which mapped as these three materials,

compare to their reference spectra. To facilitate the linkage of output images with the input data 

and spectra used to create them, the ENVI headers of the files contain information on the input 

image cube, MICA command file, and reference spectrum SPECPR file, record, and title (see an 

example of this header information in fig. 296).

Calcite fit, depth, and fit*depth image from MICA image cube mode.
254

Fit images for calcite, green vegetation, and muscovite from MICA image cube mode.
255

Image spectra (top plot) in comparison to reference spectra (bottom plot).
256

Example of header information stored in the ENVI header of a fit image.

For pixels that did not have a match to any of the reference materials, a special image, 

with the name ―image_unmapped_pixels‖, is created to identify them. The image data type is 

byte and has a separate ENVI header file. A value of 1 (one) in the image indicates a valid data 

pixel which was not matched to any reference spectra. The file is compressed with GZIP 

compression (see ITT Visual Information Solutions, 2009, for details on the implementation of 

this compression in ENVI/IDL).

In addition to the images of the individual materials, MICA creates an output image 

containing the weighted fit values for every pixel with a best match. Similarly, composite images 

of weighted depth and fit*depth values for the best matches are created. The composite images 

are named ―all_materials_fits‖, ―all_materials_depths‖, and ―all_materials_fds‖. Like the 

individual material images, these composite images are GZIP-compressed, two-byte integer files 

in PC (Intel) byte order with ENVI headers.

MICA creates a series of summary images to show the distributions of the mapped 

materials. These files, including an embedded VICAR header, are created as ENVI classification 

images in byte data type with separate ENVI header files. No compression is applied to these 

images. Each material is assigned a class value and color within the summary image, and all the 

pixels that were identified as the best match to the material are coded with those values and 

colors. The first summary images that are created are assigned values and colors based on their 

order of listing in the MICA command file. The first material listed is assigned a class value of 
257

one, the second a class value of two, and so on. A standard set of 11 colors, red, green, blue, 

yellow, cyan, magenta, orange, pink, dark green, brown, and light purple, is assigned to the first 

11 materials listed in the command file, respectively. The next 11 materials are assigned similar 

color values, but with their intensities multiplied by a factor of 0.85 to reduce their brightness. 

Each subsequent block of 11 mapped materials is assigned colors in a similar manner with

factors to further reduce their brightness. The class containing unmapped pixels is assigned the 

value of zero and given a color of black. The filename of ―mica_class_allmaterials_defaultindex‖ 

is given to the summary image resulting from this assignment of class values and colors. Figure 

297 shows this image for the HyMap sample image used in this example. In this image both nondata pixels and valid image pixels in which no material was matched to a reference entry (in 

other words, unmapped pixels) are given the same class value of zero and class color of black. 

Non-data pixels are those with all channels equal to the value of the 

NODATA_VALUE_IMAGE keyword set in the MICA command file (see appendix A). If this 

keyword is set, MICA will differentiate between unmapped pixels and non-data pixels by writing

another summary image with the non-data pixels assigned a color of dark gray and given a class 

value equal to the number of reference materials plus one; for example, if there are 60 reference 

materials, the non-data class is given a value of 61. The file is named 

―mica_class_allmaterials_defaultindex_withnondataclass‖.
258

MICA summary image ―mica_class_allmaterials_defaultindex‖ from MICA image cube mode.

Because ENVI only allows one background value, or ―see-thru‖ value, when mosaicing 

images, the file with the grouped non-data and unmapped image pixels is useful when mosaicing 

the MICA summary images produced from overlapping image cubes. As with the individual 

material images, the ENVI headers of the summary images include information on the input 

image cube and the MICA command file used to produce them (fig. 298). As described 

previously, the summary images include an embedded VICAR header, the size of which will 

vary depending on the numbers of bytes needed to store the VICAR information relative to the 

number of samples in the image. The header size, in bytes, will be an integer multiple of the 

number of samples, in the example in figure 298, the number of header bytes is 4 * 446 = 3122 

bytes.
259

ENVI header information for MICA summary image

―mica_class_allmaterials_defaultindex_withnondataclass‖.

MICA also produces summary images with values and colors assigned according to the 

number of pixels that mapped in the individual material images. The materials are ranked in 

descending order based on the number of pixels for which they were found to be the best match. 

Materials that did not have any pixels mapped as the best match are excluded from this summary 

image. The material with the highest number of mapped pixels is assigned a class value of 1; the 

material with the second highest number of pixels is given a class value of 2, and so on. Again, a 

standard set of 11 colors, red, green, blue, yellow, cyan, magenta, orange, pink, dark green, 

brown, and light purple, is used and assigned to the materials with the top 11 pixel counts. The 

next block of 11 materials, ranked by descending pixel counts, is assigned the similar color 

values, but with their intensities reduced by a multiplication factor of 0.85. Each subsequent 

block of 11 mapped materials, ranked by pixel counts, is assigned colors in a similar manner 
260

with factors to further reduce their brightness. The class containing unmapped pixels is assigned 

the value of zero and given a color of black. The summary image is created with the name 

―mica_class_mappedmaterials_rankedbypixelcount‖. Figure 299 shows this image for the 

HyMap sample image used in this example. Non-data pixels are those with all channels equal to 

the value of the NODATA_VALUE_IMAGE keyword set in the MICA command file. If this 

keyword is set, MICA will differentiate between unmapped pixels and non-data pixels by writing 

another summary image with a separate class for non-data pixels, named 

―mica_class_mappedmaterials_rankedbypixelcount_withnondataclass‖. Because some materials 

are not matched to any pixels as the best match, the total number of classes can be less than the 

number of reference materials listed in the MICA command file; therefore, the non-data class is 

assigned a value equal to the number of mapped classes plus one. Note: in these summary 

images, a material’s class value is based on the number of pixels mapped in the image; thus, a 

material’s class value in ―rankedbypixelcount‖ images can be different in each image analyzed.

MICA summary image ―mica_class_mappedmaterials_rankedbypixelcount‖ from MICA 

image cube mode.
261

MICA allows the user the option to define the class values and colors that are assigned to 

each reference material. This specification is made in the class values and colors file; the name 

of this file is defined by the value of the FILE_DN_COLORS keyword set in the MICA 

command file (see appendix A). The format of this file is shown in appendix E. Through this file, 

the user can assign a specific color scheme to the materials. The output file with the user 

assigned class values and colors is named ―mica_class_allmaterials_userindex‖. Figure 300

shows this image for the HyMap sample image used in this example. If the 

NODATA_VALUE_IMAGE keyword is set in the command file, MICA will differentiate 

between unmapped pixels and non-data pixels by writing a second summary image with a 

separate class for non-data pixels, named 

―mica_class_allmaterials_userindex_withnondataclass‖. In the class values and colors file, two 

or more entries can be assigned the same color. In this manner, several reference spectra for the 

same type of material, for example, kaolinite clays, can be included in the command file, where 

these entries may have similar, yet slightly different spectra based on subtle chemical, or in this 

case, mineralogical, differences, and the pixels that match them can be colored the same in the 

summary images. Subsequently, the user can decide if the spectral quality of the analyzed image 

supports the differentiation of the two classes and they can be given distinct colors. The sample 

class values and colors file contains several instances of this as evidenced by multiple classes 

with the same color as seen in the Interactive Class Tool window in the right side of figure 300.
262

MICA summary image ―mica_class_allmaterials_userindex‖ from MICA image cube mode.

Within ENVI, the summary images, fit images, and input image cube can be linked 

(using the ―Link Display‖ option from the drop-down list under the ―Tools‖ menu item on the 

image menu bar). Linking images is helpful when examining the MICA material maps. With the 

images linked, the fit value of the material match for a pixel can be easily displayed (using the 

―Cursor Location/Value‖ option from the drop-down list under the ―Tools‖ menu item on the 

image menu bar) along with the corresponding pixel spectrum (using the ―Z profile

(spectrum)...‖ option from the drop-down list that appears when you click on the ―Profiles‖ item 

found under the ―Tools‖ entry on the image menu bar). Alternatively, the user can directly 

overlay the summary material maps on the image cube (by choosing the ―Classification‖ item 

from the drop-down list under the ―Overlay‖ menu item on the image menu bar) . Figure 301

shows an example of this overlay, along with the linked fit image for calcite. With the 

classification overlaid, the user can change the class colors, if desired, by pressing the ―Options‖ 
263

item on the menu bar of the ―Interactive Class Tool‖ window and choosing the ―Edit class 

colors/names...‖ item from the list that appears.

The summary images created during the MICA processing are the least conservative 

indication of material identification that can be produced from the MICA results, only moderated 

by any weighted fit thresholds in the MICA command file. More conservative maps can be 

produced by subsequently developing thresholds on fit, depth, or fit*depth values for each of the 

materials. Masks derived from these thresholds can be applied to the summary images. It is 

suggested that the user examine the summary material identification images in relation to fit, 

depth, and fit*depth values, and pixel spectra to assess whether any such refinements are needed. 

If consistent thresholds are found for materials produced from a specific command file, the user 

may incorporate them into that command file in the form of weighted fit, depth, or fit*depth

thresholds for each material, if desired. See appendix A for an example MICA command file and 

appendix B for samples of MICA output reports with interpretive annotations.

Overlaying the classification image (center) on the MICA image cube, with linked fit image 

for calcite (left) and Z-profile window (bottom right) showing the reflectance spectrum of the selected pixel. 

The 0.9862 fit value for the selected pixel is shown in the Cursor Location / Value window (center right) as 

the value for Disp#1 Data.
264

Function 4.2 – Run MICA for Spectral Records

To analyze spectra stored as records in a SPECPR file, choose the ―Run MICA for 

Spectral Records‖ option from the drop-down menu that appears when you click on ―MICA‖ 

under the ―PRISM‖ menu item (see fig. 280). The program flow is similar to that detailed in 

Section ―Function 1.8 – Running MICA analysis on the selected record.‖ of this report.

During program execution, the following prompts are made by MICA.

Prompt 1: the user is prompted to select the MICA command file (fig. 302). The example MICA 

command file ―mica_cmds_group2_hymap2007.mcf‖ is shown selected in figure 302. This 

command file is included with the PRISM software distribution. If step 3 of the installation 

instructions was followed (see the ―Installation of Software‖ section of this report), this file will 

be located in ―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. Annotations explaining the structure 

of the MICA command file are marked on this example command file in appendix A. This

command file was developed to detect the occurrences of a set of materials in HyMap imaging 

spectrometer data. The reference materials are primarily minerals with diagnostic absorption

features in the 2 to 2.5 m wavelength region, along with other common surface cover such as 

water, snow, and vegetation. This command file was used to detect and map these materials in a 

large HyMap dataset covering the country of Afghanistan (Kokaly and others, in press).

Selecting a MICA command file.

Prompt 2: the user is prompted to set the output directory (fig. 303). This is the directory 

where the results of the MICA analysis will be written, including a text file of the MICA analysis 

results for the selected record(s). The user must have write permission to this directory. This 

output text file is formed according to the following pattern, in which the term ―log‖ is shorthand 

notation for logbook and indicates the file contains results from the MICA analysis as well as 

important information on events that occur during the program execution:

Output file = Output directory + ―mica_log_spectrummode_‖ + command file + ―.txt‖
265

Thus, for the example given here, the output file will be

―C:\usgsprism\mica_hymap\output\mica_log_spectrummode_mica_cmds_group2_hymap2007.txt‖

Selecting an output directory for MICA.

Prompt 3: the user is prompted to set the verbose level of the program output (fig. 304). 

The verbose level refers to the amount of information reported to the user as the spectrum is 

processed. A higher numbered verbose level means more information is reported, adding 

information to that reported at the previous level. See appendix B for samples and explanations

of MICA output at various verbose levels. At the basic verbose level of 1, a single line of text is 

printed that indicates which one, if any, of the reference spectra was found to be the best match 

to the selected record and the fit number of that comparison. The fit value ranges from 0 to 1, 

with better matches indicated by high fit numbers and perfect agreement indicated by a value of 

1. At the next level, verbose level 2, the output file also contains some information on the 

parameters used to run MICA, the weighted band depth and the fit*depth values of the match, 

and information on the SPECPR file, record number, and title for the analyzed spectral record 

and the matching reference spectrum. At verbose level 3, MICA also reports information about 

the contents of the MICA command file, including the reference spectra and the continuum 

endpoints that define the spectral features to be analyzed. Also at verbose level 3, the output file 

reports the fit results for all reference spectra. In addition, the reference spectra with the top 5 fit 

values are ranked and reported. At verbose level 4, the output file contains detailed information 

on the fit and depth values for each spectral feature. Also, the calculated values of feature and 

continuum parameters are reported along with the threshold values for these parameters that 

were set in the MICA command file. If a threshold was not set in the command file, the output 

file will show a value of -99.99 for that constraint. Summary reports describing whether spectral

features passed or failed constraints are also given. A table reporting the weighted fit, depth, and 

fit*depth values is given along with threshold values for these parameters that were set in the 

MICA command file. If a threshold was not set in the command file, the output file will show a 
266

value of -99.99 for that constraint. Verbose level 5 adds reporting from some subroutines of 

MICA. In addition, PostScript plots are created which show the comparison of the spectrum of 

the selected record to reference spectra for each diagnostic and NOT feature listed in the 

command file.

Setting the verbose level for MICA spectral records mode.

Prompt 4: the user is prompted to select the SPECPR file and records that contain the 

spectra to analyze. A window appears that allows the user to set and read the input SPECPR file 

(fig. 305).

Selecting the spectra to analyze.
267

To set the SPECPR file, click on the ―Select SPECPR File‖ button at the top left of the 

window. A dialog window appears allowing the user to select the SPECPR file (fig. 306). In this

example, the file ―splib06b_cvhymap07_124ch‖ is used. This SPECPR file is included with the 

PRISM software distribution. If the default directory in step 3 of the installation instructions was 

used (see the ―Installation of Software‖ section of this report), this file will be located in

―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. Click the ―Open‖ button after 

choosing the file.

Selecting the SPECPR file.

To show the contents of the file and to select the records to analyze, click on the ―List 

Selected SPECPR File‖ button near the top of the record selection window (see fig. 305). After 

pressing the button, the contents of the SPECPR file are displayed (fig. 307).
268

Listing the contents of a SPECPR file for selecting records to analyze with MICA.

The user may scroll down to the desired record using the scroll bar on the right. A single 

record may be selected by left-clicking on the record, or multiple records selected by choosing 

the first, holding the ―Ctrl‖ (control) button, and clicking on additional records. The user may 

scroll up or down the list before choosing additional records. A block of records may be selected 

by choosing the record at one end of the desired block and then holding the Shift button and 

selecting the record at the other end. The user may scroll up or down the list before choosing the 

other end of the record block. Make sure to choose records with the same number of channels as 

the spectra in the MICA command file, otherwise the program will report an error and halt 

execution when it starts analyzing the records.

Prompt 5: if the MICA command file does not specify the scaling factor for the reference 

spectra, then the user is prompted to respond to set this value (fig. 308). The reference spectra 

will be divided by the scale factor to convert the spectrum to reflectance values ranging from 0 to 

1. If the user selects ―No‖ then the program execution will halt. If the scale factor for the 

reference spectra is set in the MICA command file then this and the next prompt (Prompt 6) will 

not appear.
269

Prompt to set the scale factor for the reference spectra.

Prompt 6: if the user selected ―Yes‖, wishing to set the scale factor for the reference 

spectra, then the user is prompted to set that value (fig. 309). If the scale factor for the reference 

spectra is set in the MICA command file this prompt will not appear.

Setting the scale factor for the reference spectra.

Prompt 7: if the MICA command file does NOT specify the scaling factor for the 

observed spectra, then the user is prompted to respond if wishing to set this value (fig. 310). The 

observed spectra will be divided by the scale factor to convert it to reflectance values ranging 

from 0 to 1. Typically, laboratory and field spectra are collected and stored with values ranging 

from 0 to 1, in which case, the scale factor should be set to 1. Spectra from cubes of imaging 

spectrometer data are typically stored with a scaling factor of 10,000 or 20,000. If the user 

selects ―No‖ then the program execution will halt. If the scale factor for the observed spectra is 

set in the MICA command file then this and the next prompt (Prompt 8) will not appear.

Prompt to set the scale factor for the observed spectra.
270

Prompt 8: if the user selected ―Yes‖, wishing to set the scale factor for the observed 

spectra, the user is prompted to set that value (fig. 311).

Setting the scale factor for the observed spectra.

Prompt 9: if the MICA command file does specify the scaling factor for the observed 

spectra, then the user is prompted to respond if wishing to change this value (fig. 312). If the user 

selects ―No‖ then the program execution will continue, using the scale factor set in the command 

file. If the scale factor for the observed spectra is not set in the MICA command file then this and 

the next prompt will not appear (Prompt 10).

Prompt to change the scale factor for the observed spectrum.

Prompt 10: if the user selected ―Yes‖, wishing to set the scale factor for the observed 

spectra, then the user is prompted to set that value (fig. 313).

Setting the scale factor for the observed spectra.

After these steps, the MICA analysis begins. The results are written to the output log file. 

If the user is running a full ENVI+IDL license, the results are also printed to the IDL console 
271

window. If the program completes successfully, a message reporting this is displayed (fig. 314). 

Press ―OK‖ to dismiss the message window.

Confirming the successful completion of the MICA routine.

A window containing the text report of the MICA results is also displayed (for example, 

the bottom of a text report is shown in fig. 315). The reference spectrum that had the best match 

to the analyzed spectrum is shown at the end of the report. If a verbose level greater than 3 was 

selected, as described above, the reference materials with the five highest fit values are listed 

before reporting the best match. These are shown under the heading ―TOP 5 FITS‖ and are 

ranked in descending order of fit value. If for all the reference spectra, the observed spectrum did 

not meet a constraint in the MICA command file (see the feature and continuum constraints 

described in Function 4), a ―no match‖ result is reported.

Depending on the verbose level, as described above, additional reporting may be made. 

Additional details on the output from MICA are given in appendix B. Further information on 

MICA can be found in the ―Module 4. MICA – Material Identification and Characterization 

Algorithm‖ section of this report. Appendix A explains the format and syntax of MICA command 

files and includes the sample command file with explanatory comments.
272

Text report of the MICA results.

Function 4.3 – Run internal check of a MICA command file

This function provides a convenient way to check the integrity of a MICA command file 

by analyzing all reference spectra listed in the command file. If the command file is set up 

properly, the best match to a reference spectrum should be that same spectrum. Additionally, the 

continuum- removed diagnostic and NOT features are plotted to PostScript files, so that the user 

can examine the continuum endpoint ranges to see if they capture the desired spectrometer 

channels. Furthermore, a file that contains the top 5 fits for each spectrum is written, so that the 

user can see which reference entries have the greatest spectral similarity (for example, how close 

are the fits between the spectra of the materials that are listed in the command file).

To run this function, choose the ―Run internal check of a MICA command file‖ option 

from the drop-down menu that appears when you click on ―MICA‖ under the ―PRISM‖ menu 

item (see fig. 280). During program execution, the following prompts are made by MICA.

Prompt 1: the user is prompted to select the MICA command file. The example MICA 

command file ―mica_cmds_group2_hymap2007.mcf‖ is shown in figure 316. This command file 

is included with the PRISM software distribution. If step 3 of the installation instructions was 

followed (see the ―Installation of Software‖ section of this report), this file will be located in 

―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. Annotations explaining the structure 

of the MICA command file are marked on this example command file in appendix A. This 

command file was developed to detect the occurrences of a set of materials in HyMap imaging 
273

spectrometer data. The reference materials are primarily minerals with diagnostic absorption 

features in the 2 to 2.5 m wavelength region, along with other common surface cover such as 

water, snow, and vegetation. This command file was used to detect and map these materials in a 

large HyMap dataset covering the country of Afghanistan (Kokaly and others, in press).

Selecting a MICA command file.

Prompt 2: the user is prompted to set the output directory (fig. 317). This is the directory 

where the results of the MICA analysis will be written, including a text file of the MICA internal 

check. The user must have write permission to this directory.
274

Selecting an output directory for MICA.

The output text file is formed according to the following pattern, in which the term ―log‖ 

is shorthand notation for logbook and indicates the file contains results from the MICA analysis 

as well as important information on events that occur during the program execution:

Output file = Output directory + ―mica_log_internalcheck_‖ + command file + ―.txt‖

Thus, for the example given here, the full output log file will be

―C:\usgsprism\mica_hymap\output\mica_log_internalcheck_mica_cmds_group2_hymap2007.txt‖

In addition, a text file containing just the top 5 fits for each reference spectrum is created, with 

the following construction:

File = Output directory+―mica_log_internalcheck_summarytop5fits‖+command file+―.txt‖

Thus, for the example given here, the output file for the top 5 fits will be

―C:\usgsprism\mica_hymap\output\internalcheck\mica_log_internalcheck_summarytop5fits_mica_cmds_group2_hy

map2007.txt‖

Furthermore, a text file, containing a summary matrix of the all the fits, is created. This file is 

suitable for reading into a spreadsheet. The file name is formed with the following construction:

File = Output directory+―mica_log_internalcheck_summarymatrix‖+command file+―.txt‖

Thus, for the example given here, the output log file will be
275

―C:\usgsprism\mica_hymap\output\internalcheck\mica_log_internalcheck_summarymatrix_mica_cmds_group2_hymap2007.txt‖

PostScript plots of the continuum-removed diagnostic and NOT features for each 

material are also written to the output directory.

The ―top 5 fits‖ file of the internal check should be examined to make sure that each 

reference spectrum has a fit of 1 with itself. If that is not the case, there is an error in the 

command file and the user should closely examine the analysis results for that spectrum in the 

full output log file. The top fits also give an indication of the spectral similarity between entries 

in the command file. If the quality of analyzed spectra is not optimum, high similarity between 

two spectra, in the internal check, means a greater likelihood the MICA results could be 

confused between the two reference entries. The user should examine the PostScript plots of 

continuum-removed spectra generated by the internal check to make sure the optimum channels 

are captured in the left and right continuum endpoint ranges. Example output from the MICA 

internal check is given in appendix B.
276

Release Notes

October 2011. Original release to public of PRISM version 1.0. The PRISM save file 

was compiled in ENVI4.8/IDL8.0 within a 64-bit version of the Windows 7 operating system 

and tested on Red Hat Linux and Apple OSX 10.6 computers running ENVI+IDL. PRISM v.

1.0 was also found to operate correctly on runtime installations of ENVI4.8. Full functionality in 

PRISM requires installation of the iTools component of IDL.

Known issues/bugs:

- If the user has opened a large number of iPlot windows (approx. more than 10), 

they may not all automatically disappear when exiting ViewSPECPR.

- Opening more than one continuum removal window can lead to unstable behavior 

in the interface GUI windows and may crash the program; specifically, plots will 

only update in the last GUI to be opened or ENVI may crash.

- Automatic endpoint selection will not adjust endpoints for emission features. 

Instead, it will try to find the closest absorption feature.

- If the user enters any text in the text box when writing a SPECPR text record 

(Function 1.9.1) then it will be written to the SPECPR file, even if the user tries to 

cancel the widget by pressing the ―close‖ button (the ―X‖ in the top right corner 

of the widget).

Acknowledgments

Development of PRISM was supported by USGS Afghanistan project. Early versions of 

PRISM’s functions were developed for projects funded by the USGS Minerals Program. My 

colleagues at the USGS, Trude V.V. King and K. Eric Livo, provided helpful reviews of this 

report. In addition, Trude, Eric, and Todd M. Hoefen provided bug reports and useful 

suggestions during software development. PRISM and MICA were inspired by spectral analysis 

concepts in the algorithms pioneered at the U.S. Geological Survey Spectroscopy Laboratory by

Dr. Roger N. Clark and others.

References Cited

Clark, R. N., Gallagher, A. J., and Swayze, G. A., 1990, Material absorption band depth mapping 

of imaging spectrometer data using a complete band shape least-squares fit with library 

reference spectra, in Proceedings of the Second Airborne Visible/Infrared Imaging 

Spectrometer (AVIRIS) Workshop, JPL Publ. 90-54, pp. 176–186, Jet Propulsion Laboratory, 

Pasadena, California.

Clark, R.N., 1993, SPECtrum Processing Routines User's Manual Version 3 (program SPECPR):

U.S. Geological Survey Open-File Report 93-595, 210 p. Available online at 

http://speclab.cr.usgs.gov.

Clark, R. N., 1999, Spectroscopy of rocks and minerals and principles of spectroscopy, in

Manual of Remote Sensing, edited by A. N. Rencz, pp. 3 – 58, John Wiley, New York.

Clark, R.N., and Roush, T.L., 1984, Reflectance spectroscopy: Quantitative analysis techniques 

for remote sensing applications: Journal of Geophysical Research, v. 89, p. 6329−6340.

Clark, R.N., Swayze, G.A., Livo, K.E., Kokaly, R.F., Sutley, S.J., Dalton, J.B., and others, 2003, 

Imaging spectroscopy: Earth and planetary remote sensing with the USGS Tetracorder and 

expert systems: Journal of Geophysical Research, v. 108(E12), p. 5131−5146.
277

Clark, R.N., Swayze, G.A., Wise, R., Livo, E., Hoefen, T., Kokaly, R., and Sutley, S.J., 2007, 

USGS digital spectral library splib06a: U.S. Geological Survey Digital Data Series 231, 

available online at http://speclab.cr.usgs.gov/spectral.lib06.

Clark, R.N., Swayze, G.A., Livo, K.E., Kokaly, R.F., King, T.V.V., Dalton, J.B., Vance, J.S., 

Rockwell, B.W., Hoefen, T., and McDougal, R.R., 2002, Surface reflectance calibration of 

terrestrial imaging spectroscopy data: A tutorial using AVIRIS, in Proceedings of the 10th 

Airborne Earth Science Workshop, JPL Publication 02-1.

Cocks, T., Jenssen, R.,. Stewart, A., Wilson, I., and. Shields, T., 1998, The HyMap Airborne 

Hyperspectral Sensor: The system, calibration and performance, in (Schaepman, M., Schlapfer, 

D., and Itten, K.I,. eds.,. Proceedings of the 1st EARSeL Workshop on Imaging Spectroscopy, 

6-8 October 1998, Zurich, EARSeL, Paris, p. 37-43.

Green, R.O., Eastwood, M.L., Sarture, C.M., Chrien, T.G., Aronsson, M., Chippendale, B.J., 

Faust, J.A., Pavri, B.E., Chovit, C.J., Solis, M., Olah, M.R., and Williams, O., 1998, Imaging 

spectroscopy and the airborne visible/infrared imaging spectrometer (AVIRIS): Remote 

Sensing of Environment, v. 65, p. 227−248.

Ingle, J. D., 1988, Spectrochemical analysis: Engelwood Cliffs, NJ, Prentice-Hall. p. 424– 425.

ITT Visual Information Solutions, 2009, ENVI 4.8/ IDL Version 8.0 User’s Guide: ITT Visual 

Information Solutions, Boulder, CO.

Karnieli, A., Kokaly, R.F., West, N., and Clark, R.N., 2001, Remote sensing of biological soil 

crusts, in Belnap, J., and Lange, O.E., eds., Biological soil crusts: Structure, function and 

management: Springer, p. 431-455.

Kokaly, R.F., Despain, D.G., Clark, R.N., and Livo, K.E., 2003, Mapping vegetation in 

Yellowstone National Park using spectral feature analysis of AVIRIS data: Remote Sensing of 

Environment, v. 84, p. 437–456.

Kokaly, R.F., Despain, D.G., Clark, R.N. and Livo, K.E., 2007a, Spectral analysis of absorption 

features for mapping vegetation cover and microbial communities in Yellowstone National 

Park using AVIRIS data, in Morgan, L.A., ed., Integrated geoscience studies in the greater 

Yellowstone area—Volcanic, tectonic, and hydrothermal processes in the Yellowstone 

geoecosystem, U.S. Geological Survey Professional Paper 1717, 532 p.

Kokaly, R.F., Rockwell, B.W., Haire, S.L., and King, T.V.V., 2007b. Characterization of postfire 

surface cover, soils, and burn severity at the Cerro Grande Fire, New Mexico, using 

hyperspectral and multispectral remote sensing: Remote Sensing of Environment, v. 106, p. 

305−325.

Kokaly, R.F., King, T.V.V., Hoefen, T.M., Dudek, K.B., and Livo, K.E, in press, Surface 

materials map of Afghanistan: Carbonates, phyllosilicates, clays, sulfates, and alterationrelated minerals, U.S. Geological Survey Scientific Investigations Map 3152–A.

Mustard, J.F., and Sunshine, J.M., 1999, Spectral analysis for Earth science investigation (3rd 

ed.), in Rencz, A.N., ed., Remote sensing for the earth sciences: Manual of remote sensing, v.

3: New York, Wiley, p. 251–306.

Swayze, G.A., 1997, The hydrothermal and structural history of the Cuprite Mining District, 

southwestern Nevada: An integrated geological and geophysical approach, Ph.D. dissertation, 

University of Colorado, Boulder, 399 p.

Swayze, G.A., Clark, R.N,. Goetz, A.F.H., Chrien, T.G., and Gorelick, N.S., 2003, Effects of 

spectrometer band pass, sampling, and signal-to-noise ratio on spectrometer identification 

using the Tetracorder algorithm: Journal of Geophysical Research, v. 108(E9), p. 5105-5134, 

doi:10.1029/2002JE001975.
278

Qu, Z., Kindel, B.C., and Goetz, A.F.H., 2003, The High Accuracy Atmospheric Correction for 

Hyperspectral Data (HATCH) model: IEEE Transactions on Geoscience and Remote Sensing, 

41, p. 1223-1231, doi:10.1109/TGRS.2003.813125.
279

Appendix A. The MICA Command File

This appendix describes the format and syntax of MICA command files. MICA 

command files are text files. The filename should have a ―.mcf‖ extension at the end of the 

name. Generally, each line of the file starts with a keyword in uppercase followed by a colon, for 

example ―KEYWORD:‖. After the keyword, one or more values are listed, separated from the 

keyword and each other by at least one space. A comment line can be inserted anywhere in the 

command file by putting a semicolon as the first character of the line of text. The main sections 

of the command file are:

1) setup keywords

2) wavelengths keyword

3) aliases

4) definitions of NOT features

5) definitions of spectra of reference materials

The setup keywords are optional parameters that control the way MICA processes 

reference spectra, spectral records, and image cubes. They are listed in table A1, along with the 

number of values required to follow the keywords and descriptions of the types of these values 

and their effect. They do not need to be listed in any particular order, but should be listed before 

the wavelengths keyword.
280

Table A1. Optional setup keywords and values in the MICA command file.

Keyword # values Description

CHECK_SIGNS_OF_DEPTHS 1 Integer. Allowable values following this keyword are 0 or 1. If set 

to 1, option turned on, MICA will ascertain the nature of each 

feature (absorption or emission) of a reference material and 

require the continuum-removed feature in the spectrum being 

analyzed to have the same nature. Features with positive depth 

values are absorption features, while those with negative depth 

are emission features. If the nature of any feature does not 

match, the weighted fit value of the material will be set to 0, 

removing the material from consideration as the best match to 

the spectrum being analyzed. If set to 0, turned off, MICA will

not check the nature of features. If not set explicitly in the 

command file, the default value for the keyword is 1 (turned on).

TETRACORDER_OPTIONS 1 Integer. Allowable values following this keyword are 0 or 1. If set 

to 1, option turned on, MICA changes the interpretation of 

command files and the analysis of spectral records and images to 

evaluate spectral feature comparisons using the linear correlation 

coefficient (r) as the measure of spectral agreement, instead of r2, 

the coefficient of determination. As a result, the fit constraints in 

the MICA command file are also interpreted as values of r. The 

switch in the measure of fit also changes the value of the fit that 

is reported. In addition, when the Tetracorder option is turned 

on, NOT features are required to be diagnostic features of a 

listed reference material, including the requirement that the 

continuum endpoints of the NOT feature entry matches the 

continuum endpoints of the corresponding diagnostic feature 

entry. If not set explicitly in the command file, the default value 

for the keyword is 0 (turned off).

FILE_DN_COLORS 1 String. The value following this keyword is the filename (including 

full directory path) of the class values and colors file. There 

should not be any spaces in the filename. The contents of the file

define the class values and colors that are assigned to each 

reference material. The format of this file is shown in appendix 

E. By using this keyword, the user can assign a specific color 

scheme to materials in the summary image. The output file with 

the user assigned class values and colors is named 

―mica_class_allmaterials_userindex‖. If the 

NODATA_VALUE_IMAGE keyword is set, as well, then the 

output file 

―mica_class_allmaterials_userindex_withnondataclass‖ will also 

be created. In the spectral records mode of MICA, this keyword 

has no effect.

SCALEFACTOR_REFERENCE 1 Integer or floating point. The value following this keyword is the 

scale factor applied to all reference spectra and all spectra 

containing NOT features. Spectra are divided by this value. If 

not set in the command file, the user will be prompted to set the 

value during the MICA processing.
281

Table A1. Optional setup keywords and values in the MICA command file.—Continued

Keyword # values Description

SCALEFACTOR_OBSERVED 1 Integer or floating point. The value following this keyword is the 

scale factor applied to all observed spectra, that is, spectra being 

analyzed, both spectral records and image cube spectra. Spectra 

are divided by this value. If not set in the command file, the user 

will be prompted to set the value during the MICA processing.

NODATA_VALUE_IMAGE 1 Integer or floating point. The value following this keyword 

indicates non-data pixels in the input image (before application 

of the value of the SCALEFACTOR_OBSERVED keyword). 

Stated another way, pixels in the image cube with all channels 

equal to this value are defined as non-data pixels. If this 

keyword is set, MICA will differentiate between unmapped 

pixels and non-data pixels by writing additional summary 

images including the non-data pixels as a separate class. The 

non-data class is assigned a color of dark gray and given a class 

value equal to the number of reference materials plus one, for 

example, if there are 60 reference materials, the non-data class is 

given a value of 61. The files containing this class will have 

―_withnondataclass‖ appended to the end of the filename for the 

default and ranked by pixel summary images. If the 

FILE_DN_COLORS keyword is set, then a user indexed 

summary image with the non-data class will also be produced. In 

the spectral records mode of MICA, this keyword has no effect.

DELETED_CHANNELS ≥1 One or more integer values, each separated by a comma. The 

allowable range of each value is 1 to the number of spectrometer 

channels, but values should not be repeated. The indicated 

spectrometer channels will be excluded from the MICA analysis. 

Channels that fall in wavelength regions where strong residual 

atmospheric contamination remains in atmospherically corrected 

or ground calibrated imaging spectrometer data are commonly 

set as deleted channels. In addition, channels at ends of 

spectrometer detectors sometimes suffer from poor response and 

low S/N and may need to be defined as deleted channels.

Omitting this keyword results in all channels being used in 

MICA calculations. 

The following text shows the syntax for these keywords in the command file.

; comment lines are indicated by a semicolon as the first character

;

CHECK_SIGNS_OF_DEPTHS: integer_value

TETRACORDER_OPTIONS: integer_value

FILE_DN_COLORS: string_value

SCALEFACTOR_REFERENCE: numeric_value

SCALEFACTOR_OBSERVED: numeric_value

NODATA_VALUE_IMAGE: numeric_value

DELETED_CHANNELS: integer,integer,integer

The following text shows this section extracted from the sample command file 

―mica_cmds_group2_hymap2007.mcf‖. This command file is included with the PRISM software 

distribution. If step 3 of the installation instructions was followed (see the ―Installation of 

Software‖ section of this report), this file will be located in ―C:\usgsprism\mica_hymap\‖ on 

Windows computers and in ―/var/local/usgsprism/mica_hymap/‖ on Linux computers. This 

command file was developed to detect the occurrences of a set of materials in HyMap imaging 
282

spectrometer data. The reference materials are primarily minerals with diagnostic absorption 

features in the 2 to 2.5 m wavelength region, along with other common surface cover such as 

water, snow, and vegetation. This command file was used to detect and map these materials in a 

large HyMap dataset covering the country of Afghanistan (Kokaly and others, in press).

; comment lines are indicated by a semicolon as the first character

;

CHECK_SIGNS_OF_DEPTHS: 1

TETRACORDER_OPTIONS: 0

FILE_DN_COLORS: C:\usgsprism\mica_hymap\mica_colors_group2_hymap2007.txt

SCALEFACTOR_REFERENCE: 1.0

SCALEFACTOR_OBSERVED: 20000.

NODATA_VALUE_IMAGE: -1

DELETED_CHANNELS: 30,31,32,44,45,46,47,48,60,61,62,63,64,90,91,92,93,94,95,96,124

The next section of the MICA command file defines the wavelength positions of the 

channels in the spectrometer. The reference spectra and spectra being analyzed must have all 

been collected with the same spectrometer characteristics, wavelength, and bandpass (FWHM), 

or have been converted to these characteristics by interpolation (see Function 1.9.7) or 

convolution (see Function 1.9.8). The keyword WAVELENGTHS must be followed by two 

values. The first value to follow is a string of characters indicating the SPECPR filename with 

the record that contains the wavelength values for the spectrometer channels. This filename must 

include the full directory path to the file and it cannot contain a space. The second value is the 

record number within the specified SPECPR file that contains the wavelength values for the 

spectrometer channels. This value is required to be an integer number that matches a data record 

within the SPECPR file. The first value must be separated from the keyword by at least one 

space. Similarly, there must be at least one space between the two values. There cannot be any 

trailing spaces, after the second value, or the MICA program is likely to misinterpret the 

command file and either halt execution with a warning or simply stop working.

The following text shows the syntax for this keyword in the command file.

WAVELENGTHS: string_value integer_value

The following text shows this line extracted from the sample command file.

WAVELENGTHS: C:\usgsprism\mica_hymap\splib06b_cvhymap07_124ch 6

The next section of the MICA command file allows the user to set aliases for values that 

will be repeatedly used in the command file. Subsequently, when the alias is encountered in the 

command file the value of the alias keyword will be substituted in place of the alias name. This 

lets the user set commonly used values, such as overall weighted fit thresholds or depth 

thresholds in one place at the beginning of the command file, where they can be easily changed. 

This section of the command file must begin with the NUM_ALIAS keyword, followed by an 

integer number indicating the number of aliases that will be defined by the following lines in the 

command file. The lines that define the aliases start with the ALIAS keyword, which is followed 

by two values. The number of lines with the ALIAS keyword must equal the number following 

the NUM_ALIAS keyword. As with all keywords, a space must separate each keyword from the 

following value(s). For the ALIAS keyword, the first value is a character string enclosed in 

square brackets. This is the name of the alias. The second is the substitution value of the alias 

and can be a string, integer, or floating point value. The two values must be separated by at least 

one space and neither can contain a space. Wherever the alias name, including the square 

brackets, appears in the command file, the alias substitution value will replace it during the 

parsing of the command file by MICA. The following text shows the syntax for this section of 

the command file.

NUM_ALIAS: integer_value

ALIAS: [string_value_in_square_brackets] string_or_numeric_value
283

The following text shows this section extracted from the sample command file.

NUM_ALIAS: 16

ALIAS: [splib06b_cvhymap] C:\usgsprism\mica_hymap\splib06b_cvhymap07_124ch

ALIAS: [MINFIT] 0.5750

ALIAS: [MINFIT_NOTFEAT] 0.6400

ALIAS: [MINFIT_SERP2] 0.6400

ALIAS: [MINFIT_SERP3AND4] 0.5000

ALIAS: [MINDEPTH_SINGLEFEAT] 0.0050

ALIAS: [MINDEPTH] 0.0100

ALIAS: [MINDEPTH_SERP_TREM] 0.0350

ALIAS: [MINDEPTH_DOLO_MIXES] 0.0250

ALIAS: [MINDEPTH_ALUNITE] 0.0300

ALIAS: [MINDEPTH_ALUNITE_MIXES] 0.0700

ALIAS: [MINDEPTH_MUSC_KAOLJARO_MIXES] 0.0500

ALIAS: [MINDEPTH_KAOL_SMECT_MIX] 0.0300

ALIAS: [MINDEPTH_BUDDINGTONITE] 0.0250

ALIAS: [MINDEPTH_DICKITE] 0.0500

ALIAS: [MIN_REFL_MID] 0.0400

The NUM_ALIAS keyword must be defined in the command file. If the user does not 

want to set any aliases, the value of the NUM_ALIAS keyword can be set to zero (0); in which 

case, no lines with the ALIAS keyword should be present in the command file. Consequently, no 

alias names, in square brackets, should appear anywhere in the command file or the MICA 

processing is likely to halt or hang and, furthermore, the ENVI session could stop working.

The next section of the command file defines the NOT features that could be invoked in 

the definitions of the detection rules for the spectra of reference materials. For additional details 

on NOT features, see the discussion in Module 4. This section of the command file begins with 

the NUM_NOT_FEATURES keyword, which is followed by an integer number indicating the 

number of NOT features that will be defined by subsequent lines in the command file. Three 

lines are required to define each NOT feature, as described in table A2. The number of NOT 

features defined must equal the number following the NUM_NOT_FEATURES keyword. If the 

user does not want to set any NOT features, the user can set the value of the 

NUM_NOT_FEATURES keyword to zero (0); in which case, NOT features should not be 

defined in the command file. Consequently, NOT features should not be invoked anywhere in the 

command file. Alternatively, the user can omit setting the NUM_NOT_FEATURES keyword,

instead of setting it to zero explicitly.

The command file does not need to invoke all of the NOT features listed. In fact, the 

command file does not need to invoke any of the NOT features, if they are not desired. The 

following text shows generic syntax for this section of the command file.

NUM_NOT_FEATURES: integer_value

NOT_FEATURE_ID: integer_value

NOT_FEATURE_SPECPR_RECORD: string_value integer_value

CONTINUUM_ENDPTS: value1 value2 value3 value4

The following text shows the NOT feature definition portion of the sample command file.

; Setup Not Features

;

NUM_NOT_FEATURES: 12

;

;...Not material title = "Fir_Tree IH91-2 W1R1Ba CONV" Feature=1

NOT_FEATURE_ID: 1

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 588

CONTINUUM_ENDPTS: 0.5220 0.5520 0.7370 0.7670

;

;...Not material title = "Muscovite GDS113 Ruby W1R1Bb CONV" Feature=2

NOT_FEATURE_ID: 2
284

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 308

CONTINUUM_ENDPTS: 2.2770 2.3100 2.3860 2.4150

;

;...Not material title = "Alunite GDS96 K Syn (250C) W2R4Na CONV" Feature=2

NOT_FEATURE_ID: 3

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 945

CONTINUUM_ENDPTS: 1.443 1.464 1.50000 1.5243

;

;...Not material title = "Alunite RES-3 Na Syn (450C) W2R4Na CONV" Feature=2

NOT_FEATURE_ID: 4

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 948

CONTINUUM_ENDPTS: 1.4630 1.4797 1.5150 1.5459

;

;...Not material title = "Gypsum HS333.3B (Selenite) W1R1Ba CONV" Feature=2

NOT_FEATURE_ID: 5

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 191

CONTINUUM_ENDPTS: 1.5000 1.5200 1.5800 1.6000

;

;...Not material title = "Chlorite+Muscovite CU93-65A W1R1Ba CONV" Feature=1

NOT_FEATURE_ID: 6

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 511

CONTINUUM_ENDPTS: 0.7818 0.8142 1.2767 1.3200

;

;...Not material title = "Epidote GDS26.a 75-200um W1R1Bb CONV" Feature=1

NOT_FEATURE_ID: 7

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 159

CONTINUUM_ENDPTS: 2.2080 2.2280 2.2680 2.2900

;

;...Not material title = "Grass_Golden_Dry GDS480 W1R1Fa CONV" Feature=2.1 micron

NOT_FEATURE_ID: 8

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 812

CONTINUUM_ENDPTS: 2.0200 2.0600 2.1980 2.2280

;

;...Not material title = "Lodgepole-Pine LP-Needles-3 W1R1Fa CONV" Feature=2.1 micron

NOT_FEATURE_ID: 9

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 831

CONTINUUM_ENDPTS: 2.0200 2.0600 2.1980 2.2280

;

;...Not material title = "Grass_Golden_Dry GDS480 W1R1Fa CONV" Feature=2.3 micron

NOT_FEATURE_ID: 10

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 812

CONTINUUM_ENDPTS: 2.2100 2.2400 2.380 2.4150

;

;...Not material title = "Lodgepole-Pine LP-Needles-3 W1R1Fa CONV" Feature=2.3 micron

NOT_FEATURE_ID: 11

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 831

CONTINUUM_ENDPTS: 2.2100 2.2400 2.390 2.4190

;

;...Not material title = "Calcite WS272 W1R1Ba CONV" Feature=2.15 micron

NOT_FEATURE_ID: 12

NOT_FEATURE_SPECPR_RECORD: [splib06b_cvhymap] 94

CONTINUUM_ENDPTS: 2.0900 2.1200 2.1800 2.2050
285

Table A2. Keywords and values required to define NOT features in the MICA command file.

Keyword # 

values Description

NOT_FEATURE_ID 1 Integer. Allowed values for this keyword range from 1 to 

the number of NOT features specified by the 

NUM_NOT_FEATURES keyword. In the entries for 

the reference spectra, the NOT features are invoked by 

specifying a NOT_FEATURE_ID number.

NOT_FEATURE_SPECPR_RECORD 2 String value and integer value. The first value to follow is 

a string of characters indicating the SPECPR filename 

with the data record that contains the spectrum with the 

NOT feature. This filename includes the full directory 

path to the file and it cannot contain a space. The 

second value is the record number within the specified 

SPECPR file that contains the spectrum with the NOT 

feature. This value is required to be an integer number 

that matches a data record within the SPECPR file. The 

data record must have the same number of channels as 

the wavelength data specified by the WAVELENGTHS

keywords. The first value must be separated from the 

keyword by at least one space. Similarly, there must be 

at least one space between the first and second values. 

There cannot be any trailing spaces, that is, spaces after 

the second value, or the MICA program is likely to 

misinterpret the command file and either halt execution 

with a warning or simply stop working.

NOT_FEATURE_CONTINUUM_ENDPTS 4 Four numeric values each separated by a space. The first 

two values specify the wavelength range for the left 

continuum endpoint of the NOT feature. The third and

fourth values specify the wavelength range for the right 

continuum endpoint of the NOT feature. MICA will 

search the channels of the spectrometer to determine 

which of them fall within these endpoint ranges. The 

reflectance and wavelength values of channels within 

each range will be averaged and used to establish the 

equation of the continuum line. Every channel in the 

continuum endpoint ranges and all the channels 

between them will be divided by the corresponding

values of the continuum line in the computation of the 

continuum-removed spectrum. At least one channel, 

that is not a deleted channel, must fall within the 

endpoint ranges.

If the TETRACORDER_OPTIONS keyword is turned on, then a NOT feature used as 

relative NOT feature in the definition of detection rules for reference spectra must have the exact 

continuum endpoints as a diagnostic feature in one of the reference spectra listed subsequently in 

the command file.

The main section of the MICA command file lists the spectra of reference materials, the 

continuum endpoints of their diagnostic features, weighting factors applied to the fit values of 

these features, and constraints on feature values and continuum values. The entry for each

reference spectrum can also invoke one or more of the previously defined NOT features, if 

desired. This section of the MICA command file starts with a line specifying the number of 
286

reference spectra, using the NUM_REFERENCE_ENTRIES keyword. Following that line, each 

reference spectrum and its detection rules are defined. The first three lines of each reference 

entry sets up the spectrum of the reference material, defining values for the 

REFERENCE_SPECPR_RECORD, OUTPUT_NAME, and NUM_FEATURES keywords. 

Subsequent lines define the diagnostic spectral features, NOT features, and constraint thresholds. 

The general syntax of the reference entry keywords is given below, with the material setup 

parameters shown in black at the beginning of the reference entry block, the diagnostic feature 

keywords shown in red, followed by the absolute NOT feature keywords shown in green, the 

relative NOT feature keywords shown in blue, the weighted feature constraints following in 

black, and finishing with the keyword END_REFERENCE_ENTRY, which is required at the 

end of each block of keywords for a reference material.

NUM_REFERENCE_ENTRIES: integer_value

;

REFERENCE_SPECPR_RECORD: string_value integer_value

OUTPUT_NAME: string_value

NUM_FEATURES: integer_value integer_value

FEATURE_TYPE: string_value

FEATURE_WEIGHT: numeric_value

CONTINUUM_ENDPTS: value1 value2 value3 value4

CONTINUUM_CONSTRAINTS: eight_numeric_values_separated_by_at_least_one_space

FIT_CONSTRAINTS: numeric_value

DEPTH_CONSTRAINTS: numeric_value numeric_value

FEATURE_TYPE: string_value

NOT_FEATURE_ID: integer_value

NOT_FEATURE_FIT_CONSTRAINTS: numeric_value

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: numeric_value

FEATURE_TYPE: string_value

NOT_FEATURE_ID: integer_value

NOT_FEATURE_FIT_CONSTRAINTS: numeric_value

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: integer_value numeric_value

WEIGHTED_FIT_DEPTH_CONSTRAINTS: four_numeric_values_separated_by_at_least_one_space

END_REFERENCE_ENTRY:

The feature setup section is required and at least one diagnostic feature needs to be defined for each 

reference spectrum. Listing of additional diagnostic features is optional. Also optional are absolute NOT 

features and relative NOT features. The command line with the WEIGHTED_FIT_DEPTH_CONSTRAINTS 

needs to be present, though constraint values do not have to be set. In fact, all constraint values are 

optional. If the user does not wish to set them, the user can use put a value of -99.99 in the position of the 

constraint value and MICA will ignore the checking of this constraint. Tables A3–A5 describe the values for 

the feature setup, diagnostic feature, and NOT feature keywords, respectively.
287

Table A3. Keywords and values required to set up a spectrum of a reference material.

Keyword #

values Description

NUM_REFERENCE_ENTRIES 1 Integer. Must equal the number of reference materials, that is, the 

number of reference spectra listed subsequently in the command 

file. This keyword is defined only once in the command file, 

after the setup of the NOT features and directly preceding the 

listing of the reference spectra.

REFERENCE_SPECPR_RECORD 2 String value and integer value. The first value to follow is a string 

of characters indicating the SPECPR filename with the data 

record that contains the spectrum with the diagnostic feature(s). 

This filename includes the full directory path to the file and it 

cannot contain a space. The second value is the record number 

within the specified SPECPR file that contains the spectrum 

with the diagnostic feature(s). This value is required to be an 

integer number that matches a data record within the SPECPR 

file. The data record must have the same number of channels as 

the wavelength record specified by the WAVELENGTHS 

keywords. The first value must be separated from the keyword 

by at least one space. Similarly, there must be at least one space 

between the first and second values. There cannot be any trailing 

spaces, after the second value, or the MICA program is likely to 

misinterpret the command file and either halt execution with a 

warning or simply stop working. Reference spectra and spectra 

containing NOT features are not required to come from the same 

SPECPR file. Any number of SPECPR files can be used, as 

required.

OUTPUT_NAME 1 String of characters. The value of this keyword is used in reporting 

the best match and interim results during the MICA processing, 

for the reference material. The value cannot contain a space. In 

MICA image cube mode, output images for fit, depth, and 

fit*depth will be produced showing the pixels that matched this 

reference material, with filenames formed by adding ―_fit‖, 

―_depth‖, and ―_fd‖ extensions to the value of the 

OUTPUT_NAME keyword. The files are written to the output 

directory defined interactively by the user when running MICA 

in image cube mode. In the summary images, the class name for 

pixels that were matched to the reference entry is given the value 

of the OUTPUT_NAME keyword. Output names need to be 

unique, that is, two reference materials cannot use the same 

output name.

NUM_FEATURES 2 Two integer values separated by one or more spaces. The first value 

is the number of diagnostic features that will be defined in the 

keywords to follow for this reference spectrum. It must be 

greater than or equal to one (1). The second value is the number 

of NOT features that will be invoked in the keywords to follow 

for this reference spectrum. It must be greater than or equal to

zero (0). 
288

Table A4. Keywords and values required to define diagnostic features in the MICA command file.

Keyword #

values Description

FEATURE_TYPE 1 String. The only allowed values for this keyword are ―Diagnostic‖

and ―Not‖. This value must be set to ―Diagnostic‖ in order to 

define a diagnostic feature in the reference spectrum. 

FEATURE_WEIGHT 1 Numeric value ranging from 0 to 1. The sum of all weighting 

factors for the diagnostic features defined for a reference 

spectrum must sum to 1, within the allowable tolerance of 

0.001.

CONTINUUM_ENDPTS 4 Four numeric values each separated by at least one space. The first 

two values specify the wavelength range for the left continuum 

endpoint of the diagnostic feature. The third and fourth values 

specify the wavelength range for the right continuum endpoint 

of the diagnostic feature. MICA will search the channels of the 

spectrometer to determine which of them fall within these 

endpoint ranges. The reflectance and wavelength values of 

channels within each range will be averaged and used to 

establish the equation of the continuum line. Every channel in 

the continuum endpoint ranges and all the channels between 

them will be divided by the corresponding values of the 

continuum line in the computation of the continuum-removed 

spectrum. At least one channel, that is not a deleted channel, 

must fall within the endpoint ranges. The continuum-removed 

feature calculated using the analyzed spectrum is compared to 

the feature in the reference spectrum

CONTINUUM_CONSTRAINTS 8 Eight numeric values each separated by at least one space. These 

values, in order, are:

the minimum required value for the reflectance level of the left 

continuum endpoint,

the maximum allowed reflectance value for the left continuum 

endpoint,

the minimum required value for the computed reflectance level of 

the midpoint of the continuum line,

the maximum allowed value for the computed reflectance level of 

the midpoint of the continuum line,

the minimum required value for the reflectance level of the right 

continuum endpoint,

the maximum allowed reflectance value for the right continuum 

endpoint,

the minimum required value for the ratio of the averaged 

reflectance value for channels within the right continuum 

endpoint wavelength range divided by the averaged reflectance 

value for channels within the left continuum endpoint 

wavelength range, and

the maximum allowed value for this ratio of continuum endpoints.
289

Table A4. Keywords and values required to define diagnostic features in the MICA command file.—

Continued

Keyword #

values Description

CONTINUUM_CONSTRAINTS—

continued

8 Reflectance level thresholds are expected to fall in the range from 

0 to 1. The spectrum being analyzed, after being divided by the 

value of the SCALEFACTOR_OBSERVED keyword, is used 

to calculate the values to compare with these defined thresholds.

If any of the calculated values violate a constraint, then the 

weighted fit value of the reference material will be set to zero, 

removing it from consideration as the best match to the 

spectrum being analyzed. Table 3 in the Module 4 section of 

this user’s guide explains the use of these values during the 

MICA processing. If the user does not wish to set a constraint, a 

value of -99.99 should be placed in the position of the constraint 

value and MICA will ignore the checking of this constraint.

Constraints are not required to be set; all constraints can be 

ignored, set equal to -99.99, if desired. 

FIT_CONSTRAINTS 1 Numeric value ranging from 0 to 1. The value set for the keyword 

is the minimum required fit for this diagnostic feature. The fit 

value is calculated from the spectral feature comparison of the 

continuum-removed feature in the reference spectrum with the 

continuum-removed feature in the spectrum being analyzed. In 

MICA, this fit value is the coefficient of determination, r2, 

which results from the linear regression of the continuumremoved spectra (see Function 1.7.1 for additional details). 

However, setting the TETRACORDER_OPTIONS keyword to 

1 changes the measure of fit to the linear correlation coefficient, 

r. If the user does not wish to set the constraint, a value of -

99.99 should be placed in the position of the constraint value 

and MICA will ignore the checking of this constraint. The 

constraint is not required to be set. If it is set and the calculated 

fit value violates the constraint, then the weighted fit value of 

the reference material will be set to zero, removing it from 

consideration as the best match to the spectrum being analyzed.
290

Table A4. Keywords and values required to define diagnostic features in the MICA command file.—

Continued

Keyword #

values Description

DEPTH_CONSTRAINTS 2 Two numeric values, separated by at least one space. These can be 

positive or negative numbers. Positive depth thresholds are 

consistent with absorption features, while negative depths are 

reported for emission features. The first value is the minimum 

required depth value for this diagnostic feature. The second is 

the maximum allowed depth for the diagnostic feature. The 

depth compared to these thresholds comes from the reference 

spectral feature scaled to the spectrum being analyzed. It is the 

depth calculated using a quadratic function fitted to the three 

channels at the center of the feature, that is, the band minimum 

channel and one channel on either side (DSQref) that is compared 

(see Function 1.7.1 for additional details). If the user does not 

wish to set a constraint, a value of -99.99 should be placed in 

the position of the constraint value and MICA will ignore the 

checking of it. Constraints are not required to be set; all 

constraints can be ignored, set equal to -99.99, if desired. If 

either or both are set, and the calculated depth value violates the 

defined constraints, then the weighted fit value of the reference 

material will be set to zero, removing it from consideration as 

the best match to the spectrum being analyzed.
291

Table A5. Keywords and values required to invoke NOT features in the MICA command file.—Continued

Keyword #

values Description

FEATURE_TYPE 1 String. The only allowed values for this keyword are 

―Diagnostic‖ and ―Not‖. This value must be set to 

―Not‖ in order to invoke a NOT feature.

NOT_FEATURE_ID 1 Allowable values are from 1 to the number of NOT 

features defined previously, at the beginning of the 

command file. Of those listed at the beginning of the 

command file, the NOT feature invoked for the 

reference material is the one with the 

NOT_FEATURE_ID number that matches the value of 

the keyword set here.

NOT_FEATURE_FIT_CONSTRAINTS 1 Numeric value ranging from 0 to 1. The value set for the 

keyword is the minimum required fit value for this 

diagnostic feature. The fit value is calculated from the 

spectral feature comparison of the continuum-removed 

NOT feature defined by the NOT_FEATURE_ID 

keyword with the continuum-removed feature in the 

spectrum being analyzed. In MICA, this fit value is the 

coefficient of determination, r2, that results from the 

linear regression of the continuum-removed spectra (see 

Function 1.7.1 for additional details). However, setting 

the TETRACORDER_OPTIONS keyword to 1 changes 

the measure of fit to the linear correlation coefficient, r. 

Both absolute NOT features and relative NOT features 

require this line in the command file. If the user does 

not wish to set the fit constraint, a value of -99.99 

should be placed in the position of the constraint value 

and MICA will ignore the checking of this constraint.

However, the constraint should be set; otherwise, any fit 

value could result in the determination that this NOT 

feature has been found in the spectrum being analyzed. 

If the fit value for the NOT feature does exceed the 

value of this keyword and the depth of the feature meets 

the NOT feature depth constraints, the NOT feature is 

considered to be present in the spectrum being 

analyzed, and the weighted fit of the reference spectrum 

that invoked the NOT feature will be set to zero, 

removing it from consideration as the best match to the 

spectrum being analyzed.
292

Table A5. Keywords and values required to invoke NOT features in the MICA command file.—Continued

Keyword #

values Description

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS 1 Numeric value, it can be positive or negative. Either this 

keyword is specified for a NOT feature or the relative 

NOT feature depth constraint keyword is specified; they 

cannot both be listed for the same NOT feature invocation. 

The value set for the keyword is the minimum required 

depth for this NOT feature. The depth which is compared 

to this threshold value comes from the invoked NOT

feature scaled to the continuum-removed feature in the 

spectrum being analyzed. It is the scaled depth calculated 

using a quadratic function fitted to the three channels at 

the center of the feature, that is, the band minimum 

channel and one channel on either side, which is used (see 

Function 1.7.1 for additional details). This depth is termed 

DSQnot. If the user does not wish to set a constraint, a value 

of -99.99 should be placed in the position of the constraint 

value and MICA will ignore the checking of this 

constraint. However, the constraint should be set, 

otherwise, any depth value could result in the 

determination that this NOT feature has been found in the 

spectrum being analyzed. For an absolute NOT feature to 

be found to be present in the spectrum being analyzed the 

NOT feature fit threshold must be met and DSQnot >

absolute_depth_threshold. If the absolute NOT feature is 

found to be present, the weighted fit of the material that 

invoked the NOT feature is set to zero, removing it from 

consideration as the best match to the spectrum being 

analyzed.

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS 2 Integer value followed by numeric value, separated from one 

another by at least one space. Either this keyword is 

specified for a NOT feature or the absolute NOT feature 

depth constraint keyword is specified; they cannot both be 

listed for the same NOT feature invocation. The first 

value, the relative feature id number, specifies the relative 

feature in the spectrum of the invoked NOT feature that 

will be used in the establishment of the minimum depth 

threshold. This relative feature is one of the diagnostic 

features of the reference spectrum that matches the 

spectrum of the invoked NOT feature. The match between 

the invoked NOT spectrum and the reference spectrum is 

determined by MICA as the reference spectrum that has 

the same SPECPR file and record, specified by its 

REFERENCE_SPECPR_RECORD keyword, as the 

NOT_FEATURE_SPECPR_RECORD keyword values of 

the invoked NOT feature. The relative feature id number 

specifies which diagnostic feature of the matching 

reference spectrum should be used, where the diagnostic 

features are numbered, starting from one, in the order they 

occur after the feature setup keywords.
293

Table A5. Keywords and values required to invoke NOT features in the MICA command file.—Continued

Keyword #

values Description

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS—

continued

2 For example, if the relative feature id number of the 

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS

keyword is 1, then the first diagnostic feature of the 

reference spectrum matched to the invoked NOT spectrum 

is used; if it is 2, the second diagnostic feature is used, and 

so forth. This relative feature is scaled to the continuumremoved feature in the spectrum being analyzed and the 

quadratic fit to the three band center channels is used to 

calculate the depth (DSQrelative). The second value of this 

keyword is the multiplication factor to apply to the 

calculated DSQrelative, the product of these two terms is the 

depth threshold against which to evaluate the depth of the 

NOT feature. The depth of the NOT feature comes from 

the invoked NOT feature scaled to the continuumremoved feature in the spectrum being analyzed. It is the 

scaled depth calculated using a quadratic function fitted to 

the three channels at the center of the feature, that is, the 

band minimum channel and one channel on either side

that is used. This depth is termed DSQnot. For a relative 

NOT feature to be found to be present in the spectrum 

being analyzed:

DSQnot > DSQrelative * multiplier_factor

If the relative NOT feature is found to be present, the 

weighted fit of the material that invoked the NOT feature 

is set to zero, removing it from consideration as the best 

match to the spectrum being analyzed.

The weighted feature keyword, WEIGHTED_FIT_DEPTH_CONSTRAINTS, is 

followed by four numeric values, each separated by at least one space. These values, in order, are 

the minimum required weighted fit, minimum required weighted depth, maximum allowable 

weighted depth, and the minimum required weighted fit*depth. Additional details on these 

values are given in table A6. The final line of each reference material entry is the keyword 

END_REFERENCE_ENTRY. This keyword must be present at the end of the reference material 

entry and has no following values.
294

Table A6. Values for the WEIGHTED_FIT_DEPTH_CONSTRAINTS keyword in the MICA command file.

Value Description

Minimum weighted fit Numeric value, ranging from 0 to 1. The summation of the diagnostic 

feature fit values multiplied by their feature weighting factors must 

be greater than the value following this keyword. Otherwise, the 

weighted fit value for the material will be set to zero, removing the 

material from consideration as the best fit to the spectrum being 

analyzed. See appendix B for a sample calculation.

Minimum weighted depth Numeric value. The summation of the diagnostic feature depth values 

multiplied by their weighting factors must be greater than this 

keyword value. Otherwise, the weighted fit value for the material 

is set to zero, removing the material from consideration as the best 

fit to the spectrum being analyzed. Special treatment dependent on 

the nature of the feature (absorption or emission) is made to sum 

the depths. Absorption feature depths are added together with the 

absolute value of the depth of emission features (which inherently 

have negative depths). Thus, all features contribute positively to 

the weighted depth value that is compared to this keyword value, 

as long as they have the expected nature, that is, as long as the 

spectrum being analyzed has an absorption feature where the 

diagnostic feature is an absorption feature and an emission feature 

where the diagnostic feature is an emission feature. If the nature of 

a feature is opposite of the expected, the depth of the feature is 

multiplied by its weighting factor and by -1. Thus, if an absorption 

feature is expected, but the observed spectrum has an emission 

feature, the weighted depth of that feature contributes negatively to 

the overall weighted depth for the material. See appendix B for a 

sample calculation.

Maximum weighted depth Numeric value. The summation of the diagnostic feature depth values 

multiplied by their feature weighting factors must be less than this 

keyword value. Otherwise, the weighted fit value for the material 

is set to zero, removing the material from consideration as the best 

fit to the spectrum being analyzed. If a reference material has both 

absorption and emission features defined, special treatment is done 

to sum the depths. Absorption feature depths are added together 

with the absolute value of emission features (which inherently 

have negative depths). Thus, all features contribute positively to 

the weighted depth value that is compared to this keyword value, 

as long as they have the expected nature, that is, as long as the 

spectrum being analyzed has an absorption feature where the 

diagnostic feature is an absorption feature and an emission feature 

where the diagnostic feature is an emission feature. If the nature of 

a feature is opposite of the expected, the depth of the feature is 

multiplied by its weighting factor and by -1. Thus, if an absorption 

feature is expected, but the observed spectrum has an emission 

feature, the weighted depth of that feature contributes negatively to 

the overall weighted depth for the material. See appendix B for a 

sample calculation.
295

Table A6. Values for the WEIGHTED_FIT_DEPTH_CONSTRAINTS keyword in the MICA command 

file.—Continued

Value Description

Minimum weighted fit*depth Numeric value, ranging from 0 to 1. The summation of the diagnostic 

feature fit*depth values multiplied by their weighting factors must 

be greater than this keyword value. Otherwise, the weighted fit 

value for the material is set to zero, removing the material from 

consideration as the best fit to the spectrum being analyzed. As

with the weighted depth. Special treatment is done to sum the 

fit*depths. Absorption feature fit*depth values are added together 

with the absolute values of the fit*depth emission features (which 

inherently have negative depths). Thus, all features contribute 

positively to the weighted fit*depth value that is compared to this 

keyword value, as long as they have the expected nature, that is, as 

long as the spectrum being analyzed has an absorption feature 

where the diagnostic feature is an absorption feature and an 

emission feature where the diagnostic feature is an emission 

feature. If the nature of a feature is opposite of the expected, the 

depth of the feature is multiplied by its weighting factor and by -1. 

Thus, if an absorption feature is expected, but the observed 

spectrum has an emission feature, the weighted fit*depth of that 

feature contributes negatively to the overall weighted fit*depth for 

the material. See appendix B for a sample calculation.

The following text shows an example reference material entry section extracted from the 

sample command file, with the same color codes as the generic entry; note: some alias names are 

present, as indicated by the square brackets.

REFERENCE_SPECPR_RECORD: [splib06b_cvhymap] 94

OUTPUT_NAME: calcite_abundant

NUM_FEATURES: 2 4

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.0000

CONTINUUM_ENDPTS: 2.1780 2.2080 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.0000

CONTINUUM_ENDPTS: 2.0900 2.1200 2.1800 2.2050

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 6

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 7

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.0800

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]
296

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

The command file must end with the END_CMDFILE keyword, which is not followed 

by any values, as shown below.

END_CMDFILE:

The following pages show the sample MICA command file

―mica_cmds_group2_hymap2007.mcf‖. This command file was developed to detect the 

occurrences of a set of materials in the pixels of HyMap imaging spectrometer data. The 

reference materials are primarily minerals with diagnostic absorption features in the 2 to 2.5 m 

wavelength region, along with other common surface cover such as water, snow, and vegetation. 

This command file was used to detect and map these materials in a large HyMap dataset 

covering the country of Afghanistan (Kokaly and others, in press). This command file is included 

with the PRISM software distribution. If the default directory in step 3 of the installation 

instructions was used (see the ―Installation of Software‖ section of this report), then the file will 

be located in ―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. Annotations explaining the structure 

of the MICA command file are marked on the listing of the sample command file. 
297
298

;............................................Not material title = "Muscovite GDS113 Ruby W1R1Bb CONV" Feature=2

NOT_FEATURE_ID: 2

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 308

CONTINUUM_ENDPTS: 2.2770 2.3100 2.3860 2.4150

;

;............................................Not material title = "Alunite GDS96 K Syn (250C) W2R4Na CONV" Feature=2

NOT_FEATURE_ID: 3

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 945

CONTINUUM_ENDPTS: 1.443 1.464 1.50000 1.5243

;

;............................................Not material title = "Alunite RES-3 Na Syn (450C) W2R4Na CONV" Feature=2

NOT_FEATURE_ID: 4

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 948

CONTINUUM_ENDPTS: 1.4630 1.4797 1.5150 1.5459

;

;............................................Not material title = "Gypsum HS333.3B (Selenite) W1R1Ba CONV" Feature=2

NOT_FEATURE_ID: 5

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 191

CONTINUUM_ENDPTS: 1.5000 1.5200 1.5800 1.6000

;

;............................................Not material title = "Chlorite+Muscovite CU93-65A W1R1Ba CONV" Feature=1

NOT_FEATURE_ID: 6

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 511

CONTINUUM_ENDPTS: 0.7818 0.8142 1.2767 1.3200

;

;............................................Not material title = "Epidote GDS26.a 75-200um W1R1Bb CONV" Feature=1

NOT_FEATURE_ID: 7

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 159

CONTINUUM_ENDPTS: 2.2080 2.2280 2.2680 2.2900

;

;............................................Not material title = "Grass_Golden_Dry GDS480 W1R1Fa CONV" Feature=2.1 micron

NOT_FEATURE_ID: 8

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 812

CONTINUUM_ENDPTS: 2.0200 2.0600 2.1980 2.2280

;

;............................................Not material title = "Lodgepole-Pine LP-Needles-3 W1R1Fa CONV" Feature=2.1 micron

NOT_FEATURE_ID: 9

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 831

CONTINUUM_ENDPTS: 2.0200 2.0600 2.1980 2.2280

;

;............................................Not material title = "Grass_Golden_Dry GDS480 W1R1Fa CONV" Feature=2.3 micron

NOT_FEATURE_ID: 10

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 812

CONTINUUM_ENDPTS: 2.2100 2.2400 2.380 2.4150

;

;............................................Not material title = "Lodgepole-Pine LP-Needles-3 W1R1Fa CONV" Feature=2.3 micron

NOT_FEATURE_ID: 11

NOT_FEATURE_SPECPR_RECORD:[splib06b_cvhymap] 831
299
300
301

CONTINUUM_ENDPTS: 0.8700 0.9200 1.0800 1.1100

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] 0.5000 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.6500

CONTINUUM_ENDPTS: 1.0800 1.1300 1.3150 1.3450

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.0300 -99.99 -99.99 -99.99 -99.99 0.9091

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 1

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.5000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] 0.0500 -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Seawater_Coast_Chl SW1 W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 566

OUTPUT_NAME: water

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 0.5300 0.5850 2.1900 2.2800

CONTINUUM_CONSTRAINTS: 0.0000 0.1900 -99.99 -99.99 0.0000 0.0800 -99.99 1.0000

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 0.4290 0.4590 0.6100 0.6400

CONTINUUM_CONSTRAINTS: 0.0000 0.1400 -99.99 -99.99 0.0000 0.1400 -99.99 1.5000

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] 0.0300 -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Water+Montmor SWy-2+5.01g/l W1R1Fa CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 704

OUTPUT_NAME: water_sediment_high

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.8000

CONTINUUM_ENDPTS: 0.8700 0.9130 1.0550 1.0850

CONTINUUM_CONSTRAINTS: 0.0000 0.2800 -99.99 -99.99 0.0000 0.2400 -99.99 1.1000

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99
302

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 0.6920 0.7220 0.7920 0.8220

CONTINUUM_CONSTRAINTS: 0.0000 0.4200 -99.99 -99.99 0.0000 0.3500 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 0.7300 0.7600 0.8340 0.8640

CONTINUUM_CONSTRAINTS: 0.0000 0.3200 -99.99 -99.99 0.0000 0.3200 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] 0.0300 -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Water+Montmor SWy-2+0.5g/l W1R1Fa CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 701

OUTPUT_NAME: water_sediment_low

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.8000

CONTINUUM_ENDPTS: 0.8700 0.9110 1.0520 1.0820

CONTINUUM_CONSTRAINTS: 0.0000 0.1400 -99.99 -99.99 0.0000 0.1200 -99.99 1.1000

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 0.7300 0.7600 0.8340 0.8640

CONTINUUM_CONSTRAINTS: 0.0000 0.1400 -99.99 -99.99 0.0000 0.1400 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 0.6800 0.7100 0.7960 0.8260

CONTINUUM_CONSTRAINTS: 0.0000 0.1800 -99.99 -99.99 0.0000 0.1500 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] 0.0300 -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Grass_Golden_Dry GDS480 W1R1Fa CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 812

OUTPUT_NAME: dry_veg_grass

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.50
303

CONTINUUM_ENDPTS: 2.0200 2.0600 2.1980 2.2280

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.1000 -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: [MINDEPTH_SINGLEFEAT] -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.50

CONTINUUM_ENDPTS: 2.2100 2.2400 2.380 2.4150

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.1000 -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: [MINDEPTH_SINGLEFEAT] -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Grass_Golden_Dry GDS480 W1R1Fa CONV"

2.3 micron

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 812

OUTPUT_NAME: dry_veg_grass_2_3um

NUM_FEATURES: 1 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.00

CONTINUUM_ENDPTS: 2.2100 2.2400 2.380 2.4150

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.1000 -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: [MINDEPTH_SINGLEFEAT] -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Lodgepole-Pine LP-Needles-3 W1R1Fa CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 831

OUTPUT_NAME: dry_veg_nongrass

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.50

CONTINUUM_ENDPTS: 2.0200 2.0600 2.1980 2.2280

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.1000 -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: [MINDEPTH_SINGLEFEAT] -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.50

CONTINUUM_ENDPTS: 2.2100 2.2400 2.390 2.4190

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.1000 -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: [MINDEPTH_SINGLEFEAT] -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;
304

;

;............................................................Material SPECPR Title = "Lodgepole-Pine LP-Needles-3 W1R1Fa CONV"

2.3 micron

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 831

OUTPUT_NAME: dry_veg_nongrass_2_3um

NUM_FEATURES: 1 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.00

CONTINUUM_ENDPTS: 2.2100 2.2400 2.390 2.4190

CONTINUUM_CONSTRAINTS: -99.99 -99.99 0.1000 -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: [MINDEPTH_SINGLEFEAT] -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Muscovite CU93-1 low-Al Phyl W2R4Nb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 965

OUTPUT_NAME: muscovite_lowAl

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.7500

CONTINUUM_ENDPTS: 2.1300 2.1565 2.2658 2.2900

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.2500

CONTINUUM_ENDPTS: 2.2872 2.3052 2.3953 2.4200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Muscovite-medlowAl CU91-250A W1R1Fb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 674

OUTPUT_NAME: muscovite_medAl

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.7500

CONTINUUM_ENDPTS: 2.1284 2.1510 2.2500 2.2872

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.2500
305

CONTINUUM_ENDPTS: 2.2782 2.2984 2.3874 2.4200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Muscovite GDS113 Ruby W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 308

OUTPUT_NAME: muscovite_medhighAl

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.7500

CONTINUUM_ENDPTS: 2.1180 2.1510 2.2670 2.2960

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.2500

CONTINUUM_ENDPTS: 2.2770 2.3100 2.3860 2.4150

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Muscovite GDS116 Tanzania W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 310

OUTPUT_NAME: muscovite_Fe-rich

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.7500

CONTINUUM_ENDPTS: 2.1280 2.1580 2.2770 2.3060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.2500

CONTINUUM_ENDPTS: 2.2870 2.3060 2.4050 2.4350

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;
306

;............................................................Material SPECPR Title = "Illite IMt-1.b <2um W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 236

OUTPUT_NAME: illite

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.7500

CONTINUUM_ENDPTS: 2.1170 2.1570 2.2660 2.3000

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.2500

CONTINUUM_ENDPTS: 2.2800 2.3060 2.3850 2.4150

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Illite GDS4 (Marblehead) W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 232

OUTPUT_NAME: illite_gds4

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.7500

CONTINUUM_ENDPTS: 2.1250 2.1550 2.2660 2.3000

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.2500

CONTINUUM_ENDPTS: 2.2750 2.3060 2.3850 2.4150

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Kaolinite CM9 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 252

OUTPUT_NAME: kaolinite_wxl

NUM_FEATURES: 1 3

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0780 2.1080 2.2370 2.2670
307
308

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.3000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.3000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Dickite NMNH106242 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 144

OUTPUT_NAME: kaol_possible_alunite_or_dickite

NUM_FEATURES: 1 3

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0580 2.0880 2.2370 2.2670

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 2

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_DICKITE] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Buddingtonite GDS85 D-206 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 87

OUTPUT_NAME: buddingtonite

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0540 2.0860 2.2770 2.3060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99
309

FEATURE_TYPE: Not

NOT_FEATURE_ID: 10

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0500

FEATURE_TYPE: Not

NOT_FEATURE_ID: 11

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0500

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_BUDDINGTONITE] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV"

;

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 973

OUTPUT_NAME: buddingtonite+montmorillonite

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0540 2.0860 2.2770 2.3060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 10

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0500

FEATURE_TYPE: Not

NOT_FEATURE_ID: 11

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0500

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_BUDDINGTONITE] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Alunite GDS96 K Syn (250C) W2R4Na CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 945

OUTPUT_NAME: alunite_K_250c

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 2.0282 2.0650 2.2350 2.2600

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 1.443 1.464 1.50000 1.5243

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99
310

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_ALUNITE] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Alunite RES-3 Na Syn (450C) W2R4Na CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 948

OUTPUT_NAME: alunite_Na_450c

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 2.0282 2.0650 2.2350 2.2600

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 1.4630 1.4797 1.5150 1.5459

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_ALUNITE] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Pyrophyllite PYS1A fine gr W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 380

OUTPUT_NAME: pyrophyllite

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0900 2.1280 2.2100 2.2400

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: 0.02 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Jarosite GDS24 Na W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 241

OUTPUT_NAME: jarosite_Na

NUM_FEATURES: 1 0

FEATURE_TYPE: Diagnostic
311

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0690 2.0990 2.3270 2.3570

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Jarosite GDS99 K 200C Syn W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 243

OUTPUT_NAME: jarosite_K

NUM_FEATURES: 1 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0690 2.0990 2.3270 2.3570

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Montmorillonite SWy-1 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 302

OUTPUT_NAME: montmorillonite_Na

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1180 2.1550 2.2500 2.2870

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 2

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.1500

FEATURE_TYPE: Not

NOT_FEATURE_ID: 5

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Montmorillonite SAz-1 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 298

OUTPUT_NAME: montmorillonite_Ca

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000
312

CONTINUUM_ENDPTS: 2.1480 2.1780 2.2500 2.2870

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 2

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.1500

FEATURE_TYPE: Not

NOT_FEATURE_ID: 5

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Gypsum HS333.3B (Selenite) W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 191

OUTPUT_NAME: gypsum

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.3333

CONTINUUM_ENDPTS: 2.0750 2.1000 2.2900 2.3250

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.3333

CONTINUUM_ENDPTS: 1.5000 1.5200 1.5800 1.6000

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: 0.8000

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.3334

CONTINUUM_ENDPTS: 1.6800 1.7100 1.7650 1.7850

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: 0.8000

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Chlorite SMR-13.b 60-104um W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 109

OUTPUT_NAME: chlorite_lowFe

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.6000

CONTINUUM_ENDPTS: 2.1600 2.1900 2.4040 2.4400

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99
313

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 2.1880 2.2180 2.2580 2.2900

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.3000

CONTINUUM_ENDPTS: 0.5120 0.5420 1.6960 1.7260

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;...........................................................Material SPECPR Title = "Epidote GDS26.a 75-200um W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 159

OUTPUT_NAME: epidote

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 2.2080 2.2280 2.2680 2.2900

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 2.2200 2.2400 2.4040 2.4350

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 490

OUTPUT_NAME: pyrophyllite.5+alunite.5

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 2.0780 2.0990 2.2280 2.2580

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 1.4400 1.4700 1.5050 1.5300

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99
314

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.2530 2.2830 2.3440 2.3740

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_ALUNITE_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 493

OUTPUT_NAME: alunite.5+kaolinite.5

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 2.0680 2.0990 2.2300 2.2680

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 1.4400 1.470 1.5050 1.5240

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.2680 2.2980 2.3400 2.3700

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_ALUNITE_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 536

OUTPUT_NAME: alunite.25+kaolinite.75

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.9000

CONTINUUM_ENDPTS: 2.0680 2.0990 2.2300 2.2680

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 1.4400 1.4700 1.5050 1.5240
315

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.2680 2.2980 2.3400 2.3700

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_ALUNITE_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 529

OUTPUT_NAME: kaolin.5+muscovite_medAl

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1080 2.1380 2.2480 2.2780

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.2650 2.2950 2.3900 2.4200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_MUSC_KAOLJARO_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 530

OUTPUT_NAME: kaolin.5+muscovite_medhighAl

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1050 2.1350 2.2480 2.2780

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99
316

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.2650 2.2950 2.3900 2.4200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_MUSC_KAOLJARO_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Kaol+Musc_intimate CU93-5C W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 528

OUTPUT_NAME: kaolin+muscovite_mix_intimate

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1050 2.1380 2.2530 2.2870

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.2650 2.2950 2.3900 2.4200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_MUSC_KAOLJARO_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 532

OUTPUT_NAME: kaolin.5+smectite.5

NUM_FEATURES: 1 4

FEATURE_TYPE: Diagnostic
317

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.0980 2.1350 2.2500 2.2870

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 2

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 3

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 4

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 5

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.2000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_KAOL_SMECT_MIX] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Muscov+Jaros CU93-314 coatng W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 543

OUTPUT_NAME: jarosite+muscovite_mix_intimate

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.1130 2.1460 2.2940 2.3260

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.3040 2.3260 2.3630 2.3940

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 0.7060 0.7380 1.2860 1.3200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_MUSC_KAOLJARO_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;
318

;............................................................Material SPECPR Title = "Chlorite+Muscovite CU93-65A W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 511

OUTPUT_NAME: chlorite+muscovite

NUM_FEATURES: 3 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.4500

CONTINUUM_ENDPTS: 0.7818 0.8142 1.2767 1.3200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 0.4000 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.4500

CONTINUUM_ENDPTS: 2.1236 2.1574 2.2745 2.3072

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.1000

CONTINUUM_ENDPTS: 2.2750 2.3100 2.3824 2.4149

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calcite WS272 W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 94

OUTPUT_NAME: calcite_abundant

NUM_FEATURES: 2 4

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.0000

CONTINUUM_ENDPTS: 2.1780 2.2080 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.0000

CONTINUUM_ENDPTS: 2.0900 2.1200 2.1800 2.2050

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 6

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 7

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.0800

FEATURE_TYPE: Not
319

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calcite WS272 W1R1Ba CONV"

;

; Feature weight set very slightly above 1.0 in order

; to have this supersede "calcite_abundant" when

; the 2.15 micron calcite feature is not present

;

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 94

OUTPUT_NAME: calcite

NUM_FEATURES: 1 5

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000001

CONTINUUM_ENDPTS: 2.1780 2.2080 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 12

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0015

FEATURE_TYPE: Not

NOT_FEATURE_ID: 6

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.2000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 7

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.0800

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Dolomite HS102.3B W1R1Bb CONV"
320

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 151

OUTPUT_NAME: dolomite

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1580 2.1880 2.3570 2.3870

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 1.2000

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Siderite HS271.3B W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 416

OUTPUT_NAME: carbonate_Fe_bearing

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.500

CONTINUUM_ENDPTS: 2.1980 2.2280 2.3860 2.4160

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.500

CONTINUUM_ENDPTS: 0.7560 0.7850 1.6750 1.7050

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 500

OUTPUT_NAME: dolomite.25+calcite.25+mont_Na.5

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.2350 2.2700 2.3700 2.4000

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99
321

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.1300 2.1600 2.2480 2.2780

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_DOLO_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 507

OUTPUT_NAME: calcite.8+montmorillonite_Na.2

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.2480 2.2780 2.3760 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.1300 2.1550 2.2500 2.2770

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 506

OUTPUT_NAME: calcite.8+montmorillonite_Ca.2

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.1590 2.1850 2.2500 2.2770

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.2580 2.2900 2.3670 2.3950
322

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 501

OUTPUT_NAME: calcite.7+muscovite.3

NUM_FEATURES: 2 1

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.2270 2.2570 2.3760 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.1300 2.1580 2.2270 2.2570

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 7

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.0800

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 515

OUTPUT_NAME: dolomite.5+montmorillonite_Na.5

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000

CONTINUUM_ENDPTS: 2.1400 2.1700 2.2480 2.2780

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.5000
323

CONTINUUM_ENDPTS: 2.2350 2.2700 2.3500 2.3850

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_DOLO_MIXES] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 508

OUTPUT_NAME: kaolin.2+calcite.8

NUM_FEATURES: 2 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.500

CONTINUUM_ENDPTS: 2.1070 2.1400 2.2290 2.2580

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.500

CONTINUUM_ENDPTS: 2.2290 2.2580 2.3900 2.4200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Chalcedony CU91-6A W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 101

OUTPUT_NAME: chalcedony

NUM_FEATURES: 1 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1190 2.1550 2.3580 2.3900

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Opal TM8896 (Hyalite) W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 349

OUTPUT_NAME: hydrated_silica

NUM_FEATURES: 1 0

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1160 2.1550 2.3700 2.3900

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99
324

DEPTH_CONSTRAINTS: -99.99 -99.99

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Tremolite HS18.3 W1R1Bc CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 468

OUTPUT_NAME: tremolite_or_talc

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.2200 2.2500 2.3240 2.3550

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.3240 2.3550 2.4050 2.4350

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.6000

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_RELATIVE_DEPTH_CONSTRAINTS: 1 0.6000

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_SERP_TREM] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;..........................................................Material SPECPR Title = "Anitgorite NMNH96917.d 70um W1R1Bb CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 67

OUTPUT_NAME: serpentine_or_dolomite+calcite

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1780 2.2028 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.020
325

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_SERP_TREM] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Chrysotile HS323.1B W1R1Ba CONV"

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 115

OUTPUT_NAME: serpentine1

NUM_FEATURES: 1 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000

CONTINUUM_ENDPTS: 2.1780 2.2028 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.020

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_SERP_TREM] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;..........................................................Material SPECPR Title = "Anitgorite NMNH96917.d 70um W1R1Bb CONV"

;

; Total feature weight set very slightly above 1.0 in order

; to have this supersede "serpentine_or_dolo+calc" when

; the 1 micron iron-bearing mineral feature is present

;

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 67

OUTPUT_NAME: serpentine2

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.00

CONTINUUM_ENDPTS: 0.8100 0.8400 1.300 1.3200

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: [MINFIT_SERP2]

DEPTH_CONSTRAINTS: 0.002 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000001

CONTINUUM_ENDPTS: 2.1780 2.2028 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200
326

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.020

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_SERP_TREM] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;............................................................Material SPECPR Title = "Chrysotile HS323.1B W1R1Ba CONV"

;

; Total feature weight set very slightly above 1.0 in order

; to have this supersede "serpentine1" when

; the 2.115 micron serpentine feature is present

;

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 115

OUTPUT_NAME: serpentine3

NUM_FEATURES: 2 2

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000001

CONTINUUM_ENDPTS: 2.1780 2.2028 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.0600 2.0800 2.1650 2.1850

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: [MINFIT_SERP3AND4]

DEPTH_CONSTRAINTS: 0.002 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.020

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_SERP_TREM] -99.99 0.0000

END_REFERENCE_ENTRY:

;

;

;..........................................................Material SPECPR Title = "Anitgorite NMNH96917.d 70um W1R1Bb CONV"

;

; Total feature weight set very slightly above 1.0 in order

; to have this supersede "serpentine_or_dolo+calc" and

; "serpentine2" when the 2.115 micron serpentine

; feature is present

;

REFERENCE_SPECPR_RECORD:[splib06b_cvhymap] 67

OUTPUT_NAME: serpentine4

NUM_FEATURES: 2 2
327

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 1.000002

CONTINUUM_ENDPTS: 2.1780 2.2028 2.3770 2.4060

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: -99.99

DEPTH_CONSTRAINTS: -99.99 -99.99

FEATURE_TYPE: Diagnostic

FEATURE_WEIGHT: 0.000

CONTINUUM_ENDPTS: 2.0600 2.0800 2.1650 2.1850

CONTINUUM_CONSTRAINTS: -99.99 -99.99 [MIN_REFL_MID] -99.99 -99.99 -99.99 -99.99 -99.99

FIT_CONSTRAINTS: [MINFIT_SERP3AND4]

DEPTH_CONSTRAINTS: 0.002 -99.99

FEATURE_TYPE: Not

NOT_FEATURE_ID: 8

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.0200

FEATURE_TYPE: Not

NOT_FEATURE_ID: 9

NOT_FEATURE_FIT_CONSTRAINTS: [MINFIT_NOTFEAT]

NOT_FEATURE_ABSOLUTE_DEPTH_CONSTRAINTS: 0.020

WEIGHTED_FIT_DEPTH_CONSTRAINTS: [MINFIT] [MINDEPTH_SERP_TREM] -99.99 0.0000

END_REFERENCE_ENTRY:

;

END_CMDFILE:  This line must be present, indicating the end of the command file.
328

Appendix B. MICA output reports

This appendix contains output reports at different verbose levels from MICA analysis of 

spectra. Examples of analyses of spectra stored as records in a SPECPR file and in imaging 

spectrometer image cubes are shown in this appendix. In these examples, the command file in 

appendix A, for minerals with diagnostic absorption features in the 2 to 2.5 m wavelength 

region and for HyMap spectra, is used to analyze the spectra. This command file 

―mica_cmds_group2_hymap2007.mcf‖ is included with the PRISM software distribution. If step 

3 of the installation instructions was followed (see the ―Installation of Software‖ section of this 

report), this file will be located in ―C:\usgsprism\mica_hymap\‖ on Windows computers and in 

―/var/local/usgsprism/mica_hymap/‖ on Linux computers. This command file was developed to 

detect the occurrences of a set of materials in HyMap imaging spectrometer data. The reference 

materials are primarily minerals with diagnostic absorption features in the 2 to 2.5 m 

wavelength region, along with other common surface cover such as water, snow, and vegetation. 

This command file was used to detect and map these materials in a large HyMap dataset 

covering the country of Afghanistan (Kokaly and others, in press).

In this appendix, example output results for spectral records are presented first. Spectra

from four field sites, collected using an ASD field spectrometer and then convolved to HyMap 

spectral characteristics (based on HyMap’s characteristics for the 2007 data collection season), 

were used to generate this example output from ―Function 4.2 – Run MICA for Spectral 

Records‖. These spectra and photos of the field sites are shown in figures B1-B4. These spectra 

are in USGS Spectral Library splib06a (Clark and others, 2007), which is included with the 

PRISM software distribution. If the default directory in step 3 of the installation instructions was 

used (see the ―Installation of Software‖ section of this report), then this file will be located in

―C:\usgsprism\spectra\splib06\‖ on Windows computers and in

―/var/local/usgsprism/spectra/splib06/‖ on Linux computers. The DESCRIPT pages for these 

spectra, containing detailed description of the vegetation covering the areas where these spectra 

were collected, are in appendix C.
329

Photo and reflectance spectrum of example spectrum 1, field measurement of reflectance 

from an area of rangeland, primarily covered by shrub and tree species.

Photo and reflectance spectrum of example spectrum 2, field measurement of reflectance 

from an area of rangeland, primarily covered by dry grass.
330

Photo and reflectance spectrum of example spectrum 3, field measurement of reflectance 

from an area of rangeland, primarily exposed soil.

Photo and reflectance spectrum of example spectrum 4, field measurement of reflectance 

from an area of rangeland, primarily green grass.

The following pages show the output of ―Function 4.2 – Run MICA for Spectral 

Records‖ applied to the four example spectra at verbose levels 1-4. Comments on the reported 

values are marked on the output report. The uncommented text reports are also included the 

compressed archive file that contains the PRISM software distribution. If the default directory in 

step 3 of the installation instructions was used (see the ―Installation of Software‖ section of this 
331

report), then the files will be located in ―C:\usgsprism\mica_hymap\output\‖ on Windows 

computers and in ―/var/local/usgsprism/mica_hymap/output/‖ on Linux computers. 
332

Output report for verbose level 1. “Function 4.2 – Run MICA for Spectral Records”

At verbose level 1, the MICA output is a single line per spectrum analyzed. This line contains the SPECPR title of the spectrum analyzed, the 

output name of the best match reference spectrum, and the fit number of the best match.

The uncommented text report for this verbose level is included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), then the report will be located at

―C:\usgsprism\mica_hymap\output\ mica_log_spectrummode_mica_cmds_group2_hymap2007_verbose1.txt‖ on Windows computers. On Linux 

computers, the file will be found in the ―/var/local/usgsprism/mica_hymap/output/‖ directory.

Observed Spectrum (SPECPR Title=Rangeland L02-022 S20% G09%) best matched by Reference (Output name=dry_veg_nongrass_2_3um) with fit 0.9814

Observed Spectrum (SPECPR Title=Rangeland L02-042 S01% G57%) best matched by Reference (Output name=dry_veg_grass_2_3um) with fit 0.9939

Observed Spectrum (SPECPR Title=Rangeland L02-043 S01% G07%) best matched by Reference (Output name=kaolin.2+calcite.8) with fit 0.9245

Observed Spectrum (SPECPR Title=Rangeland L04-047 S00% G47%) best matched by Reference (Output name=vegetation_green) with fit 0.9950
333

Output report for verbose level 2. “Function 4.2 – Run MICA for Spectral Records”

At verbose level 2, the MICA output contains additional reporting on the options used in the processing of the spectra, which is given before 

the analysis results. Greater detail on each analyzed spectrum (observed spectrum) is reported, including the SPECPR title, record number, and 

SPECPR file. These details are also reported for the best match spectrum. In addition to the fit value of the best match, the depth and fit*depth values 

are also reported.

The uncommented text report for this verbose level is included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), then the report will be located at 

―C:\usgsprism\mica_hymap\output\ mica_log_spectrummode_mica_cmds_group2_hymap2007_verbose2.txt‖ on Windows computers. On Linux 

computers, the file will be found in the ―/var/local/usgsprism/mica_hymap/output/‖ directory.
334
335

Output report for verbose level 3. “Function 4.2 – Run MICA for Spectral Records”

At verbose level 3, the MICA output contains greater detail on the reference entries (also called reference spectra and reference materials) in 

the command file, including a table showing their SPECPR filename, record number, and record title along with their output name. Each reference 

entry (reference spectrum) is assigned a unique identification number. The output name listed for each reference spectrum in the command file is 

used as both a shorthand way to identify the reference spectra and a way to identify the material detected. The number of diagnostic features in each 

reference entry is reported. The number of NOT features invoked by each reference spectrum is also reported.

A report on the diagnostic features in each reference entry is given, showing the wavelength ranges of the left and right continuum endpoints

as specified in the command file. In addition, the program reports which spectrometer channel(s) fall into those ranges; thus, the program identifies 

which channels are used to compute the continuum line of each feature. Also reported are the associated wavelengths of the spectrometer channels 

found in the continuum endpoint ranges. The type of each diagnostic feature is reported (absorption or emission).

A report on the NOT features invoked in each reference entry is given. For each instance that a NOT feature is invoked, the reference entry 

(SPECPR file/record/title) that invokes a NOT feature is reported along with the ID number of the NOT feature invoked, its type (absorption or 

emission), its depth threshold type (absolute or relative), and its SPECPR file/record/title.

Greater detail than verbose level 2 is given for the analysis of each observed spectrum, which includes a table showing the final computed fit 

values of the observed spectrum compared to each reference material (reference spectrum). A column containing the final fit values is reported, in 

which some fits may be zero because one or more continuum, feature, or weighted fit/depth constraints were violated or a NOT feature was found. 

Also, a column reporting the weighted fit values is reported; these are the fit values before any constraints or NOT features are checked. These 

columns allow the user to see all the material fit values and see which materials were not considered as matches to the observed spectrum because a 

constraint was violated or a NOT feature was found. Below the table containing all the fit values, a report on the reference materials (reference 

spectra) with the top 5 fit values is printed, with the fit values ranked and the reference material (reference spectrum) reported from high to low fit 

values. At the end of the MICA analysis of the observed spectrum, the detailed report of the best match spectrum, as described in the output report 

for verbose level 2, is given.

The uncommented text report for this verbose level is included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), then the report will be located at 

―C:\usgsprism\mica_hymap\output\ mica_log_spectrummode_mica_cmds_group2_hymap2007_verbose3.txt‖ on Windows computers. On Linux 

computers, the file will be found in the ―/var/local/usgsprism/mica_hymap/output/‖ directory.
336
337
338
339

 21 1 40 2.0580 to 2.0880 2.2370 to 2.2670 99 to 100 109 to 110 2.0608 to 2.0790 2.2374 to 2.2548 no

 22 1 41 2.0540 to 2.0860 2.2770 to 2.3060 99 to 100 112 to 113 2.0608 to 2.0790 2.2884 to 2.3052 no

 23 1 42 2.0540 to 2.0860 2.2770 to 2.3060 99 to 100 112 to 113 2.0608 to 2.0790 2.2884 to 2.3052 no

 24 1 43 2.0282 to 2.0650 2.2350 to 2.2600 98 to 99 109 to 110 2.0424 to 2.0608 2.2374 to 2.2548 no

 24 2 44 1.4430 to 1.4640 1.5000 to 1.5243 64 to 65 68 to 69 1.4497 to 1.4637 1.5054 to 1.5191 no

 25 1 45 2.0282 to 2.0650 2.2350 to 2.2600 98 to 99 109 to 110 2.0424 to 2.0608 2.2374 to 2.2548 no

 25 2 46 1.4630 to 1.4797 1.5150 to 1.5459 65 to 66 69 to 70 1.4637 to 1.4778 1.5191 to 1.5327 no

 26 1 47 2.0900 to 2.1280 2.2100 to 2.2400 101 to 102 108 to 109 2.0971 to 2.1151 2.2207 to 2.2374 no

 27 1 48 2.0690 to 2.0990 2.3270 to 2.3570 100 to 101 115 to 116 2.0790 to 2.0971 2.3381 to 2.3544 no

 28 1 49 2.0690 to 2.0990 2.3270 to 2.3570 100 to 101 115 to 116 2.0790 to 2.0971 2.3381 to 2.3544 no

 29 1 50 2.1180 to 2.1550 2.2500 to 2.2870 103 to 104 110 to 111 2.1329 to 2.1506 2.2548 to 2.2716 no

 30 1 51 2.1480 to 2.1780 2.2500 to 2.2870 104 to 105 110 to 111 2.1506 to 2.1679 2.2548 to 2.2716 no

 31 1 52 2.0750 to 2.1000 2.2900 to 2.3250 100 to 101 113 to 114 2.0790 to 2.0971 2.3052 to 2.3215 no

 31 2 53 1.5000 to 1.5200 1.5800 to 1.6000 68 to 69 74 to 75 1.5054 to 1.5191 1.5859 to 1.5990 no

 31 3 54 1.6800 to 1.7100 1.7650 to 1.7850 82 to 83 89 to 89 1.6885 to 1.7010 1.7743 to 1.7743 no

 32 1 55 2.1600 to 2.1900 2.4040 to 2.4400 105 to 106 120 to 121 2.1679 to 2.1849 2.4182 to 2.4339 no

 32 2 56 2.1880 to 2.2180 2.2580 to 2.2900 107 to 107 111 to 112 2.2020 to 2.2020 2.2716 to 2.2884 no

 32 3 57 0.5120 to 0.5420 1.6960 to 1.7260 5 to 6 83 to 85 0.5266 to 0.5420 1.7010 to 1.7258 no

 33 1 58 2.2080 to 2.2280 2.2680 to 2.2900 108 to 108 111 to 112 2.2207 to 2.2207 2.2716 to 2.2884 no

 33 2 59 2.2200 to 2.2400 2.4040 to 2.4350 108 to 109 120 to 121 2.2207 to 2.2374 2.4182 to 2.4339 no

 34 1 60 2.0780 to 2.0990 2.2280 to 2.2580 100 to 101 109 to 110 2.0790 to 2.0971 2.2374 to 2.2548 no

 34 2 61 1.4400 to 1.4700 1.5050 to 1.5300 64 to 65 68 to 69 1.4497 to 1.4637 1.5054 to 1.5191 no

 34 3 62 2.2530 to 2.2830 2.3440 to 2.3740 110 to 111 116 to 117 2.2548 to 2.2716 2.3544 to 2.3705 no

 35 1 63 2.0680 to 2.0990 2.2300 to 2.2680 100 to 101 109 to 110 2.0790 to 2.0971 2.2374 to 2.2548 no

 35 2 64 1.4400 to 1.4700 1.5050 to 1.5240 64 to 65 68 to 69 1.4497 to 1.4637 1.5054 to 1.5191 no

 35 3 65 2.2680 to 2.2980 2.3400 to 2.3700 111 to 112 116 to 116 2.2716 to 2.2884 2.3544 to 2.3544 no

 36 1 66 2.0680 to 2.0990 2.2300 to 2.2680 100 to 101 109 to 110 2.0790 to 2.0971 2.2374 to 2.2548 no

 36 2 67 1.4400 to 1.4700 1.5050 to 1.5240 64 to 65 68 to 69 1.4497 to 1.4637 1.5054 to 1.5191 no

 36 3 68 2.2680 to 2.2980 2.3400 to 2.3700 111 to 112 116 to 116 2.2716 to 2.2884 2.3544 to 2.3544 no

 37 1 69 2.1080 to 2.1380 2.2480 to 2.2780 102 to 103 110 to 111 2.1151 to 2.1329 2.2548 to 2.2716 no

 37 2 70 2.2650 to 2.2950 2.3900 to 2.4200 111 to 112 119 to 120 2.2716 to 2.2884 2.4022 to 2.4182 no

 38 1 71 2.1050 to 2.1350 2.2480 to 2.2780 102 to 103 110 to 111 2.1151 to 2.1329 2.2548 to 2.2716 no

 38 2 72 2.2650 to 2.2950 2.3900 to 2.4200 111 to 112 119 to 120 2.2716 to 2.2884 2.4022 to 2.4182 no

 39 1 73 2.1050 to 2.1380 2.2530 to 2.2870 102 to 103 110 to 111 2.1151 to 2.1329 2.2548 to 2.2716 no

 39 2 74 2.2650 to 2.2950 2.3900 to 2.4200 111 to 112 119 to 120 2.2716 to 2.2884 2.4022 to 2.4182 no

 40 1 75 2.0980 to 2.1350 2.2500 to 2.2870 102 to 103 110 to 111 2.1151 to 2.1329 2.2548 to 2.2716 no

 41 1 76 2.1130 to 2.1460 2.2940 to 2.3260 102 to 103 113 to 114 2.1151 to 2.1329 2.3052 to 2.3215 no

 41 2 77 2.3040 to 2.3260 2.3630 to 2.3940 113 to 114 117 to 118 2.3052 to 2.3215 2.3705 to 2.3863 no

 41 3 78 0.7060 to 0.7380 1.2860 to 1.3200 17 to 18 56 to 58 0.7098 to 0.7250 1.2882 to 1.3162 no

 42 1 79 0.7818 to 0.8142 1.2767 to 1.3200 22 to 23 56 to 58 0.7852 to 0.8004 1.2882 to 1.3162 no

 42 2 80 2.1236 to 2.1574 2.2745 to 2.3072 103 to 104 112 to 113 2.1329 to 2.1506 2.2884 to 2.3052 no

 42 3 81 2.2750 to 2.3100 2.3824 to 2.4149 112 to 113 118 to 119 2.2884 to 2.3052 2.3863 to 2.4022 no

 43 1 82 2.1780 to 2.2080 2.3770 to 2.4060 106 to 107 118 to 119 2.1849 to 2.2020 2.3863 to 2.4022 no

 43 2 83 2.0900 to 2.1200 2.1800 to 2.2050 101 to 102 106 to 107 2.0971 to 2.1151 2.1849 to 2.2020 no

 44 1 84 2.1780 to 2.2080 2.3770 to 2.4060 106 to 107 118 to 119 2.1849 to 2.2020 2.3863 to 2.4022 no

 45 1 85 2.1580 to 2.1880 2.3570 to 2.3870 105 to 106 117 to 118 2.1679 to 2.1849 2.3705 to 2.3863 no

 46 1 86 2.1980 to 2.2280 2.3860 to 2.4160 107 to 108 118 to 119 2.2020 to 2.2207 2.3863 to 2.4022 no

 46 2 87 0.7560 to 0.7850 1.6750 to 1.7050 21 to 21 81 to 83 0.7702 to 0.7702 1.6759 to 1.7010 no

 47 1 88 2.2350 to 2.2700 2.3700 to 2.4000 109 to 110 117 to 118 2.2374 to 2.2548 2.3705 to 2.3863 no

 47 2 89 2.1300 to 2.1600 2.2480 to 2.2780 103 to 104 110 to 111 2.1329 to 2.1506 2.2548 to 2.2716 no

 48 1 90 2.2480 to 2.2780 2.3760 to 2.4060 110 to 111 118 to 119 2.2548 to 2.2716 2.3863 to 2.4022 no

 48 2 91 2.1300 to 2.1550 2.2500 to 2.2770 103 to 104 110 to 111 2.1329 to 2.1506 2.2548 to 2.2716 no

 49 1 92 2.1590 to 2.1850 2.2500 to 2.2770 105 to 106 110 to 111 2.1679 to 2.1849 2.2548 to 2.2716 no

 49 2 93 2.2580 to 2.2900 2.3670 to 2.3950 111 to 112 117 to 118 2.2716 to 2.2884 2.3705 to 2.3863 no

 50 1 94 2.2270 to 2.2570 2.3760 to 2.4060 109 to 110 118 to 119 2.2374 to 2.2548 2.3863 to 2.4022 no

 50 2 95 2.1300 to 2.1580 2.2270 to 2.2570 103 to 104 109 to 110 2.1329 to 2.1506 2.2374 to 2.2548 no

 51 1 96 2.1400 to 2.1700 2.2480 to 2.2780 104 to 105 110 to 111 2.1506 to 2.1679 2.2548 to 2.2716 no
340
341

 21 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV 2 Absorption Relative splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV

 22 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV 5 Absorption Relative splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV

 23 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV 2 Absorption Relative splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV

 24 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV 5 Absorption Relative splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV

 25 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV 3 Absorption Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV

 26 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV 4 Absorption Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV

 27 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV 3 Absorption Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV

 28 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV 4 Absorption Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV

 29 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV 3 Absorption Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV

 30 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV 4 Absorption Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV

 31 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 2 Absorption Relative splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV

 32 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 3 Absorption Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV

 33 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 4 Absorption Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV

 34 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 5 Absorption Relative splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV

 35 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 6 Absorption Absolute splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV

 36 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 7 Absorption Relative splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV

 37 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 38 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 39 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 12 Absorption Absolute splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV

 40 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 6 Absorption Absolute splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV

 41 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 7 Absorption Relative splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV

 42 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 43 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 44 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 45 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 46 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 47 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 48 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 49 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 50 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV 7 Absorption Relative splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV

 51 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV 8 Absorption Relative splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 52 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV 9 Absorption Relative splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 53 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 54 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 55 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 56 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 57 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 58 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 59 59 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 60 59 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 61 60 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 8 Absorption Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 62 60 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 9 Absorption Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV
342
343

 20 splib06b_cvhymap07_124ch 197 Halloysite NMNH106237 W1R1Ba CONV 0.0000 (0.5011) kaolin+clay_mica_or_halloysite

 21 splib06b_cvhymap07_124ch 144 Dickite NMNH106242 W1R1Bb CONV 0.0000 (0.2665) kaol_possible_alunite_or_dicki

 22 splib06b_cvhymap07_124ch 87 Buddingtonite GDS85 D-206 W1R1Bb CONV 0.0000 (0.0319) buddingtonite

 23 splib06b_cvhymap07_124ch 973 Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV 0.0000 (0.1422) buddingtonite+montmorillonite

 24 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 0.0000 (0.0332) alunite_K_250c

 25 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 0.0000 (0.1719) alunite_Na_450c

 26 splib06b_cvhymap07_124ch 380 Pyrophyllite PYS1A fine gr W1R1Ba CONV 0.0000 (0.0070) pyrophyllite

 27 splib06b_cvhymap07_124ch 241 Jarosite GDS24 Na W1R1Bb CONV 0.0000 (0.2712) jarosite_Na

 28 splib06b_cvhymap07_124ch 243 Jarosite GDS99 K 200C Syn W1R1Ba CONV 0.0000 (0.3224) jarosite_K

 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV 0.0000 (0.7261) montmorillonite_Na

 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV 0.0000 (0.7681) montmorillonite_Ca

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV 0.0000 (0.7086) gypsum

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV 0.0000 (0.4571) chlorite_lowFe

 33 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 0.0000 (0.6299) epidote

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV 0.0000 (0.1227) pyrophyllite.5+alunite.5

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV 0.0000 (0.2648) alunite.5+kaolinite.5

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV 0.0000 (0.2610) alunite.25+kaolinite.75

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV 0.0000 (0.4697) kaolin.5+muscovite_medAl

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV 0.0000 (0.3886) kaolin.5+muscovite_medhighAl

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV 0.0000 (0.6233) kaolin+muscovite_mix_intimate

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 0.0000 (0.4139) kaolin.5+smectite.5

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV 0.0000 (0.5001) jarosite+muscovite_mix_intimat

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV 0.0000 (0.2241) chlorite+muscovite

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.7213) calcite_abundant

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.7213) calcite

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV 0.0000 (0.3356) dolomite

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV 0.0000 (0.6679) carbonate_Fe_bearing

 47 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV 0.0000 (0.5488) dolomite.25+calcite.25+mont_Na

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV 0.0000 (0.6087) calcite.8+montmorillonite_Na.2

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV 0.0000 (0.7722) calcite.8+montmorillonite_Ca.2

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV 0.0000 (0.4216) calcite.7+muscovite.3

 51 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV 0.0000 (0.5201) dolomite.5+montmorillonite_Na.

 52 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV 0.0000 (0.4644) kaolin.2+calcite.8

 53 splib06b_cvhymap07_124ch 101 Chalcedony CU91-6A W1R1Ba CONV 0.0000 (0.4225) chalcedony

 54 splib06b_cvhymap07_124ch 349 Opal TM8896 (Hyalite) W1R1Ba CONV 0.0000 (0.3638) hydrated_silica

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV 0.0000 (0.7610) tremolite_or_talc

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.6159) serpentine_or_dolomite+calcite

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.4893) serpentine1

 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.6159) serpentine2
344
345

 4 splib06b_cvhymap07_124ch 698 Melting_snow mSnw9 (slush) W1R1Fa CONV 0.0000 (0.2364) snow_slush

 5 splib06b_cvhymap07_124ch 566 Seawater_Coast_Chl SW1 W1R1Ba CONV 0.0000 (0.5627) water

 6 splib06b_cvhymap07_124ch 704 Water+Montmor SWy-2+5.01g/l W1R1Fa CONV 0.0000 (0.6911) water_sediment_high

 7 splib06b_cvhymap07_124ch 701 Water+Montmor SWy-2+0.5g/l W1R1Fa CONV 0.0000 (0.7159) water_sediment_low

 8 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 0.9931 (0.9931) dry_veg_grass

 9 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 0.9939 (0.9939) dry_veg_grass_2_3um

 10 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 0.9320 (0.9320) dry_veg_nongrass

 11 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 0.9735 (0.9735) dry_veg_nongrass_2_3um

 12 splib06b_cvhymap07_124ch 965 Muscovite CU93-1 low-Al Phyl W2R4Nb CONV 0.0000 (0.7268) muscovite_lowAl

 13 splib06b_cvhymap07_124ch 674 Muscovite-medlowAl CU91-250A W1R1Fb CONV 0.0000 (0.6802) muscovite_medAl

 14 splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV 0.0000 (0.6178) muscovite_medhighAl

 15 splib06b_cvhymap07_124ch 310 Muscovite GDS116 Tanzania W1R1Ba CONV 0.0000 (0.6730) muscovite_Fe-rich

 16 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV 0.0000 (0.8874) illite

 17 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV 0.0000 (0.8996) illite_gds4

 18 splib06b_cvhymap07_124ch 252 Kaolinite CM9 W1R1Bb CONV 0.0000 (0.5925) kaolinite_wxl

 19 splib06b_cvhymap07_124ch 255 Kaolinite KGa-2 (pxl) W1R1Bb CONV 0.0000 (0.5971) kaolinite_pxl

 20 splib06b_cvhymap07_124ch 197 Halloysite NMNH106237 W1R1Ba CONV 0.0000 (0.6998) kaolin+clay_mica_or_halloysite

 21 splib06b_cvhymap07_124ch 144 Dickite NMNH106242 W1R1Bb CONV 0.0000 (0.5387) kaol_possible_alunite_or_dicki

 22 splib06b_cvhymap07_124ch 87 Buddingtonite GDS85 D-206 W1R1Bb CONV 0.0000 (0.0741) buddingtonite

 23 splib06b_cvhymap07_124ch 973 Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV 0.0000 (0.2469) buddingtonite+montmorillonite

 24 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 0.0000 (0.1346) alunite_K_250c

 25 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 0.0000 (0.2979) alunite_Na_450c

 26 splib06b_cvhymap07_124ch 380 Pyrophyllite PYS1A fine gr W1R1Ba CONV 0.0000 (0.2881) pyrophyllite

 27 splib06b_cvhymap07_124ch 241 Jarosite GDS24 Na W1R1Bb CONV 0.0000 (0.1811) jarosite_Na

 28 splib06b_cvhymap07_124ch 243 Jarosite GDS99 K 200C Syn W1R1Ba CONV 0.0000 (0.2422) jarosite_K

 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV 0.0000 (0.8411) montmorillonite_Na

 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV 0.0000 (0.8199) montmorillonite_Ca

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV 0.0000 (0.6754) gypsum

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV 0.0000 (0.5557) chlorite_lowFe

 33 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 0.6216 (0.6216) epidote

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV 0.0000 (0.3566) pyrophyllite.5+alunite.5

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV 0.0000 (0.5574) alunite.5+kaolinite.5

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV 0.0000 (0.5561) alunite.25+kaolinite.75

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV 0.0000 (0.6643) kaolin.5+muscovite_medAl

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV 0.0000 (0.5775) kaolin.5+muscovite_medhighAl

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV 0.0000 (0.7736) kaolin+muscovite_mix_intimate

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 0.0000 (0.6059) kaolin.5+smectite.5

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV 0.0000 (0.5712) jarosite+muscovite_mix_intimat

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV 0.0000 (0.3356) chlorite+muscovite

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.7909) calcite_abundant

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.7909) calcite

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV 0.0000 (0.4872) dolomite

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV 0.0000 (0.6660) carbonate_Fe_bearing

 47 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV 0.0000 (0.6190) dolomite.25+calcite.25+mont_Na

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV 0.0000 (0.7069) calcite.8+montmorillonite_Na.2

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV 0.0000 (0.8781) calcite.8+montmorillonite_Ca.2

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV 0.0000 (0.5181) calcite.7+muscovite.3

 51 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV 0.0000 (0.5882) dolomite.5+montmorillonite_Na.

 52 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV 0.0000 (0.5837) kaolin.2+calcite.8

 53 splib06b_cvhymap07_124ch 101 Chalcedony CU91-6A W1R1Ba CONV 0.0000 (0.3291) chalcedony

 54 splib06b_cvhymap07_124ch 349 Opal TM8896 (Hyalite) W1R1Ba CONV 0.0000 (0.2521) hydrated_silica
346

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV 0.0000 (0.6332) tremolite_or_talc

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.7102) serpentine_or_dolomite+calcite

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.5415) serpentine1

 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.7102) serpentine2

 59 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.5415) serpentine3

 60 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.7102) serpentine4

 TOP 5 FITS:

 Reference Depth

 Spectrum Output Name Fit Value Value

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

 9 dry_veg_grass_2_3um 0.9939 0.0954

 8 dry_veg_grass 0.9931 0.0996

 11 dry_veg_nongrass_2_3um 0.9735 0.1064

 10 dry_veg_nongrass 0.9320 0.1011

 33 epidote 0.6216 0.0851

BEST MATCH:

Observed (SPECPR Title=Rangeland L02-042 S01% G57% W1R1Fa CONV) was best matched by Reference (Output name=dry_veg_grass_2_3um) with a fit of 0.9939

 Observed (SPECPR File= splib06b_cvhymap07_124ch; Record= 908; Title= Rangeland L02-042 S01% G57% W1R1Fa CONV)

 Reference (SPECPR File= splib06b_cvhymap07_124ch; Record= 812; Title= Grass_Golden_Dry GDS480 W1R1Fa CONV)

 Fit= 0.9939 Depth= 0.0954 Fit*Depth= 0.0948

------------------------------------------------------------------- END ANALYSIS --------------------------------------------------------------------

----------------------------------------------------------------- STARTING ANALYSIS -----------------------------------------------------------------

SPECPR file,record Analyzed: C:\usgsprism\mica_hymap\splib06b_cvhymap07_124ch, 909 (SPECPR title = Rangeland L02-043 S01% G07% W1R1Fa CONV)

Command file used: C:\usgsprism\mica_hymap\mica_cmds_group2_hymap2007.mcf

Total number of reference spectra = 60

Total number of reference features = 111

Total number of listed NOT features = 12

Total number of references to NOT features = 62

FINAL WEIGHTED FITS ADJUSTED BY CONSTRAINTS:

Reference Reference Reference Reference Final (Fit before)

Spectrum SPECPR File SPECPR Rec SPECPR Title Fit Value (constraints) Output Name

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

 1 splib06b_cvhymap07_124ch 588 Fir_Tree IH91-2 W1R1Ba CONV 0.0000 (0.1561) vegetation_green

 2 splib06b_cvhymap07_124ch 602 Grass_dry.7+.3green AMX30 W1R1Ba CONV 0.0000 (0.1069) vegetation.dry+green

 3 splib06b_cvhymap07_124ch 690 Melting_snow mSnw1a W1R1Fa CONV 0.0000 (0.3755) snow_melting

 4 splib06b_cvhymap07_124ch 698 Melting_snow mSnw9 (slush) W1R1Fa CONV 0.0000 (0.5666) snow_slush

 5 splib06b_cvhymap07_124ch 566 Seawater_Coast_Chl SW1 W1R1Ba CONV 0.0000 (0.6646) water

 6 splib06b_cvhymap07_124ch 704 Water+Montmor SWy-2+5.01g/l W1R1Fa CONV 0.0000 (0.8632) water_sediment_high

 7 splib06b_cvhymap07_124ch 701 Water+Montmor SWy-2+0.5g/l W1R1Fa CONV 0.0000 (0.8731) water_sediment_low

 8 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 0.0000 (0.1519) dry_veg_grass

 9 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 0.0000 (0.2232) dry_veg_grass_2_3um

 10 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 0.0000 (0.1724) dry_veg_nongrass

 11 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 0.0000 (0.2936) dry_veg_nongrass_2_3um

 12 splib06b_cvhymap07_124ch 965 Muscovite CU93-1 low-Al Phyl W2R4Nb CONV 0.0000 (0.2111) muscovite_lowAl

 13 splib06b_cvhymap07_124ch 674 Muscovite-medlowAl CU91-250A W1R1Fb CONV 0.0000 (0.5244) muscovite_medAl

 14 splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV 0.0000 (0.5106) muscovite_medhighAl

 15 splib06b_cvhymap07_124ch 310 Muscovite GDS116 Tanzania W1R1Ba CONV 0.0000 (0.0187) muscovite_Fe-rich
347

 16 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV 0.0000 (0.2176) illite

 17 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV 0.0000 (0.2015) illite_gds4

 18 splib06b_cvhymap07_124ch 252 Kaolinite CM9 W1R1Bb CONV 0.0000 (0.8691) kaolinite_wxl

 19 splib06b_cvhymap07_124ch 255 Kaolinite KGa-2 (pxl) W1R1Bb CONV 0.0000 (0.8216) kaolinite_pxl

 20 splib06b_cvhymap07_124ch 197 Halloysite NMNH106237 W1R1Ba CONV 0.0000 (0.7671) kaolin+clay_mica_or_halloysite

 21 splib06b_cvhymap07_124ch 144 Dickite NMNH106242 W1R1Bb CONV 0.0000 (0.8661) kaol_possible_alunite_or_dicki

 22 splib06b_cvhymap07_124ch 87 Buddingtonite GDS85 D-206 W1R1Bb CONV 0.0000 (0.0567) buddingtonite

 23 splib06b_cvhymap07_124ch 973 Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV 0.0000 (0.2150) buddingtonite+montmorillonite

 24 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 0.0000 (0.5150) alunite_K_250c

 25 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 0.6294 (0.6294) alunite_Na_450c

 26 splib06b_cvhymap07_124ch 380 Pyrophyllite PYS1A fine gr W1R1Ba CONV 0.0000 (0.3039) pyrophyllite

 27 splib06b_cvhymap07_124ch 241 Jarosite GDS24 Na W1R1Bb CONV 0.0000 (0.3161) jarosite_Na

 28 splib06b_cvhymap07_124ch 243 Jarosite GDS99 K 200C Syn W1R1Ba CONV 0.0000 (0.1755) jarosite_K

 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV 0.0000 (0.2907) montmorillonite_Na

 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV 0.0000 (0.0009) montmorillonite_Ca

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV 0.0000 (0.4705) gypsum

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV 0.0000 (0.3388) chlorite_lowFe

 33 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 0.0000 (0.3431) epidote

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV 0.0000 (0.4963) pyrophyllite.5+alunite.5

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV 0.0000 (0.7272) alunite.5+kaolinite.5

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV 0.0000 (0.7500) alunite.25+kaolinite.75

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV 0.6993 (0.6993) kaolin.5+muscovite_medAl

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV 0.7567 (0.7567) kaolin.5+muscovite_medhighAl

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV 0.0000 (0.4961) kaolin+muscovite_mix_intimate

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 0.0000 (0.7394) kaolin.5+smectite.5

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV 0.0000 (0.0128) jarosite+muscovite_mix_intimat

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV 0.0000 (0.3078) chlorite+muscovite

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.0340) calcite_abundant

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.0340) calcite

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV 0.0000 (0.0534) dolomite

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV 0.0000 (0.2698) carbonate_Fe_bearing

 47 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV 0.6890 (0.6890) dolomite.25+calcite.25+mont_Na

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV 0.0000 (0.5357) calcite.8+montmorillonite_Na.2

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV 0.0000 (0.4362) calcite.8+montmorillonite_Ca.2

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV 0.8738 (0.8738) calcite.7+muscovite.3

 51 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV 0.6278 (0.6278) dolomite.5+montmorillonite_Na.

 52 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV 0.9245 (0.9245) kaolin.2+calcite.8

 53 splib06b_cvhymap07_124ch 101 Chalcedony CU91-6A W1R1Ba CONV 0.0000 (0.1158) chalcedony

 54 splib06b_cvhymap07_124ch 349 Opal TM8896 (Hyalite) W1R1Ba CONV 0.0000 (0.2443) hydrated_silica

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV 0.0000 (0.0758) tremolite_or_talc

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.0017) serpentine_or_dolomite+calcite

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.0347) serpentine1

 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.0017) serpentine2

 59 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.0347) serpentine3

 60 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.0017) serpentine4

 TOP 5 FITS:

 Reference Depth

 Spectrum Output Name Fit Value Value

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

 52 kaolin.2+calcite.8 0.9245 0.0491
348

 50 calcite.7+muscovite.3 0.8738 0.0506

 38 kaolin.5+muscovite_medhighAl 0.7567 0.0636

 37 kaolin.5+muscovite_medAl 0.6993 0.0602

 47 dolomite.25+calcite.25+mont_Na.5 0.6890 0.0380

BEST MATCH:

Observed (SPECPR Title=Rangeland L02-043 S01% G07% W1R1Fa CONV) was best matched by Reference (Output name=kaolin.2+calcite.8) with a fit of 0.9245

 Observed (SPECPR File= splib06b_cvhymap07_124ch; Record= 909; Title= Rangeland L02-043 S01% G07% W1R1Fa CONV)

 Reference (SPECPR File= splib06b_cvhymap07_124ch; Record= 508; Title= Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV)

 Fit= 0.9245 Depth= 0.0491 Fit*Depth= 0.0453

------------------------------------------------------------------- END ANALYSIS --------------------------------------------------------------------

----------------------------------------------------------------- STARTING ANALYSIS -----------------------------------------------------------------

SPECPR file,record Analyzed: C:\usgsprism\mica_hymap\splib06b_cvhymap07_124ch, 921 (SPECPR title = Rangeland L04-047 S00% G47% W1R1Fa CONV)

Command file used: C:\usgsprism\mica_hymap\mica_cmds_group2_hymap2007.mcf

Total number of reference spectra = 60

Total number of reference features = 111

Total number of listed NOT features = 12

Total number of references to NOT features = 62

FINAL WEIGHTED FITS ADJUSTED BY CONSTRAINTS:

Reference Reference Reference Reference Final (Fit before)

Spectrum SPECPR File SPECPR Rec SPECPR Title Fit Value (constraints) Output Name

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

 1 splib06b_cvhymap07_124ch 588 Fir_Tree IH91-2 W1R1Ba CONV 0.9950 (0.9950) vegetation_green

 2 splib06b_cvhymap07_124ch 602 Grass_dry.7+.3green AMX30 W1R1Ba CONV 0.9419 (0.9419) vegetation.dry+green

 3 splib06b_cvhymap07_124ch 690 Melting_snow mSnw1a W1R1Fa CONV 0.0000 (0.1974) snow_melting

 4 splib06b_cvhymap07_124ch 698 Melting_snow mSnw9 (slush) W1R1Fa CONV 0.0000 (0.3553) snow_slush

 5 splib06b_cvhymap07_124ch 566 Seawater_Coast_Chl SW1 W1R1Ba CONV 0.0000 (0.6434) water

 6 splib06b_cvhymap07_124ch 704 Water+Montmor SWy-2+5.01g/l W1R1Fa CONV 0.0000 (0.8710) water_sediment_high

 7 splib06b_cvhymap07_124ch 701 Water+Montmor SWy-2+0.5g/l W1R1Fa CONV 0.0000 (0.8533) water_sediment_low

 8 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 0.0000 (0.7481) dry_veg_grass

 9 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 0.0000 (0.9406) dry_veg_grass_2_3um

 10 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 0.0000 (0.6147) dry_veg_nongrass

 11 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 0.0000 (0.9261) dry_veg_nongrass_2_3um

 12 splib06b_cvhymap07_124ch 965 Muscovite CU93-1 low-Al Phyl W2R4Nb CONV 0.0000 (0.7330) muscovite_lowAl

 13 splib06b_cvhymap07_124ch 674 Muscovite-medlowAl CU91-250A W1R1Fb CONV 0.0000 (0.7540) muscovite_medAl

 14 splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV 0.0000 (0.6751) muscovite_medhighAl

 15 splib06b_cvhymap07_124ch 310 Muscovite GDS116 Tanzania W1R1Ba CONV 0.0000 (0.6515) muscovite_Fe-rich

 16 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV 0.0000 (0.8906) illite

 17 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV 0.0000 (0.8739) illite_gds4

 18 splib06b_cvhymap07_124ch 252 Kaolinite CM9 W1R1Bb CONV 0.0000 (0.7918) kaolinite_wxl

 19 splib06b_cvhymap07_124ch 255 Kaolinite KGa-2 (pxl) W1R1Bb CONV 0.0000 (0.7398) kaolinite_pxl

 20 splib06b_cvhymap07_124ch 197 Halloysite NMNH106237 W1R1Ba CONV 0.0000 (0.7960) kaolin+clay_mica_or_halloysite

 21 splib06b_cvhymap07_124ch 144 Dickite NMNH106242 W1R1Bb CONV 0.0000 (0.7938) kaol_possible_alunite_or_dicki

 22 splib06b_cvhymap07_124ch 87 Buddingtonite GDS85 D-206 W1R1Bb CONV 0.0000 (0.2630) buddingtonite

 23 splib06b_cvhymap07_124ch 973 Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV 0.0000 (0.4734) buddingtonite+montmorillonite

 24 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 0.0000 (0.6471) alunite_K_250c

 25 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 0.0000 (0.8207) alunite_Na_450c

 26 splib06b_cvhymap07_124ch 380 Pyrophyllite PYS1A fine gr W1R1Ba CONV 0.0000 (0.3973) pyrophyllite

 27 splib06b_cvhymap07_124ch 241 Jarosite GDS24 Na W1R1Bb CONV 0.0000 (0.4020) jarosite_Na
349

 28 splib06b_cvhymap07_124ch 243 Jarosite GDS99 K 200C Syn W1R1Ba CONV 0.0000 (0.4807) jarosite_K

 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV 0.0000 (0.8988) montmorillonite_Na

 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV 0.0000 (0.7938) montmorillonite_Ca

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV 0.0000 (0.6323) gypsum

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV 0.0000 (0.2550) chlorite_lowFe

 33 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 0.6356 (0.6356) epidote

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV 0.0000 (0.5836) pyrophyllite.5+alunite.5

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV 0.0000 (0.7709) alunite.5+kaolinite.5

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV 0.0000 (0.7558) alunite.25+kaolinite.75

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV 0.0000 (0.7816) kaolin.5+muscovite_medAl

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV 0.0000 (0.7016) kaolin.5+muscovite_medhighAl

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV 0.0000 (0.8444) kaolin+muscovite_mix_intimate

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV 0.0000 (0.7306) kaolin.5+smectite.5

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV 0.0000 (0.5594) jarosite+muscovite_mix_intimat

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV 0.0000 (0.4587) chlorite+muscovite

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.1962) calcite_abundant

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV 0.0000 (0.1962) calcite

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV 0.0000 (0.0001) dolomite

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV 0.0000 (0.4642) carbonate_Fe_bearing

 47 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV 0.0000 (0.7005) dolomite.25+calcite.25+mont_Na

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV 0.0000 (0.8021) calcite.8+montmorillonite_Na.2

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV 0.0000 (0.9094) calcite.8+montmorillonite_Ca.2

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV 0.0000 (0.6523) calcite.7+muscovite.3

 51 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV 0.0000 (0.6584) dolomite.5+montmorillonite_Na.

 52 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV 0.0000 (0.7033) kaolin.2+calcite.8

 53 splib06b_cvhymap07_124ch 101 Chalcedony CU91-6A W1R1Ba CONV 0.0000 (0.9061) chalcedony

 54 splib06b_cvhymap07_124ch 349 Opal TM8896 (Hyalite) W1R1Ba CONV 0.0000 (0.8217) hydrated_silica

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV 0.0000 (0.5836) tremolite_or_talc

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.1107) serpentine_or_dolomite+calcite

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.1619) serpentine1

 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.1107) serpentine2

 59 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV 0.0000 (0.1619) serpentine3

 60 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV 0.0000 (0.1107) serpentine4

 TOP 5 FITS:

 Reference Depth

 Spectrum Output Name Fit Value Value

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

 1 vegetation_green 0.9950 0.6074

 2 vegetation.dry+green 0.9419 0.5212

 33 epidote 0.6356 0.0503

 Remaining fits are zero.

 Remaining fits are zero.

BEST MATCH:

Observed (SPECPR Title=Rangeland L04-047 S00% G47% W1R1Fa CONV) was best matched by Reference (Output name=vegetation_green) with a fit of 0.9950

 Observed (SPECPR File= splib06b_cvhymap07_124ch; Record= 921; Title= Rangeland L04-047 S00% G47% W1R1Fa CONV)

 Reference (SPECPR File= splib06b_cvhymap07_124ch; Record= 588; Title= Fir_Tree IH91-2 W1R1Ba CONV)

 Fit= 0.9950 Depth= 0.6074 Fit*Depth= 0.6041

------------------------------------------------------------------- END ANALYSIS --------------------------------------------------------------------
350

Normal termination of mica_singlespec_specpr.pro at Sat Apr 23 17:19:47 2011
351

Output report for verbose level 4. “Function 4.2 – Run MICA for Spectral Records”

At verbose level 4, the MICA output contains great detail in its reporting on the analysis of each observed spectrum. A table showing the 

results of the linear regression of the analyzed spectrum (observed spectrum) with reference features (all diagnostic and NOT features) is printed. 

This table shows the fit and depth values of each comparison along with the feature weight of each diagnostic feature in a material. For NOT 

features, the depth threshold type (absolute or relative) is reported, along with the SPECPR file/record/title of the NOT feature. If a reference material 

invokes a ―relative‖ NOT feature then the material’s diagnostic feature number to use as the relative feature is reported. The column labeled ―Ref. 

Spectrum Feature # for rel. depth‖ (reference spectrum feature number for the relative depth) indicates which of the diagnostic features of the 

reference spectrum invoking the NOT feature is to be used in calculating the depth threshold for the NOT feature. Also reported is the multiplier 

factor to apply to the relative depth. For an example calculation, see the annotation in the report below.

A table for the continuum values of diagnostic features is printed next. For each diagnostic feature of a reference material, the analyzed

spectrum’s left continuum endpoint reflectance level, the reflectance value of the midpoint of the continuum line, the right continuum endpoint 

reflectance level, and the ratio of the right to the left continuum reflectance values are reported, along with the constraints on them (the minimum and 

maximum acceptable values set in the command file). An entry of -99.99 for any of the constraint values indicates that a constraint value was not set 

in the command file and that the constraint will not be checked. This table lets the user check how the values calculated from the observed spectrum 

compare to the constraints listed in the command file.

Next, a table for the diagnostic feature fits and depths is printed. For each diagnostic feature of a reference material, the observed spectrum’s 

fit to the feature and the depth of the reference feature scaled to the observed spectrum are reported, along with the constraints on them (the minimum 

and maximum acceptable values set in the command file). An entry of -99.99 for any of the constraint values indicates that a constraint value was not 

set in the command file and that the constraint will not be checked. This table lets the user check how the values calculated from the observed 

spectrum compare to the constraints listed in the command file.

Next, a table for the NOT feature fits and depths is printed. For each NOT feature of a reference material, the observed spectrum’s fit to the 

NOT feature and the depth of the NOT feature scaled to the observed spectrum are reported, along with the constraints on them (the threshold values, 

as set in the command file for ―absolute‖ NOT features or as computed using the relative depth multiplier set in the command file and the depth of 

the relative feature).

Next, constraint reports are printed. First, a table of the constraint results for diagnostic features is printed. This table includes the fit, depth, 

left continuum endpoint, midpoint of the continuum line, right continuum endpoint, and ratio of the left to right continuum endpoints. In addition, a 

column reporting a check of the match between the reference feature type (absorption or emission) and the type of the continuum-removed feature 

(absorption or emission) for the observed spectrum is included. This check makes sure that if the NOT feature is an absorption feature then the 

continuum removal over its endpoints for the observed spectrum also produces an absorption feature and not an emission feature. The label at the top 

of the column is ―Depth Sign‖ because absorption features have positive depth values and emission features have negative depth values. Thus, the 

results of a check to make sure the depths of the reference and observed spectral features have the same sign (+/-) is shown. This check is performed 

if the user has turned on either the ―TETRACORDER_OPTIONS‖ or ―CHECK_SIGNS_OF_DEPTHS‖ keyword in the command file (see appendix 

A). An entry of ―N/A‖ in the columns of the constraint results indicates that no value was set for the constraint in the command file and, thus, it was 
352

not checked and will not be used in the final judgment of whether the feature has passed all constraints. The final column of the table is the summary 

judgment of the constraints for each feature. If the observed spectrum has failed to meet any of the individual constraints, then the final judgment for

the feature will be ―Fail‖ as well. For a reference material (reference spectrum) to be matched to the observed spectrum, all of its features must pass 

their continuum constraints, otherwise the final fit value of the material will be set to zero before the highest fit value is determined, thus eliminating 

the material from being selected as the best match.

Next, summary results for the NOT features are reported. If the fit and depth values of the NOT feature do not meet the constraints on their 

values, they are marked as ―Fail‖. Also, since MICA compares the absolute values of the depths of features to the constraints, a column checking that 

the continuum-removed feature in the observed spectrum is the same type of feature as the NOT feature is printed. That is, if the NOT feature is an 

absorption feature (which has a positive value for depth), then the continuum removal of the observed spectrum must also result in an absorption 

feature (which will have a positive value for depth). If the depth threshold is determined using a relative NOT threshold calculation, a column 

checking that the relative feature and the same continuum-removed feature in the observed spectrum are the equivalent type of feature (for example, 

both are absorption features, that is, the depths of both have a positive value) will be printed. The final judgment on a NOT feature is ―present‖ if all 

the constraints are passed. If a NOT feature is detected as being present, then the reference entry (reference material) that invoked the NOT feature 

will be rejected as a match to the observed spectrum. The logic of the NOT feature, in contrast to diagnostic features, is that the reference material 

(reference spectrum) cannot match the observed spectrum if the NOT feature is present. The presence of the NOT feature indicates that the observed 

spectrum is likely to match a material other than the reference material (reference spectrum) that invoked the NOT feature.

Next, the summary values of the weighted fit, weighted depth, and weighted fit*depth are reported. For each reference spectrum (reference 

material) the weighted fit value is the summation of the individual diagnostic feature fit values multiplied by the weighting factors set in the 

command file. In the same way, the weighted depth and weighted fit*depth are determined. These values are reported along with constraints on them 

that were set in the command file. NOTE: in the depth calculation, the absolute values of the depths are multiplied by the weighting factors (reported 

earlier). This is so that both absorption and emission features contribute positively to the weighted depth. Another factor is considered, the feature in 

the observed spectrum must be of the same type (absorption or emission) as the reference feature. If they are the same type, the depth value for the 

feature will contribute positively to the final weighted depth value, otherwise it will be multiplied by -1, and when added with the other depths, it 

reduces the overall depth value. In the annotated output below, an example calculation of the weighted depth is shown for a material that has both 

absorption and emission diagnostic features.

Next, a summary table for the constraints on weighted fit, depth, and fit*depth is printed. For each reference material (reference spectrum), if 

all of these constraints are passed, then the reference material remains in consideration for the ―best match‖ to the observed spectrum. If any 

constraint is failed, then the weighted fit value will be zeroed so that the material is not considered as the best match to the observed spectrum.

Next, the weighted fit values are given. The first fit column shows the ―final fit‖ which is determined after adjusting the weighted fits (the 

second fit column) based on the feature and material constraints. For each reference material (reference spectrum), if all of its constraints are passed, 

then the reference material remains in consideration as the ―best match‖ to the observed spectrum. The best match is found in this first fit column as 

the highest weighted fit value (non-zero). If any diagnostic feature constraint is failed (either a continuum constraint or a fit, depth, or depth sign 

constraint), a NOT feature is found to be present, or the material’s weighted fit/depth constraints are violated, then the weighted fit value will be 
353

zeroed (in this first fit column) before the highest fit value is selected, thus removing the material from consideration as the best match to the 

observed spectrum.

Below the table containing all the fit values, a report on the reference materials (reference spectra) with the top 5 fit values is printed, with the 

fit values ranked and the reference material (reference spectrum) with the highest fit value reported first. At the end of the MICA analysis of the 

observed spectrum, the detailed report of the best match spectrum, as described in the output report for verbose level 2, is given.

The uncommented text report for this verbose level is included with the PRISM software distribution. If the default directory in step 3 of the 

installation instructions was used (see the ―Installation of Software‖ section of this report), then the report will be located at 

―C:\usgsprism\mica_hymap\output\ mica_log_spectrummode_mica_cmds_group2_hymap2007_verbose4.txt‖ on Windows computers. On Linux 

computers, the file will be found in the ―/var/local/usgsprism/mica_hymap/output/‖ directory. For brevity, only the output of the first observed 

spectrum (Rangeland L02-022) is shown in this appendix.
354
355
356
357
358
359

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 1 0.0964 -0.0176 0.9000

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 2 0.3594 0.0038 0.1000

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 3 0.5266 0.0443 0.0000

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 1 0.2418 -0.0245 0.9000

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 2 0.4727 0.0044 0.1000

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 3 0.5998 0.0214 0.0000

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 1 0.2546 -0.0259 0.9000

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 2 0.3193 0.0036 0.1000

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 3 0.7280 0.0226 0.0000

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV diagnostic 1 0.4697 -0.0697 1.0000

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV diagnostic 2 0.4173 0.0264 0.0000

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV not 1 0.2235 0.0029 Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 1 0.2000

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV not 2 0.8045 0.0053 Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 1 0.2000

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV diagnostic 1 0.3886 -0.0644 1.0000

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV diagnostic 2 0.5135 0.0300 0.0000

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV not 1 0.2235 0.0029 Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 1 0.2000

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV not 2 0.8045 0.0053 Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 1 0.2000

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV diagnostic 1 0.6233 -0.0816 1.0000

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV diagnostic 2 0.3927 0.0268 0.0000

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV not 1 0.2235 0.0029 Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 1 0.2000

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV not 2 0.8045 0.0053 Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 1 0.2000

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV diagnostic 1 0.4139 -0.0637 1.0000

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV not 1 0.7270 0.0237 Relative splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV 1 0.2200

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV not 2 0.2235 0.0029 Relative splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV 1 0.2000

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV not 3 0.8045 0.0053 Relative splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV 1 0.2000

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV not 4 0.7626 -0.0049 Relative splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV 1 0.2000

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 1 0.8322 -0.1200 0.5000

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 2 0.5564 0.0095 0.0000

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 3 0.1679 -0.0515 0.5000

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 1 0.0006 -0.0006 0.4500

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 2 0.3467 -0.0783 0.4500

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 3 0.6779 0.0225 0.1000

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 1 0.7213 0.0858 1.0000

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 2 0.7036 0.0082 0.0000

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 1 0.0006 -0.0006 Absolute splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 2 0.0653 -0.0062 Relative splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 1 0.0800

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 3 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 4 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 1 0.7213 0.0858 1.0000

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 1 0.7036 0.0082 Absolute splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 2 0.0006 -0.0006 Absolute splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 3 0.0653 -0.0062 Relative splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 1 0.0800

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 4 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV not 5 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV diagnostic 1 0.3356 0.0604 1.0000

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV not 1 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV not 2 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV diagnostic 1 0.8273 0.0839 0.5000

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV diagnostic 2 0.5085 -0.1353 0.5000

 47 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV diagnostic 1 0.6393 0.0656 0.5000

 47 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV diagnostic 2 0.4583 -0.0693 0.5000

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV diagnostic 1 0.5600 0.0515 0.5000

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV diagnostic 2 0.6574 -0.0769 0.5000

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV not 1 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 48 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV not 2 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV diagnostic 1 0.7069 -0.0691 0.5000

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV diagnostic 2 0.8374 0.0364 0.5000

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV not 1 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 49 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV not 2 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV diagnostic 1 0.6381 0.0751 0.5000

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV diagnostic 2 0.2051 -0.0277 0.5000

 50 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV not 1 0.0653 -0.0062 Relative splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV 1 0.0800

 51 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV diagnostic 1 0.4190 -0.0616 0.5000

 51 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV diagnostic 2 0.6212 0.0617 0.5000

 52 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV diagnostic 1 0.2274 -0.0258 0.5000

 52 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV diagnostic 2 0.7015 0.0783 0.5000

 53 splib06b_cvhymap07_124ch 101 Chalcedony CU91-6A W1R1Ba CONV diagnostic 1 0.4225 -0.0761 1.0000

 54 splib06b_cvhymap07_124ch 349 Opal TM8896 (Hyalite) W1R1Ba CONV diagnostic 1 0.3638 -0.0723 1.0000

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV diagnostic 1 0.7610 0.0571 1.0000

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV diagnostic 2 0.4295 -0.0299 0.0000

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV not 1 0.9687 0.0722 Relative splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV 1 0.6000

 55 splib06b_cvhymap07_124ch 468 Tremolite HS18.3 W1R1Bc CONV not 2 0.9481 0.0695 Relative splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV 1 0.6000

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV diagnostic 1 0.6159 0.0859 1.0000

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV not 1 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 56 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV not 2 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV diagnostic 1 0.4893 0.0791 1.0000

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV not 1 0.9687 0.0722 Absolute splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV

 57 splib06b_cvhymap07_124ch 115 Chrysotile HS323.1B W1R1Ba CONV not 2 0.9481 0.0695 Absolute splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV

 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV diagnostic 1 0.0361 -0.0044 0.0000

 58 splib06b_cvhymap07_124ch 67 Antigorite NMNH96917.d 70um W1R1Bb CONV diagnostic 2 0.6159 0.0859 1.0000
360
361
362

 3 splib06b_cvhymap07_124ch 690 Melting_snow mSnw1a W1R1Fa CONV diagnostic 1 0.4623 -99.9900 0.0067 -99.9900 -99.9900

 3 splib06b_cvhymap07_124ch 690 Melting_snow mSnw1a W1R1Fa CONV diagnostic 2 0.2566 -99.9900 0.0152 -99.9900 -99.9900

 4 splib06b_cvhymap07_124ch 698 Melting_snow mSnw9 (slush) W1R1Fa CONV diagnostic 1 0.8753 -99.9900 0.0126 -99.9900 -99.9900

 4 splib06b_cvhymap07_124ch 698 Melting_snow mSnw9 (slush) W1R1Fa CONV diagnostic 2 0.2398 -99.9900 0.0129 -99.9900 -99.9900

 5 splib06b_cvhymap07_124ch 566 Seawater_Coast_Chl SW1 W1R1Ba CONV diagnostic 1 0.5082 -99.9900 -0.6653 -99.9900 -99.9900

 5 splib06b_cvhymap07_124ch 566 Seawater_Coast_Chl SW1 W1R1Ba CONV diagnostic 2 0.7522 -99.9900 -0.0515 -99.9900 -99.9900

 6 splib06b_cvhymap07_124ch 704 Water+Montmor SWy-2+5.01g/l W1R1Fa CONV diagnostic 1 0.9611 -99.9900 0.0116 -99.9900 -99.9900

 6 splib06b_cvhymap07_124ch 704 Water+Montmor SWy-2+5.01g/l W1R1Fa CONV diagnostic 2 0.8634 -99.9900 -0.0914 -99.9900 -99.9900

 6 splib06b_cvhymap07_124ch 704 Water+Montmor SWy-2+5.01g/l W1R1Fa CONV diagnostic 3 0.2229 -99.9900 -0.0111 -99.9900 -99.9900

 7 splib06b_cvhymap07_124ch 701 Water+Montmor SWy-2+0.5g/l W1R1Fa CONV diagnostic 1 0.9383 -99.9900 0.0114 -99.9900 -99.9900

 7 splib06b_cvhymap07_124ch 701 Water+Montmor SWy-2+0.5g/l W1R1Fa CONV diagnostic 2 0.1596 -99.9900 -0.0095 -99.9900 -99.9900

 7 splib06b_cvhymap07_124ch 701 Water+Montmor SWy-2+0.5g/l W1R1Fa CONV diagnostic 3 0.9115 -99.9900 -0.0914 -99.9900 -99.9900

 8 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV diagnostic 1 0.9687 -99.9900 0.0722 0.0050 -99.9900

 8 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV diagnostic 2 0.9639 -99.9900 0.0861 0.0050 -99.9900

 9 splib06b_cvhymap07_124ch 812 Grass_Golden_Dry GDS480 W1R1Fa CONV diagnostic 1 0.9639 -99.9900 0.0861 0.0050 -99.9900

 10 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV diagnostic 1 0.9481 -99.9900 0.0695 0.0050 -99.9900

 10 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV diagnostic 2 0.9814 -99.9900 0.0986 0.0050 -99.9900

 11 splib06b_cvhymap07_124ch 831 Lodgepole-Pine LP-Needles-3 W1R1Fa CONV diagnostic 1 0.9814 -99.9900 0.0986 0.0050 -99.9900

 12 splib06b_cvhymap07_124ch 965 Muscovite CU93-1 low-Al Phyl W2R4Nb CONV diagnostic 1 0.7646 -99.9900 -0.0999 -99.9900 -99.9900

 12 splib06b_cvhymap07_124ch 965 Muscovite CU93-1 low-Al Phyl W2R4Nb CONV diagnostic 2 0.4075 -99.9900 0.0181 -99.9900 -99.9900

 13 splib06b_cvhymap07_124ch 674 Muscovite-medlowAl CU91-250A W1R1Fb CONV diagnostic 1 0.5928 -99.9900 -0.0736 -99.9900 -99.9900

 13 splib06b_cvhymap07_124ch 674 Muscovite-medlowAl CU91-250A W1R1Fb CONV diagnostic 2 0.5298 -99.9900 0.0237 -99.9900 -99.9900

 14 splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV diagnostic 1 0.3993 -99.9900 -0.0744 -99.9900 -99.9900

 14 splib06b_cvhymap07_124ch 308 Muscovite GDS113 Ruby W1R1Bb CONV diagnostic 2 0.7270 -99.9900 0.0237 -99.9900 -99.9900

 15 splib06b_cvhymap07_124ch 310 Muscovite GDS116 Tanzania W1R1Ba CONV diagnostic 1 0.8701 -99.9900 -0.1114 -99.9900 -99.9900

 15 splib06b_cvhymap07_124ch 310 Muscovite GDS116 Tanzania W1R1Ba CONV diagnostic 2 0.0049 -99.9900 0.0029 -99.9900 -99.9900

 16 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV diagnostic 1 0.9137 -99.9900 -0.1015 -99.9900 -99.9900

 16 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV diagnostic 2 0.7499 -99.9900 0.0232 -99.9900 -99.9900

 17 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV diagnostic 1 0.9443 -99.9900 -0.1055 -99.9900 -99.9900

 17 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV diagnostic 2 0.7747 -99.9900 0.0242 -99.9900 -99.9900

 18 splib06b_cvhymap07_124ch 252 Kaolinite CM9 W1R1Bb CONV diagnostic 1 0.2829 -99.9900 -0.0282 -99.9900 -99.9900

 19 splib06b_cvhymap07_124ch 255 Kaolinite KGa-2 (pxl) W1R1Bb CONV diagnostic 1 0.3819 -99.9900 -0.0598 -99.9900 -99.9900

 20 splib06b_cvhymap07_124ch 197 Halloysite NMNH106237 W1R1Ba CONV diagnostic 1 0.5011 -99.9900 -0.0733 -99.9900 -99.9900

 21 splib06b_cvhymap07_124ch 144 Dickite NMNH106242 W1R1Bb CONV diagnostic 1 0.2665 -99.9900 -0.0283 -99.9900 -99.9900

 22 splib06b_cvhymap07_124ch 87 Buddingtonite GDS85 D-206 W1R1Bb CONV diagnostic 1 0.0319 -99.9900 -0.0237 -99.9900 -99.9900

 23 splib06b_cvhymap07_124ch 973 Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV diagnostic 1 0.1422 -99.9900 -0.0426 -99.9900 -99.9900

 24 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV diagnostic 1 0.0120 -99.9900 -0.0074 -99.9900 -99.9900

 24 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV diagnostic 2 0.2235 -99.9900 0.0029 -99.9900 -99.9900

 25 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV diagnostic 1 0.1016 -99.9900 -0.0225 -99.9900 -99.9900

 25 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV diagnostic 2 0.8045 -99.9900 0.0053 -99.9900 -99.9900

 26 splib06b_cvhymap07_124ch 380 Pyrophyllite PYS1A fine gr W1R1Ba CONV diagnostic 1 0.0070 -99.9900 0.0015 0.0200 -99.9900

 27 splib06b_cvhymap07_124ch 241 Jarosite GDS24 Na W1R1Bb CONV diagnostic 1 0.2712 -99.9900 -0.0819 -99.9900 -99.9900

 28 splib06b_cvhymap07_124ch 243 Jarosite GDS99 K 200C Syn W1R1Ba CONV diagnostic 1 0.3224 -99.9900 -0.0883 -99.9900 -99.9900

 29 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV diagnostic 1 0.7261 -99.9900 -0.0801 -99.9900 -99.9900

 30 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV diagnostic 1 0.7681 -99.9900 -0.0806 -99.9900 -99.9900

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV diagnostic 1 0.8442 -99.9900 -0.1331 -99.9900 -99.9900

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV diagnostic 2 0.7626 0.8000 -0.0049 -99.9900 -99.9900

 31 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV diagnostic 3 0.5191 0.8000 0.0177 -99.9900 -99.9900

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV diagnostic 1 0.3225 -99.9900 0.0545 -99.9900 -99.9900

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV diagnostic 2 0.5051 -99.9900 -0.0423 -99.9900 -99.9900

 32 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV diagnostic 3 0.7102 -99.9900 -0.3737 -99.9900 -99.9900

 33 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV diagnostic 1 0.0653 -99.9900 -0.0062 -99.9900 -99.9900

 33 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV diagnostic 2 0.6926 -99.9900 0.0865 -99.9900 -99.9900

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 1 0.0964 -99.9900 -0.0176 -99.9900 -99.9900

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 2 0.3594 -99.9900 0.0038 -99.9900 -99.9900

 34 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 3 0.5266 -99.9900 0.0443 -99.9900 -99.9900

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 1 0.2418 -99.9900 -0.0245 -99.9900 -99.9900

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 2 0.4727 -99.9900 0.0044 -99.9900 -99.9900

 35 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 3 0.5998 -99.9900 0.0214 -99.9900 -99.9900

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 1 0.2546 -99.9900 -0.0259 -99.9900 -99.9900

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 2 0.3193 -99.9900 0.0036 -99.9900 -99.9900

 36 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 3 0.7280 -99.9900 0.0226 -99.9900 -99.9900

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV diagnostic 1 0.4697 -99.9900 -0.0697 -99.9900 -99.9900

 37 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV diagnostic 2 0.4173 -99.9900 0.0264 -99.9900 -99.9900

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV diagnostic 1 0.3886 -99.9900 -0.0644 -99.9900 -99.9900

 38 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV diagnostic 2 0.5135 -99.9900 0.0300 -99.9900 -99.9900

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV diagnostic 1 0.6233 -99.9900 -0.0816 -99.9900 -99.9900

 39 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV diagnostic 2 0.3927 -99.9900 0.0268 -99.9900 -99.9900

 40 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV diagnostic 1 0.4139 -99.9900 -0.0637 -99.9900 -99.9900

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 1 0.8322 -99.9900 -0.1200 -99.9900 -99.9900

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 2 0.5564 -99.9900 0.0095 -99.9900 -99.9900

 41 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 3 0.1679 -99.9900 -0.0515 -99.9900 -99.9900

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 1 0.0006 -99.9900 -0.0006 -99.9900 -99.9900

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 2 0.3467 -99.9900 -0.0783 -99.9900 -99.9900

 42 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 3 0.6779 -99.9900 0.0225 -99.9900 -99.9900

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 1 0.7213 -99.9900 0.0858 -99.9900 -99.9900

 43 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 2 0.7036 -99.9900 0.0082 -99.9900 -99.9900

 44 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 1 0.7213 -99.9900 0.0858 -99.9900 -99.9900

 45 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV diagnostic 1 0.3356 -99.9900 0.0604 -99.9900 -99.9900

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV diagnostic 1 0.8273 -99.9900 0.0839 -99.9900 -99.9900

 46 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV diagnostic 2 0.5085 -99.9900 -0.1353 -99.9900 -99.9900
363
364
365

 14 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 14 splib06b_cvhymap07_124ch 236 Illite IMt-1.b <2um W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 15 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 15 splib06b_cvhymap07_124ch 232 Illite GDS4 (Marblehead) W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 16 splib06b_cvhymap07_124ch 252 Kaolinite CM9 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 17 splib06b_cvhymap07_124ch 255 Kaolinite KGa-2 (pxl) W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 18 splib06b_cvhymap07_124ch 197 Halloysite NMNH106237 W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 19 splib06b_cvhymap07_124ch 144 Dickite NMNH106242 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 20 splib06b_cvhymap07_124ch 87 Buddingtonite GDS85 D-206 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 21 splib06b_cvhymap07_124ch 973 Buddingtnt+Na-Mont CU93-260B W2R4Nb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 22 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 22 splib06b_cvhymap07_124ch 945 Alunite GDS96 K Syn (250C) W2R4Na CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 23 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 23 splib06b_cvhymap07_124ch 948 Alunite RES-3 Na Syn (450C) W2R4Na CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 24 splib06b_cvhymap07_124ch 380 Pyrophyllite PYS1A fine gr W1R1Ba CONV diagnostic 1 N/A Fail N/A Pass N/A N/A Pass This feature FAILED one or more constraints!

 25 splib06b_cvhymap07_124ch 241 Jarosite GDS24 Na W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 26 splib06b_cvhymap07_124ch 243 Jarosite GDS99 K 200C Syn W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 27 splib06b_cvhymap07_124ch 302 Montmorillonite SWy-1 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 28 splib06b_cvhymap07_124ch 298 Montmorillonite SAz-1 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

29 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 29 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV diagnostic 2 Fail N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 29 splib06b_cvhymap07_124ch 191 Gypsum HS333.3B (Selenite) W1R1Ba CONV diagnostic 3 Fail N/A N/A Pass N/A N/A Pass This feature FAILED one or more constraints!

 30 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 30 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 30 splib06b_cvhymap07_124ch 109 Chlorite SMR-13.b 60-104um W1R1Ba CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 31 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 31 splib06b_cvhymap07_124ch 159 Epidote GDS26.a 75-200um W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 32 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 32 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 32 splib06b_cvhymap07_124ch 490 Alun366+.50PyroPYS1A GDS222 W1R1Bb CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 33 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 33 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 33 splib06b_cvhymap07_124ch 493 Alunite0.5+Kaol_KGa-1 AMX3 W1R1Bb CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 34 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 34 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 34 splib06b_cvhymap07_124ch 536 Kaolwxl.75+Alun_HS295 AMX14 W1R1Bb CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 35 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 35 splib06b_cvhymap07_124ch 529 Kaol.5+MuscCU91-250A AMX13 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 36 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 36 splib06b_cvhymap07_124ch 530 Kaol_Wxl+0.5Musc_Ruby AMX12 W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 37 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 37 splib06b_cvhymap07_124ch 528 Kaol+Musc_intimate CU93-5C W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 38 splib06b_cvhymap07_124ch 532 Kaolin_Smect H89-FR-2 .5Kaol W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 39 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 39 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 39 splib06b_cvhymap07_124ch 543 Muscov+Jaros CU93-314 coatng W1R1Bb CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 40 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A Pass Fail This feature FAILED one or more constraints!

 40 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 40 splib06b_cvhymap07_124ch 511 Chlorite+Muscovite CU93-65A W1R1Ba CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 41 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 41 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 41 splib06b_cvhymap07_124ch 94 Calcite WS272 W1R1Ba CONV diagnostic 3 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 42 splib06b_cvhymap07_124ch 151 Dolomite HS102.3B W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A Pass Pass This feature PASSED all the constraints.

 43 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 43 splib06b_cvhymap07_124ch 416 Siderite HS271.3B W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 44 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 44 splib06b_cvhymap07_124ch 500 Calc.25+dolo.25+mont.5 AMX18 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 45 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 45 splib06b_cvhymap07_124ch 507 Calcite.80+Mont_Swy-1 GDS212 W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 46 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 46 splib06b_cvhymap07_124ch 506 Calcite.8+Ca-Montmor.2 AMX15 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 47 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 47 splib06b_cvhymap07_124ch 501 Calcite+.33Muscov AMX5 Ruby W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 48 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 48 splib06b_cvhymap07_124ch 515 Dolomite.5+Na-mont.5 AMX21 W1R1Bb CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.

 49 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV diagnostic 1 N/A N/A N/A Pass N/A N/A Fail This feature FAILED one or more constraints!

 49 splib06b_cvhymap07_124ch 508 Calcite.80wt+Kaol_CM9 GDS213 W1R1Ba CONV diagnostic 2 N/A N/A N/A Pass N/A N/A Pass This feature PASSED all the constraints.
366
367
368
369
370
371

Output report for verbose level 5. “Function 4.2 – Run MICA for Spectral Records”

At verbose level 5, the MICA output report has all the great detail of verbose level 4 and some reporting from the subroutines called by 

MICA. In addition, PostScript plots of the observed spectrum compared to each reference feature (diagnostic and NOT features) are created (see 

examples shown in fig. B5). The plot files are created in the output directory. These plots show the continuum- removed reference features (dotted 

lines), the observed spectrum (solid thick lines) that has been continuum removed with the same continuum endpoint channels as the reference, and 

the reference feature scaled to the observed spectral feature (solid thin lines). These plots let the user visually inspect the feature comparisons. Note: 

if the command file contains a numerous diagnostic and NOT features and/or many observed spectra are analyzed, then many plot files will be 

created.

The uncommented text report and PostScript plots for this verbose level are included with the PRISM software distribution. If the default 

directory in step 3 of the installation instructions was used (see the ―Installation of Software‖ section of this report), then the files will be located in

―C:\usgsprism\mica_hymap\output\ spectrummode_verboselevel5\‖ on Windows computers. On Linux computers, the files will be found in the 

―/var/local/usgsprism/mica_hymap/output/‖ directory.
372

Plots of reference features for ―Dry Golden Grass‖, A and B, and ―Illite‖, C and D, compared to the observed spectrum. Dotted lines are the continuumremoved reference features. Solid thick lines are the continuum-removed observed spectra. Solid thin lines are the reference spectra scaled to the observed spectra.
373

Output report for verbose level 1. “Function 4.1 – Run MICA for Image Cubes”

This part of the appendix contains example reports for the MICA Image Cube mode, including the output reports for different verbose levels. 

In this example, the command file in appendix A, for minerals with diagnostic absorption features in the 2 to 2.5 m wavelength region and for 

HyMap imaging spectrometer, is used to analyze the example image. The example image ―testcube_hymap124ch‖ is distributed with the PRISM 

software. If the default directory in step 3 of the installation instructions was used, then the command file will be located in 

―C:\usgsprism\mica_hymap\cube\‖ on Windows computers and in ―/var/local/usgsprism/mica_hymap/cube/‖ on Linux computers. The sample 

command file was developed to detect the occurrences of a set of materials in the pixels of HyMap imaging spectrometer data. The reference 

materials are primarily minerals, along with other common surface cover such as water, snow, and vegetation. For more details on the application of 

this command file to the large HyMap dataset covering the country of Afghanistan see Kokaly and others (in press). The command file 

―mica_cmds_group2_hymap2007.mcf‖ is distributed with the PRISM software. If the default directory in step 3 of the installation instructions was 

used (see the ―Installation of Software‖ section of this report), then the command file will be located in ―C:\usgsprism\mica_hymap\‖ on Windows 

computers and in ―/var/local/usgsprism/mica_hymap/‖ on Linux computers.

Verbose level 1 of the MICA image cube does not produce a text report, creating only the output images.
374

Output report for verbose level 2. “Function 4.1 – Run MICA for Image Cubes”

The information in the report includes basic feedback on the selected image cube, the command file used, scale factors applied, deleted 

channels excluded from spectral analysis, and the user-specified value indicating non-data pixels. If a value for non-data pixels is specified, MICA 

will find all pixels in the input cube, in which all channels are set to this non-data value, produce an image of these pixels, with the name 

―image_nondata_pixels‖, and exclude these pixels from analysis. The data type for the image of the non-data pixels is byte and has a separate ENVI 

header file. A value of 0 (zero) in the image indicates a non-data pixel and 1 (one) indicates a valid data pixel. The file is compressed with GZIP 

compression (see ITT Visual Information Solutions, 2009, for details on the implementation of this compression in ENVI/IDL). In the basic 

feedback, special processing options set in the command file are identified, for example the ―CHECK_SIGNS_OF_DEPTHS‖ or the 

―TETRACORDER_OPTIONS‖ options (see the discussion of these keywords in Module 4. MICA – Material Identification and Characterization 

Algorithm).

In image cube mode, MICA allows the user to create a summary image with user controlled colors and values of classes for the reference 

materials. This user defined summary image, as well as the default summary images, is of byte data type in ENVI classification image format. No 

compression is applied to the summary images. The user can specify this option in the command file by setting the ―FILE_DN_COLORS‖ keyword 

to indicate a text file containing the class names, values, and colors. If the user has set this keyword, the file used and the class names, values, and 

colors read from this file are echoed back to the user in the text report.

Following the basic information, the text report includes information on the entries in the command file and dimensions of the image cube. 

During the analysis of the image cube, the output name of the reference spectrum with the best fit to the central pixel of every 10th line is reported. 

After the analysis is complete, the program creates the output files using the output names specified for each material in the command file as the base 

of the filename. For each material, if at least one pixel was found to have its best match to the material, output images of the fit, depth, and fit*depth 

values are created, with the extensions ―_fit‖, ―depth‖, and ―_fd‖ added to the base output names, respectively. If no matches were found to the 

material, its output files will not be created. For pixels that did not have a match to any of the reference materials, a special image, with the name 

―image_unmapped_pixels‖, is created to identify them. The image data type is byte and has a separate ENVI header file. A value of 1 (one) in the 

image indicates a valid data pixel which was not matched to any reference spectra. The file is compressed with GZIP compression (see ITT Visual 

Information Solutions, 2009, for details on the implementation of this compression in ENVI/IDL). All georeferencing information present in the 

header of the input image cube is preserved in MICA output images. Information of file creation/non-creation is given in the text report. The output 

fit, depth, and fit*depth image files are two-byte integer data type in PC (Intel) byte order with a VICAR header and have corresponding, separate 

ENVI header files. The image files are compressed with GZIP compression (see ITT Visual Information Solutions, 2009, for details on the 

implementation of this compression in ENVI/IDL). To facilitate tracing the relationships of output images with the input data and spectra used to 

create them, the ENVI headers of the files contain information on the input image cube, MICA command file, and reference spectrum SPECPR file, 

record, and title.
375
376
377
378
379

Input spectrum (line=120,sample=223) was best matched by calcite.8+montmorillonite_Ca.2 with a fit of 0.7719 and a depth of 0.0147 and a fit*depth of 0.0114

Input spectrum (line=130,sample=223) was best matched by calcite.8+montmorillonite_Ca.2 with a fit of 0.7372 and a depth of 0.0150 and a fit*depth of 0.0111

Input spectrum (line=140,sample=223) was best matched by calcite.8+montmorillonite_Ca.2 with a fit of 0.6843 and a depth of 0.0132 and a fit*depth of 0.0094

Input spectrum (line=150,sample=223) was best matched by calcite with a fit of 0.7231 and a depth of 0.0246 and a fit*depth of 0.0178

Input spectrum (line=160,sample=223) was best matched by calcite.8+montmorillonite_Ca.2 with a fit of 0.6386 and a depth of 0.0144 and a fit*depth of 0.0092

Input spectrum (line=170,sample=223) was best matched by calcite.8+montmorillonite_Ca.2 with a fit of 0.6342 and a depth of 0.0135 and a fit*depth of 0.0111

Input spectrum (line=180,sample=223) NO MATCH WAS FOUND!

Input spectrum (line=190,sample=223) was best matched by calcite with a fit of 0.9310 and a depth of 0.0907 and a fit*depth of 0.0844

Input spectrum (line=200,sample=223) was best matched by calcite with a fit of 0.9579 and a depth of 0.0990 and a fit*depth of 0.0948

Input spectrum (line=210,sample=223) was best matched by calcite with a fit of 0.9559 and a depth of 0.0986 and a fit*depth of 0.0943

Input spectrum (line=220,sample=223) was best matched by dry_veg_grass with a fit of 0.9688 and a depth of 0.0633 and a fit*depth of 0.0612

Input spectrum (line=230,sample=223) was best matched by calcite with a fit of 0.9139 and a depth of 0.0833 and a fit*depth of 0.0761

Input spectrum (line=240,sample=223) was best matched by dry_veg_grass_2_3um with a fit of 0.9009 and a depth of 0.0755 and a fit*depth of 0.0680

Input spectrum (line=250,sample=223) was best matched by calcite with a fit of 0.9531 and a depth of 0.1231 and a fit*depth of 0.1173

Input spectrum (line=260,sample=223) was best matched by calcite with a fit of 0.9920 and a depth of 0.1790 and a fit*depth of 0.1776

Input spectrum (line=270,sample=223) was best matched by calcite with a fit of 0.9462 and a depth of 0.0638 and a fit*depth of 0.0604

Input spectrum (line=280,sample=223) was best matched by calcite with a fit of 0.9566 and a depth of 0.0830 and a fit*depth of 0.0794

Input spectrum (line=290,sample=223) was best matched by calcite with a fit of 0.8339 and a depth of 0.0482 and a fit*depth of 0.0402

Input spectrum (line=300,sample=223) NO MATCH WAS FOUND!

Input spectrum (line=310,sample=223) was best matched by calcite with a fit of 0.9732 and a depth of 0.0955 and a fit*depth of 0.0929

Input spectrum (line=320,sample=223) was best matched by dry_veg_grass with a fit of 0.9258 and a depth of 0.0535 and a fit*depth of 0.0493

Input spectrum (line=330,sample=223) was best matched by kaolin+muscovite_mix_intimate with a fit of 0.9744 and a depth of 0.0829 and a fit*depth of 0.0807

Input spectrum (line=340,sample=223) was best matched by kaolin+muscovite_mix_intimate with a fit of 0.9349 and a depth of 0.0638 and a fit*depth of 0.0597

Input spectrum (line=350,sample=223) was best matched by muscovite_medAl with a fit of 0.9026 and a depth of 0.0495 and a fit*depth of 0.0455

Input spectrum (line=360,sample=223) was best matched by calcite.7+muscovite.3 with a fit of 0.8747 and a depth of 0.0503 and a fit*depth of 0.0465

Input spectrum (line=370,sample=223) was best matched by kaolin+muscovite_mix_intimate with a fit of 0.9766 and a depth of 0.0632 and a fit*depth of 0.0618

Input spectrum (line=380,sample=223) was best matched by kaolin+clay_mica_or_halloysite with a fit of 0.9415 and a depth of 0.0325 and a fit*depth of 0.0306

Input spectrum (line=390,sample=223) was best matched by calcite.8+montmorillonite_Na.2 with a fit of 0.9248 and a depth of 0.0432 and a fit*depth of 0.0400

Input spectrum (line=400,sample=223) was best matched by dolomite.25+calcite.25+mont_Na.5 with a fit of 0.8724 and a depth of 0.0399 and a fit*depth of 0.0357

Input spectrum (line=410,sample=223) was best matched by vegetation.dry+green with a fit of 0.8816 and a depth of 0.1612 and a fit*depth of 0.1462

Input spectrum (line=420,sample=223) was best matched by calcite with a fit of 0.9379 and a depth of 0.1246 and a fit*depth of 0.1168

Input spectrum (line=430,sample=223) was best matched by calcite with a fit of 0.8843 and a depth of 0.0915 and a fit*depth of 0.0809

Input spectrum (line=440,sample=223) was best matched by vegetation_green with a fit of 0.8914 and a depth of 0.2097 and a fit*depth of 0.1861

Input spectrum (line=450,sample=223) was best matched by vegetation.dry+green with a fit of 0.8595 and a depth of 0.1400 and a fit*depth of 0.1243

Input spectrum (line=460,sample=223) was best matched by calcite with a fit of 0.9142 and a depth of 0.0753 and a fit*depth of 0.0688

Input spectrum (line=470,sample=223) was best matched by calcite with a fit of 0.9017 and a depth of 0.0840 and a fit*depth of 0.0757

Input spectrum (line=480,sample=223) was best matched by calcite with a fit of 0.9420 and a depth of 0.1052 and a fit*depth of 0.0991

Input spectrum (line=490,sample=223) was best matched by calcite with a fit of 0.6683 and a depth of 0.0366 and a fit*depth of 0.0244

Input spectrum (line=500,sample=223) was best matched by calcite with a fit of 0.8909 and a depth of 0.0926 and a fit*depth of 0.0825

Input spectrum (line=510,sample=223) was best matched by calcite with a fit of 0.8521 and a depth of 0.0612 and a fit*depth of 0.0522

Input spectrum (line=520,sample=223) was best matched by calcite with a fit of 0.8053 and a depth of 0.0658 and a fit*depth of 0.0530

Input spectrum (line=530,sample=223) was best matched by calcite with a fit of 0.9321 and a depth of 0.1021 and a fit*depth of 0.0951

Input spectrum (line=540,sample=223) was best matched by calcite with a fit of 0.9164 and a depth of 0.0730 and a fit*depth of 0.0669

Input spectrum (line=550,sample=223) was best matched by calcite with a fit of 0.9918 and a depth of 0.2050 and a fit*depth of 0.2034

Input spectrum (line=560,sample=223) was best matched by calcite with a fit of 0.9580 and a depth of 0.1186 and a fit*depth of 0.1137

Input spectrum (line=570,sample=223) was best matched by calcite with a fit of 0.8199 and a depth of 0.1145 and a fit*depth of 0.0939

Input spectrum (line=580,sample=223) was best matched by calcite_abundant with a fit of 0.9570 and a depth of 0.1390 and a fit*depth of 0.1331

Input spectrum (line=590,sample=223) was best matched by calcite_abundant with a fit of 0.9354 and a depth of 0.1359 and a fit*depth of 0.1271

Input spectrum (line=600,sample=223) was best matched by calcite with a fit of 0.9569 and a depth of 0.1009 and a fit*depth of 0.0966

Input spectrum (line=610,sample=223) was best matched by calcite with a fit of 0.9621 and a depth of 0.1112 and a fit*depth of 0.1070

Input spectrum (line=620,sample=223) was best matched by dry_veg_grass with a fit of 0.9478 and a depth of 0.0661 and a fit*depth of 0.0625

Input spectrum (line=630,sample=223) was best matched by calcite_abundant with a fit of 0.9699 and a depth of 0.1478 and a fit*depth of 0.1433

Input spectrum (line=640,sample=223) was best matched by calcite_abundant with a fit of 0.9654 and a depth of 0.1606 and a fit*depth of 0.1550
380
381

 Output files for material = muscovite_medAl with 2068 pixels selected as the best match were successfully written.

 Output files for material = muscovite_medhighAl with 8903 pixels selected as the best match were successfully written.

 Output files for material = muscovite_Fe-rich with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = illite with 358 pixels selected as the best match were successfully written.

 Output files for material = illite_gds4 with 67 pixels selected as the best match were successfully written.

 Output files for material = kaolinite_wxl with 17 pixels selected as the best match were successfully written.

 Output files for material = kaolinite_pxl with 45 pixels selected as the best match were successfully written.

 Output files for material = kaolin+clay_mica_or_halloysite with 553 pixels selected as the best match were successfully written.

 Output files for material = kaol_possible_alunite_or_dickite with 3 pixels selected as the best match were successfully written.

 Output files for material = buddingtonite with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = buddingtonite+montmorillonite with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = alunite_K_250c with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = alunite_Na_450c with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = pyrophyllite with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = jarosite_Na with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = jarosite_K with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = montmorillonite_Na with 3730 pixels selected as the best match were successfully written.

 Output files for material = montmorillonite_Ca with 877 pixels selected as the best match were successfully written.

 Output files for material = gypsum with 34 pixels selected as the best match were successfully written.

 Output files for material = chlorite_lowFe with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = epidote with 64 pixels selected as the best match were successfully written.

 Output files for material = pyrophyllite.5+alunite.5 with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = alunite.5+kaolinite.5 with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = alunite.25+kaolinite.75 with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = kaolin.5+muscovite_medAl with 1319 pixels selected as the best match were successfully written.

 Output files for material = kaolin.5+muscovite_medhighAl with 2621 pixels selected as the best match were successfully written.

 Output files for material = kaolin+muscovite_mix_intimate with 5184 pixels selected as the best match were successfully written.

 Output files for material = kaolin.5+smectite.5 with 481 pixels selected as the best match were successfully written.

 Output files for material = jarosite+muscovite_mix_intimate with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = chlorite+muscovite with 3 pixels selected as the best match were successfully written.

 Output files for material = calcite_abundant with 37019 pixels selected as the best match were successfully written.

 Output files for material = calcite with 144044 pixels selected as the best match were successfully written.

 Output files for material = dolomite with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = carbonate_Fe_bearing with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = dolomite.25+calcite.25+mont_Na.5 with 4018 pixels selected as the best match were successfully written.

 Output files for material = calcite.8+montmorillonite_Na.2 with 16543 pixels selected as the best match were successfully written.

 Output files for material = calcite.8+montmorillonite_Ca.2 with 21098 pixels selected as the best match were successfully written.

 Output files for material = calcite.7+muscovite.3 with 27736 pixels selected as the best match were successfully written.

 Output files for material = dolomite.5+montmorillonite_Na.5 with 41 pixels selected as the best match were successfully written.

 Output files for material = kaolin.2+calcite.8 with 532 pixels selected as the best match were successfully written.

 Output files for material = chalcedony with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = hydrated_silica with 0 pixels selected as the best match, files were NOT written because no matches were found.

 Output files for material = tremolite_or_talc with 1 pixels selected as the best match were successfully written.

 Output files for material = serpentine_or_dolomite+calcite with 65 pixels selected as the best match were successfully written.
382
383

 epidote found 64 pixels

 kaolinite_pxl found 45 pixels

 dolomite.5+montmorillonite_Na.5 found 41 pixels

 serpentine3 found 39 pixels

 gypsum found 34 pixels

 water_sediment_high found 26 pixels

 kaolinite_wxl found 17 pixels

 kaol_possible_alunite_or_dickite found 3 pixels

 chlorite+muscovite found 3 pixels

 snow_slush found 2 pixels

 serpentine4 found 1 pixels

 tremolite_or_talc found 1 pixels

 buddingtonite found 0 pixels

 chlorite_lowFe found 0 pixels

 pyrophyllite.5+alunite.5 found 0 pixels

 buddingtonite+montmorillonite found 0 pixels

 alunite.5+kaolinite.5 found 0 pixels

 alunite.25+kaolinite.75 found 0 pixels

 jarosite_K found 0 pixels

 jarosite+muscovite_mix_intimate found 0 pixels

 alunite_K_250c found 0 pixels

 dolomite found 0 pixels

 carbonate_Fe_bearing found 0 pixels

 chalcedony found 0 pixels

 hydrated_silica found 0 pixels

 alunite_Na_450c found 0 pixels

 water_sediment_low found 0 pixels

 pyrophyllite found 0 pixels

 water found 0 pixels

 jarosite_Na found 0 pixels

 snow_melting found 0 pixels

 serpentine2 found 0 pixels

 muscovite_Fe-rich found 0 pixels
384
385

Output report for verbose level 3. ―Function 4.1 – Run MICA for Image Cubes‖

Verbose level three adds reporting on the contents of the MICA command file, including reference spectra, diagnostic and NOT features, 

continuum endpoint ranges, and the channels found within these ranges. Additional details on the creation of the non-data pixels are given, including 

the number of non-data pixels found in the image. More information is reported during the creation of the summary images, including the class value 

and color assigned to each material.
386
387
388
389
390

 File 18 = kaolinite_wxl_fit.gz, found 17 pixels with this material ( 0.00% of valid image pixels).

 File 19 = kaolinite_pxl_fit.gz, found 45 pixels with this material ( 0.01% of valid image pixels).

 File 20 = kaolin+clay_mica_or_halloysite_fit.gz, found 553 pixels with this material ( 0.15% of valid image pixels).

 File 21 = kaol_possible_alunite_or_dickite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 22 = buddingtonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 23 = buddingtonite+montmorillonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 24 = alunite_K_250c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 25 = alunite_Na_450c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 26 = pyrophyllite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 27 = jarosite_Na_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 28 = jarosite_K_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 29 = montmorillonite_Na_fit.gz, found 3730 pixels with this material ( 1.03% of valid image pixels).

 File 30 = montmorillonite_Ca_fit.gz, found 877 pixels with this material ( 0.24% of valid image pixels).

 File 31 = gypsum_fit.gz, found 34 pixels with this material ( 0.01% of valid image pixels).

 File 32 = chlorite_lowFe_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 33 = epidote_fit.gz, found 64 pixels with this material ( 0.02% of valid image pixels).

 File 34 = pyrophyllite.5+alunite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 35 = alunite.5+kaolinite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 36 = alunite.25+kaolinite.75_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 37 = kaolin.5+muscovite_medAl_fit.gz, found 1319 pixels with this material ( 0.36% of valid image pixels).

 File 38 = kaolin.5+muscovite_medhighAl_fit.gz, found 2621 pixels with this material ( 0.72% of valid image pixels).

 File 39 = kaolin+muscovite_mix_intimate_fit.gz, found 5184 pixels with this material ( 1.43% of valid image pixels).

 File 40 = kaolin.5+smectite.5_fit.gz, found 481 pixels with this material ( 0.13% of valid image pixels).

 File 41 = jarosite+muscovite_mix_intimate_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 42 = chlorite+muscovite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 43 = calcite_abundant_fit.gz, found 37019 pixels with this material ( 10.20% of valid image pixels).

 File 44 = calcite_fit.gz, found 144044 pixels with this material ( 39.68% of valid image pixels).

 File 45 = dolomite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 46 = carbonate_Fe_bearing_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

File 47 = dolomite.25+calcite.25+mont_Na.5_fit.gz, found 4018 pixels with this material ( 1.11% of valid image pixels).

 File 48 = calcite.8+montmorillonite_Na.2_fit.gz, found 16543 pixels with this material ( 4.56% of valid image pixels).

 File 49 = calcite.8+montmorillonite_Ca.2_fit.gz, found 21098 pixels with this material ( 5.81% of valid image pixels).

 File 50 = calcite.7+muscovite.3_fit.gz, found 27736 pixels with this material ( 7.64% of valid image pixels).

 File 51 = dolomite.5+montmorillonite_Na.5_fit.gz, found 41 pixels with this material ( 0.01% of valid image pixels).

 File 52 = kaolin.2+calcite.8_fit.gz, found 532 pixels with this material ( 0.15% of valid image pixels).

 File 53 = chalcedony_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 54 = hydrated_silica_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 55 = tremolite_or_talc_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 56 = serpentine_or_dolomite+calcite_fit.gz, found 65 pixels with this material ( 0.02% of valid image pixels).

 File 57 = serpentine1_fit.gz, found 102 pixels with this material ( 0.03% of valid image pixels).

 File 58 = serpentine2_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].
391
392

 carbonate_Fe_bearing 46 0 114 0

 dolomite.25+calcite.25+mont_Na.5 47 0 0 114

 calcite.8+montmorillonite_Na.2 48 114 114 0

calcite.8+montmorillonite_Ca.2 49 0 114 114

 calcite.7+muscovite.3 50 114 0 114

 dolomite.5+montmorillonite_Na.5 51 114 81 0

 kaolin.2+calcite.8 52 114 63 114

 chalcedony 53 0 90 33

 hydrated_silica 54 67 45 13

 tremolite_or_talc 55 81 49 94

 serpentine_or_dolomite+calcite 56 89 0 0

 serpentine1 57 0 89 0

serpentine2 58 0 0 89

serpentine3 59 89 89 0

serpentine4 60 0 89 89

Created output file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_defaultindex

Normal termination of make_envi_classification_image.pro ... Elapsed Time = 0.84 seconds

Creating an ENVI Classification Image for ALL materials using default DN values and colors, including the non-data pixels.

 Output classification file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_defaultindex_withnondataclass

Starting make_envi_classification_image.pro at Mon Apr 25 13:08:44 2011

Processing the mask for non-data pixels...

 Found 0 pixels of non-data (0.00% of all image pixels).

 Number of data pixels = 363044.

Processing the input images...

 File 1 = vegetation_green_fit.gz, found 14258 pixels with this material ( 3.93% of valid image pixels).

 File 2 = vegetation.dry+green_fit.gz, found 5230 pixels with this material ( 1.44% of valid image pixels).

 File 3 = snow_melting_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 4 = snow_slush_fit.gz, found 2 pixels with this material ( 0.00% of valid image pixels).

 File 5 = water_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 6 = water_sediment_high_fit.gz, found 26 pixels with this material ( 0.01% of valid image pixels).

 File 7 = water_sediment_low_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 8 = dry_veg_grass_fit.gz, found 20360 pixels with this material ( 5.61% of valid image pixels).

 File 9 = dry_veg_grass_2_3um_fit.gz, found 19714 pixels with this material ( 5.43% of valid image pixels).

 File 10 = dry_veg_nongrass_fit.gz, found 274 pixels with this material ( 0.08% of valid image pixels).

 File 11 = dry_veg_nongrass_2_3um_fit.gz, found 9914 pixels with this material ( 2.73% of valid image pixels).

 File 12 = muscovite_lowAl_fit.gz, found 1917 pixels with this material ( 0.53% of valid image pixels).

 File 13 = muscovite_medAl_fit.gz, found 2068 pixels with this material ( 0.57% of valid image pixels).

 File 14 = muscovite_medhighAl_fit.gz, found 8903 pixels with this material ( 2.45% of valid image pixels).

 File 15 = muscovite_Fe-rich_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 16 = illite_fit.gz, found 358 pixels with this material ( 0.10% of valid image pixels).

 File 17 = illite_gds4_fit.gz, found 67 pixels with this material ( 0.02% of valid image pixels).

 File 18 = kaolinite_wxl_fit.gz, found 17 pixels with this material ( 0.00% of valid image pixels).

 File 19 = kaolinite_pxl_fit.gz, found 45 pixels with this material ( 0.01% of valid image pixels).

 File 20 = kaolin+clay_mica_or_halloysite_fit.gz, found 553 pixels with this material ( 0.15% of valid image pixels).

 File 21 = kaol_possible_alunite_or_dickite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 22 = buddingtonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 23 = buddingtonite+montmorillonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 24 = alunite_K_250c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 25 = alunite_Na_450c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 26 = pyrophyllite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 27 = jarosite_Na_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 28 = jarosite_K_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 29 = montmorillonite_Na_fit.gz, found 3730 pixels with this material ( 1.03% of valid image pixels).

 File 30 = montmorillonite_Ca_fit.gz, found 877 pixels with this material ( 0.24% of valid image pixels).

 File 31 = gypsum_fit.gz, found 34 pixels with this material ( 0.01% of valid image pixels).

 File 32 = chlorite_lowFe_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].
393

 File 33 = epidote_fit.gz, found 64 pixels with this material ( 0.02% of valid image pixels).

 File 34 = pyrophyllite.5+alunite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 35 = alunite.5+kaolinite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 36 = alunite.25+kaolinite.75_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 37 = kaolin.5+muscovite_medAl_fit.gz, found 1319 pixels with this material ( 0.36% of valid image pixels).

 File 38 = kaolin.5+muscovite_medhighAl_fit.gz, found 2621 pixels with this material ( 0.72% of valid image pixels).

 File 39 = kaolin+muscovite_mix_intimate_fit.gz, found 5184 pixels with this material ( 1.43% of valid image pixels).

 File 40 = kaolin.5+smectite.5_fit.gz, found 481 pixels with this material ( 0.13% of valid image pixels).

 File 41 = jarosite+muscovite_mix_intimate_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 42 = chlorite+muscovite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 43 = calcite_abundant_fit.gz, found 37019 pixels with this material ( 10.20% of valid image pixels).

 File 44 = calcite_fit.gz, found 144044 pixels with this material ( 39.68% of valid image pixels).

 File 45 = dolomite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 46 = carbonate_Fe_bearing_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 47 = dolomite.25+calcite.25+mont_Na.5_fit.gz, found 4018 pixels with this material ( 1.11% of valid image pixels).

 File 48 = calcite.8+montmorillonite_Na.2_fit.gz, found 16543 pixels with this material ( 4.56% of valid image pixels).

 File 49 = calcite.8+montmorillonite_Ca.2_fit.gz, found 21098 pixels with this material ( 5.81% of valid image pixels).

 File 50 = calcite.7+muscovite.3_fit.gz, found 27736 pixels with this material ( 7.64% of valid image pixels).

 File 51 = dolomite.5+montmorillonite_Na.5_fit.gz, found 41 pixels with this material ( 0.01% of valid image pixels).

 File 52 = kaolin.2+calcite.8_fit.gz, found 532 pixels with this material ( 0.15% of valid image pixels).

 File 53 = chalcedony_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 54 = hydrated_silica_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 55 = tremolite_or_talc_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 56 = serpentine_or_dolomite+calcite_fit.gz, found 65 pixels with this material ( 0.02% of valid image pixels).

 File 57 = serpentine1_fit.gz, found 102 pixels with this material ( 0.03% of valid image pixels).

 File 58 = serpentine2_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 59 = serpentine3_fit.gz, found 39 pixels with this material ( 0.01% of valid image pixels).

 File 60 = serpentine4_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

Default class values and colors:

 class_name value red grn blu

 Not_Classified 0 0 0 0

 vegetation_green 1 255 0 0

 vegetation.dry+green 2 0 255 0

 snow_melting 3 0 0 255

 snow_slush 4 255 255 0

 water 5 0 255 255

 water_sediment_high 6 255 0 255

 water_sediment_low 7 255 180 0

 dry_veg_grass 8 255 140 255

 dry_veg_grass_2_3um 9 0 200 75

 dry_veg_nongrass 10 150 100 30

 dry_veg_nongrass_2_3um 11 180 110 210

 muscovite_lowAl 12 216 0 0

muscovite_medAl 13 0 216 0

 muscovite_medhighAl 14 0 0 216

 muscovite_Fe-rich 15 216 216 0

 illite 16 0 216 216

 illite_gds4 17 216 0 216

 kaolinite_wxl 18 216 153 0

 kaolinite_pxl 19 216 119 216

 kaolin+clay_mica_or_halloysite 20 0 170 63

 kaol_possible_alunite_or_dickite 21 127 85 25

 buddingtonite 22 153 93 178

 buddingtonite+montmorillonite 23 178 0 0

 alunite_K_250c 24 0 178 0

 alunite_Na_450c 25 0 0 178

 pyrophyllite 26 178 178 0

 jarosite_Na 27 0 178 178

 jarosite_K 28 178 0 178
394

 montmorillonite_Na 29 178 126 0

 montmorillonite_Ca 30 178 98 178

 gypsum 31 0 140 52

 chlorite_lowFe 32 105 70 21

 epidote 33 126 77 147

 pyrophyllite.5+alunite.5 34 140 0 0

 alunite.5+kaolinite.5 35 0 140 0

 alunite.25+kaolinite.75 36 0 0 140

 kaolin.5+muscovite_medAl 37 140 140 0

 kaolin.5+muscovite_medhighAl 38 0 140 140

 kaolin+muscovite_mix_intimate 39 140 0 140

 kaolin.5+smectite.5 40 140 99 0

 jarosite+muscovite_mix_intimate 41 140 77 140

 chlorite+muscovite 42 0 110 41

 calcite_abundant 43 82 55 16

 calcite 44 99 60 115

 dolomite 45 114 0 0

 carbonate_Fe_bearing 46 0 114 0

 dolomite.25+calcite.25+mont_Na.5 47 0 0 114

 calcite.8+montmorillonite_Na.2 48 114 114 0

calcite.8+montmorillonite_Ca.2 49 0 114 114

 calcite.7+muscovite.3 50 114 0 114

 dolomite.5+montmorillonite_Na.5 51 114 81 0

 kaolin.2+calcite.8 52 114 63 114

 chalcedony 53 0 90 33

 hydrated_silica 54 67 45 13

 tremolite_or_talc 55 81 49 94

 serpentine_or_dolomite+calcite 56 89 0 0

 serpentine1 57 0 89 0

serpentine2 58 0 0 89

serpentine3 59 89 89 0

serpentine4 60 0 89 89

 Non-data pixels 61 60 60 60

Created output file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_defaultindex_withnondataclass

Normal termination of make_envi_classification_image.pro ... Elapsed Time = 0.88 seconds

Creating an ENVI Classification Image for Materials with DN values and colors ranked by top-pixel counts.

 Number of files = 39

 Materials = 

 calcite

 calcite_abundant

 calcite.7+muscovite.3

 calcite.8+montmorillonite_Ca.2

 dry_veg_grass

 dry_veg_grass_2_3um

 calcite.8+montmorillonite_Na.2

 vegetation_green

 dry_veg_nongrass_2_3um

 muscovite_medhighAl

 vegetation.dry+green

 kaolin+muscovite_mix_intimate

 dolomite.25+calcite.25+mont_Na.5

 montmorillonite_Na

 kaolin.5+muscovite_medhighAl

 muscovite_medAl

 muscovite_lowAl

 kaolin.5+muscovite_medAl

 montmorillonite_Ca
395

 kaolin+clay_mica_or_halloysite

 kaolin.2+calcite.8

 kaolin.5+smectite.5

 illite

 dry_veg_nongrass

 serpentine1

 illite_gds4

 serpentine_or_dolomite+calcite

 epidote

 kaolinite_pxl

 dolomite.5+montmorillonite_Na.5

 serpentine3

 gypsum

 water_sediment_high

 kaolinite_wxl

 kaol_possible_alunite_or_dickite

 chlorite+muscovite

 snow_slush

 serpentine4

 tremolite_or_talc

 Output Classification file = 

C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_mappedmaterials_rankedbypixelcount

Starting make_envi_classification_image.pro at Mon Apr 25 13:08:45 2011

Processing the input images...

 File 1 = calcite_fit.gz, found 144044 pixels with this material ( 39.68% of valid image pixels).

 File 2 = calcite_abundant_fit.gz, found 37019 pixels with this material ( 10.20% of valid image pixels).

 File 3 = calcite.7+muscovite.3_fit.gz, found 27736 pixels with this material ( 7.64% of valid image pixels).

 File 4 = calcite.8+montmorillonite_Ca.2_fit.gz, found 21098 pixels with this material ( 5.81% of valid image pixels).

 File 5 = dry_veg_grass_fit.gz, found 20360 pixels with this material ( 5.61% of valid image pixels).

 File 6 = dry_veg_grass_2_3um_fit.gz, found 19714 pixels with this material ( 5.43% of valid image pixels).

 File 7 = calcite.8+montmorillonite_Na.2_fit.gz, found 16543 pixels with this material ( 4.56% of valid image pixels).

 File 8 = vegetation_green_fit.gz, found 14258 pixels with this material ( 3.93% of valid image pixels).

 File 9 = dry_veg_nongrass_2_3um_fit.gz, found 9914 pixels with this material ( 2.73% of valid image pixels).

 File 10 = muscovite_medhighAl_fit.gz, found 8903 pixels with this material ( 2.45% of valid image pixels).

 File 11 = vegetation.dry+green_fit.gz, found 5230 pixels with this material ( 1.44% of valid image pixels).

 File 12 = kaolin+muscovite_mix_intimate_fit.gz, found 5184 pixels with this material ( 1.43% of valid image pixels).

 File 13 = dolomite.25+calcite.25+mont_Na.5_fit.gz, found 4018 pixels with this material ( 1.11% of valid image pixels).

 File 14 = montmorillonite_Na_fit.gz, found 3730 pixels with this material ( 1.03% of valid image pixels).

 File 15 = kaolin.5+muscovite_medhighAl_fit.gz, found 2621 pixels with this material ( 0.72% of valid image pixels).

 File 16 = muscovite_medAl_fit.gz, found 2068 pixels with this material ( 0.57% of valid image pixels).

 File 17 = muscovite_lowAl_fit.gz, found 1917 pixels with this material ( 0.53% of valid image pixels).

 File 18 = kaolin.5+muscovite_medAl_fit.gz, found 1319 pixels with this material ( 0.36% of valid image pixels).

 File 19 = montmorillonite_Ca_fit.gz, found 877 pixels with this material ( 0.24% of valid image pixels).

 File 20 = kaolin+clay_mica_or_halloysite_fit.gz, found 553 pixels with this material ( 0.15% of valid image pixels).

 File 21 = kaolin.2+calcite.8_fit.gz, found 532 pixels with this material ( 0.15% of valid image pixels).

 File 22 = kaolin.5+smectite.5_fit.gz, found 481 pixels with this material ( 0.13% of valid image pixels).

 File 23 = illite_fit.gz, found 358 pixels with this material ( 0.10% of valid image pixels).

 File 24 = dry_veg_nongrass_fit.gz, found 274 pixels with this material ( 0.08% of valid image pixels).

 File 25 = serpentine1_fit.gz, found 102 pixels with this material ( 0.03% of valid image pixels).

 File 26 = illite_gds4_fit.gz, found 67 pixels with this material ( 0.02% of valid image pixels).

 File 27 = serpentine_or_dolomite+calcite_fit.gz, found 65 pixels with this material ( 0.02% of valid image pixels).

 File 28 = epidote_fit.gz, found 64 pixels with this material ( 0.02% of valid image pixels).

 File 29 = kaolinite_pxl_fit.gz, found 45 pixels with this material ( 0.01% of valid image pixels).

 File 30 = dolomite.5+montmorillonite_Na.5_fit.gz, found 41 pixels with this material ( 0.01% of valid image pixels).

 File 31 = serpentine3_fit.gz, found 39 pixels with this material ( 0.01% of valid image pixels).

 File 32 = gypsum_fit.gz, found 34 pixels with this material ( 0.01% of valid image pixels).

 File 33 = water_sediment_high_fit.gz, found 26 pixels with this material ( 0.01% of valid image pixels).

 File 34 = kaolinite_wxl_fit.gz, found 17 pixels with this material ( 0.00% of valid image pixels).

 File 35 = kaol_possible_alunite_or_dickite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).
396

 File 36 = chlorite+muscovite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 37 = snow_slush_fit.gz, found 2 pixels with this material ( 0.00% of valid image pixels).

 File 38 = serpentine4_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 39 = tremolite_or_talc_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

Default class values and colors:

 class_name value red grn blu

 Not_Classified 0 0 0 0

 calcite 1 255 0 0

 calcite_abundant 2 0 255 0

 calcite.7+muscovite.3 3 0 0 255

 calcite.8+montmorillonite_Ca.2 4 255 255 0

 dry_veg_grass 5 0 255 255

 dry_veg_grass_2_3um 6 255 0 255

 calcite.8+montmorillonite_Na.2 7 255 180 0

 vegetation_green 8 255 140 255

 dry_veg_nongrass_2_3um 9 0 200 75

 muscovite_medhighAl 10 150 100 30

 vegetation.dry+green 11 180 110 210

 kaolin+muscovite_mix_intimate 12 216 0 0

 dolomite.25+calcite.25+mont_Na.5 13 0 216 0

 montmorillonite_Na 14 0 0 216

 kaolin.5+muscovite_medhighAl 15 216 216 0

 muscovite_medAl 16 0 216 216

muscovite_lowAl 17 216 0 216

 kaolin.5+muscovite_medAl 18 216 153 0

 montmorillonite_Ca 19 216 119 216

 kaolin+clay_mica_or_halloysite 20 0 170 63

 kaolin.2+calcite.8 21 127 85 25

 kaolin.5+smectite.5 22 153 93 178

 illite 23 178 0 0

 dry_veg_nongrass 24 0 178 0

 serpentine1 25 0 0 178

illite_gds4 26 178 178 0

 serpentine_or_dolomite+calcite 27 0 178 178

 epidote 28 178 0 178

 kaolinite_pxl 29 178 126 0

 dolomite.5+montmorillonite_Na.5 30 178 98 178

 serpentine3 31 0 140 52

 gypsum 32 105 70 21

 water_sediment_high 33 126 77 147

 kaolinite_wxl 34 140 0 0

 kaol_possible_alunite_or_dickite 35 0 140 0

 chlorite+muscovite 36 0 0 140

 snow_slush 37 140 140 0

 serpentine4 38 0 140 140

 tremolite_or_talc 39 140 0 140

Created output file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_mappedmaterials_rankedbypixelcount

Normal termination of make_envi_classification_image.pro ... Elapsed Time = 0.94 seconds

Creating an ENVI Classification Image for Materials with DN values and colors ranked by top-pixel counts, including the non-data pixels.

 Output classification file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_mappedmaterials_rankedbypixelcount_withnondataclass

Starting make_envi_classification_image.pro at Mon Apr 25 13:08:46 2011

Processing the mask for non-data pixels...

 Found 0 pixels of non-data (0.00% of all image pixels).

 Number of data pixels = 363044.

Processing the input images...

 File 1 = calcite_fit.gz, found 144044 pixels with this material ( 39.68% of valid image pixels).

 File 2 = calcite_abundant_fit.gz, found 37019 pixels with this material ( 10.20% of valid image pixels).
397

 File 3 = calcite.7+muscovite.3_fit.gz, found 27736 pixels with this material ( 7.64% of valid image pixels).

 File 4 = calcite.8+montmorillonite_Ca.2_fit.gz, found 21098 pixels with this material ( 5.81% of valid image pixels).

 File 5 = dry_veg_grass_fit.gz, found 20360 pixels with this material ( 5.61% of valid image pixels).

 File 6 = dry_veg_grass_2_3um_fit.gz, found 19714 pixels with this material ( 5.43% of valid image pixels).

 File 7 = calcite.8+montmorillonite_Na.2_fit.gz, found 16543 pixels with this material ( 4.56% of valid image pixels).

 File 8 = vegetation_green_fit.gz, found 14258 pixels with this material ( 3.93% of valid image pixels).

 File 9 = dry_veg_nongrass_2_3um_fit.gz, found 9914 pixels with this material ( 2.73% of valid image pixels).

 File 10 = muscovite_medhighAl_fit.gz, found 8903 pixels with this material ( 2.45% of valid image pixels).

 File 11 = vegetation.dry+green_fit.gz, found 5230 pixels with this material ( 1.44% of valid image pixels).

 File 12 = kaolin+muscovite_mix_intimate_fit.gz, found 5184 pixels with this material ( 1.43% of valid image pixels).

 File 13 = dolomite.25+calcite.25+mont_Na.5_fit.gz, found 4018 pixels with this material ( 1.11% of valid image pixels).

 File 14 = montmorillonite_Na_fit.gz, found 3730 pixels with this material ( 1.03% of valid image pixels).

 File 15 = kaolin.5+muscovite_medhighAl_fit.gz, found 2621 pixels with this material ( 0.72% of valid image pixels).

 File 16 = muscovite_medAl_fit.gz, found 2068 pixels with this material ( 0.57% of valid image pixels).

 File 17 = muscovite_lowAl_fit.gz, found 1917 pixels with this material ( 0.53% of valid image pixels).

 File 18 = kaolin.5+muscovite_medAl_fit.gz, found 1319 pixels with this material ( 0.36% of valid image pixels).

 File 19 = montmorillonite_Ca_fit.gz, found 877 pixels with this material ( 0.24% of valid image pixels).

 File 20 = kaolin+clay_mica_or_halloysite_fit.gz, found 553 pixels with this material ( 0.15% of valid image pixels).

 File 21 = kaolin.2+calcite.8_fit.gz, found 532 pixels with this material ( 0.15% of valid image pixels).

 File 22 = kaolin.5+smectite.5_fit.gz, found 481 pixels with this material ( 0.13% of valid image pixels).

 File 23 = illite_fit.gz, found 358 pixels with this material ( 0.10% of valid image pixels).

 File 24 = dry_veg_nongrass_fit.gz, found 274 pixels with this material ( 0.08% of valid image pixels).

 File 25 = serpentine1_fit.gz, found 102 pixels with this material ( 0.03% of valid image pixels).

 File 26 = illite_gds4_fit.gz, found 67 pixels with this material ( 0.02% of valid image pixels).

 File 27 = serpentine_or_dolomite+calcite_fit.gz, found 65 pixels with this material ( 0.02% of valid image pixels).

 File 28 = epidote_fit.gz, found 64 pixels with this material ( 0.02% of valid image pixels).

 File 29 = kaolinite_pxl_fit.gz, found 45 pixels with this material ( 0.01% of valid image pixels).

 File 30 = dolomite.5+montmorillonite_Na.5_fit.gz, found 41 pixels with this material ( 0.01% of valid image pixels).

 File 31 = serpentine3_fit.gz, found 39 pixels with this material ( 0.01% of valid image pixels).

 File 32 = gypsum_fit.gz, found 34 pixels with this material ( 0.01% of valid image pixels).

 File 33 = water_sediment_high_fit.gz, found 26 pixels with this material ( 0.01% of valid image pixels).

 File 34 = kaolinite_wxl_fit.gz, found 17 pixels with this material ( 0.00% of valid image pixels).

 File 35 = kaol_possible_alunite_or_dickite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 36 = chlorite+muscovite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 37 = snow_slush_fit.gz, found 2 pixels with this material ( 0.00% of valid image pixels).

 File 38 = serpentine4_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 39 = tremolite_or_talc_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

Default class values and colors:

 class_name value red grn blu

 Not_Classified 0 0 0 0

 calcite 1 255 0 0

 calcite_abundant 2 0 255 0

 calcite.7+muscovite.3 3 0 0 255

 calcite.8+montmorillonite_Ca.2 4 255 255 0

 dry_veg_grass 5 0 255 255

 dry_veg_grass_2_3um 6 255 0 255

 calcite.8+montmorillonite_Na.2 7 255 180 0

 vegetation_green 8 255 140 255

 dry_veg_nongrass_2_3um 9 0 200 75

 muscovite_medhighAl 10 150 100 30

 vegetation.dry+green 11 180 110 210

 kaolin+muscovite_mix_intimate 12 216 0 0

 dolomite.25+calcite.25+mont_Na.5 13 0 216 0

 montmorillonite_Na 14 0 0 216

 kaolin.5+muscovite_medhighAl 15 216 216 0

 muscovite_medAl 16 0 216 216

muscovite_lowAl 17 216 0 216

 kaolin.5+muscovite_medAl 18 216 153 0

 montmorillonite_Ca 19 216 119 216
398

 kaolin+clay_mica_or_halloysite 20 0 170 63

 kaolin.2+calcite.8 21 127 85 25

 kaolin.5+smectite.5 22 153 93 178

 illite 23 178 0 0

 dry_veg_nongrass 24 0 178 0

 serpentine1 25 0 0 178

illite_gds4 26 178 178 0

 serpentine_or_dolomite+calcite 27 0 178 178

 epidote 28 178 0 178

 kaolinite_pxl 29 178 126 0

 dolomite.5+montmorillonite_Na.5 30 178 98 178

 serpentine3 31 0 140 52

 gypsum 32 105 70 21

 water_sediment_high 33 126 77 147

 kaolinite_wxl 34 140 0 0

 kaol_possible_alunite_or_dickite 35 0 140 0

 chlorite+muscovite 36 0 0 140

 snow_slush 37 140 140 0

 serpentine4 38 0 140 140

 tremolite_or_talc 39 140 0 140

 Non-data pixels 40 60 60 60

Created output file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_mappedmaterials_rankedbypixelcount_withnondataclass

Normal termination of make_envi_classification_image.pro ... Elapsed Time = 0.88 seconds

Creating an ENVI Classification Image for ALL materials using user-indexed DN values and colors.

 Output classification file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_userindex

 Classification parameters:

 1 calcite_abundant C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\calcite_abundant_fit. 1 20 75 0

 2 calcite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\calcite_fit.gz 1 40 105 10

 3 calcite.7+muscovite.3 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\calcite.7+muscovite.3 1 113 160 90

 4 calcite.8+montmorillonite_Ca.2 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\calcite.8+montmorillo 1 188 185 115

 5 calcite.8+montmorillonite_Na.2 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\calcite.8+montmorillo 1 188 185 115

 6 carbonate_Fe_bearing C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\carbonate_Fe_bearing_ 0 220 185 255

 7 dolomite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dolomite_fit.gz 0 205 25 255

 8 dolomite.5+montmorillonite_Na. C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dolomite.5+montmorill 1 165 20 200

 9 dolomite.25+calcite.25+mont_Na C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dolomite.25+calcite.2 1 165 20 200

 10 epidote C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\epidote_fit.gz 1 225 25 0

 11 chlorite_lowFe C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\chlorite_lowFe_fit.gz 0 225 25 0

 12 chlorite+muscovite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\chlorite+muscovite_fi 1 225 25 0

 13 muscovite_lowAl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\muscovite_lowAl_fit.g 1 250 150 0

 14 muscovite_medAl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\muscovite_medAl_fit.g 1 250 150 0

 15 muscovite_medhighAl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\muscovite_medhighAl_f 1 250 150 0

16 muscovite_Fe-rich C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\muscovite_Fe-rich_fit 0 250 150 0

 17 illite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\illite_fit.gz 1 230 120 0

 18 illite_gds4 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\illite_gds4_fit.gz 1 230 120 0

 19 kaolinite_wxl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolinite_wxl_fit.gz 1 25 85 245

 20 kaolinite_pxl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolinite_pxl_fit.gz 1 25 85 245

 21 kaolin+clay_mica_or_halloysite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolin+clay_mica_or_h 1 40 145 255

 22 kaolin.5+muscovite_medAl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolin.5+muscovite_me 1 40 145 255

 23 kaolin+muscovite_mix_intimate C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolin+muscovite_mix_ 1 40 145 255

 24 kaolin.5+muscovite_medhighAl C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolin.5+muscovite_me 1 40 145 255

 25 kaolin.5+smectite.5 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolin.5+smectite.5_f 1 40 145 255

 26 kaolin.2+calcite.8 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaolin.2+calcite.8_fi 1 40 145 255

 27 montmorillonite_Na C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\montmorillonite_Na_fi 1 130 210 255

 28 montmorillonite_Ca C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\montmorillonite_Ca_fi 1 130 210 255

 29 alunite_Na_450c C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\alunite_Na_450c_fit.g 0 250 160 185

 30 alunite_K_250c C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\alunite_K_250c_fit.gz 0 250 160 185

 31 alunite.5+kaolinite.5 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\alunite.5+kaolinite.5 0 255 195 195
399

 32 alunite.25+kaolinite.75 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\alunite.25+kaolinite. 0 255 195 195

 33 pyrophyllite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\pyrophyllite_fit.gz 0 145 25 55

 34 pyrophyllite.5+alunite.5 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\pyrophyllite.5+alunit 0 145 25 55

 35 jarosite_Na C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\jarosite_Na_fit.gz 0 218 112 214

 36 jarosite_K C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\jarosite_K_fit.gz 0 218 112 214

 37 jarosite+muscovite_mix_intimat C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\jarosite+muscovite_mi 0 218 112 214

 38 kaol_possible_alunite_or_dicki C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\kaol_possible_alunite 1 30 30 185

 39 buddingtonite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\buddingtonite_fit.gz 0 255 210 0

 40 buddingtonite+montmorillonite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\buddingtonite+montmor 0 255 210 0

 41 serpentine1 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\serpentine1_fit.gz 1 160 215 50

 42 serpentine2 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\serpentine2_fit.gz 0 160 215 50

 43 serpentine3 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\serpentine3_fit.gz 1 160 215 50

 44 serpentine4 C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\serpentine4_fit.gz 1 160 215 50

 45 serpentine_or_dolomite+calcite C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\serpentine_or_dolomit 1 176 131 255

 46 tremolite_or_talc C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\tremolite_or_talc_fit 1 100 40 180

 47 hydrated_silica C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\hydrated_silica_fit.g 0 255 255 75

 48 chalcedony C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\chalcedony_fit.gz 0 255 255 75

 49 gypsum C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\gypsum_fit.gz 1 240 0 255

 50 vegetation_green C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\vegetation_green_fit. 1 225 205 170

 51 vegetation.dry+green C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\vegetation.dry+green_ 1 225 205 170

 52 dry_veg_grass C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dry_veg_grass_fit.gz 1 147 115 48

 53 dry_veg_grass_2_3um C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dry_veg_grass_2_3um_f 1 147 115 48

 54 dry_veg_nongrass C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dry_veg_nongrass_fit. 1 147 115 48

 55 dry_veg_nongrass_2_3um C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\dry_veg_nongrass_2_3u 1 147 115 48

 56 snow_melting C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\snow_melting_fit.gz 0 80 0 115

 57 snow_slush C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\snow_slush_fit.gz 1 80 0 115

 58 water C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\water_fit.gz 0 180 180 180

 59 water_sediment_low C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\water_sediment_low_fi 0 180 180 180

 60 water_sediment_high C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\water_sediment_high_f 1 180 180 180

Starting make_envi_classification_image.pro at Mon Apr 25 13:08:47 2011

Processing the input images...

 File 1 = calcite_abundant_fit.gz, found 37019 pixels with this material ( 10.20% of valid image pixels).

 File 2 = calcite_fit.gz, found 144044 pixels with this material ( 39.68% of valid image pixels).

 File 3 = calcite.7+muscovite.3_fit.gz, found 27736 pixels with this material ( 7.64% of valid image pixels).

 File 4 = calcite.8+montmorillonite_Ca.2_fit.gz, found 21098 pixels with this material ( 5.81% of valid image pixels).

 File 5 = calcite.8+montmorillonite_Na.2_fit.gz, found 16543 pixels with this material ( 4.56% of valid image pixels).

 File 6 = carbonate_Fe_bearing_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 7 = dolomite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 8 = dolomite.5+montmorillonite_Na.5_fit.gz, found 41 pixels with this material ( 0.01% of valid image pixels).

 File 9 = dolomite.25+calcite.25+mont_Na.5_fit.gz, found 4018 pixels with this material ( 1.11% of valid image pixels).

 File 10 = epidote_fit.gz, found 64 pixels with this material ( 0.02% of valid image pixels).

 File 11 = chlorite_lowFe_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 12 = chlorite+muscovite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 13 = muscovite_lowAl_fit.gz, found 1917 pixels with this material ( 0.53% of valid image pixels).

 File 14 = muscovite_medAl_fit.gz, found 2068 pixels with this material ( 0.57% of valid image pixels).

 File 15 = muscovite_medhighAl_fit.gz, found 8903 pixels with this material ( 2.45% of valid image pixels).

 File 16 = muscovite_Fe-rich_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 17 = illite_fit.gz, found 358 pixels with this material ( 0.10% of valid image pixels).

 File 18 = illite_gds4_fit.gz, found 67 pixels with this material ( 0.02% of valid image pixels).

 File 19 = kaolinite_wxl_fit.gz, found 17 pixels with this material ( 0.00% of valid image pixels).

 File 20 = kaolinite_pxl_fit.gz, found 45 pixels with this material ( 0.01% of valid image pixels).

 File 21 = kaolin+clay_mica_or_halloysite_fit.gz, found 553 pixels with this material ( 0.15% of valid image pixels).

 File 22 = kaolin.5+muscovite_medAl_fit.gz, found 1319 pixels with this material ( 0.36% of valid image pixels).

 File 23 = kaolin+muscovite_mix_intimate_fit.gz, found 5184 pixels with this material ( 1.43% of valid image pixels).

 File 24 = kaolin.5+muscovite_medhighAl_fit.gz, found 2621 pixels with this material ( 0.72% of valid image pixels).

 File 25 = kaolin.5+smectite.5_fit.gz, found 481 pixels with this material ( 0.13% of valid image pixels).

 File 26 = kaolin.2+calcite.8_fit.gz, found 532 pixels with this material ( 0.15% of valid image pixels).

 File 27 = montmorillonite_Na_fit.gz, found 3730 pixels with this material ( 1.03% of valid image pixels).

 File 28 = montmorillonite_Ca_fit.gz, found 877 pixels with this material ( 0.24% of valid image pixels).
400

 File 29 = alunite_Na_450c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 30 = alunite_K_250c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 31 = alunite.5+kaolinite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 32 = alunite.25+kaolinite.75_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 33 = pyrophyllite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 34 = pyrophyllite.5+alunite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 35 = jarosite_Na_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 36 = jarosite_K_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 37 = jarosite+muscovite_mix_intimate_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 38 = kaol_possible_alunite_or_dickite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 39 = buddingtonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 40 = buddingtonite+montmorillonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 41 = serpentine1_fit.gz, found 102 pixels with this material ( 0.03% of valid image pixels).

 File 42 = serpentine2_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 43 = serpentine3_fit.gz, found 39 pixels with this material ( 0.01% of valid image pixels).

 File 44 = serpentine4_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 45 = serpentine_or_dolomite+calcite_fit.gz, found 65 pixels with this material ( 0.02% of valid image pixels).

 File 46 = tremolite_or_talc_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 47 = hydrated_silica_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 48 = chalcedony_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 49 = gypsum_fit.gz, found 34 pixels with this material ( 0.01% of valid image pixels).

 File 50 = vegetation_green_fit.gz, found 14258 pixels with this material ( 3.93% of valid image pixels).

 File 51 = vegetation.dry+green_fit.gz, found 5230 pixels with this material ( 1.44% of valid image pixels).

 File 52 = dry_veg_grass_fit.gz, found 20360 pixels with this material ( 5.61% of valid image pixels).

 File 53 = dry_veg_grass_2_3um_fit.gz, found 19714 pixels with this material ( 5.43% of valid image pixels).

 File 54 = dry_veg_nongrass_fit.gz, found 274 pixels with this material ( 0.08% of valid image pixels).

 File 55 = dry_veg_nongrass_2_3um_fit.gz, found 9914 pixels with this material ( 2.73% of valid image pixels).

 File 56 = snow_melting_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 57 = snow_slush_fit.gz, found 2 pixels with this material ( 0.00% of valid image pixels).

 File 58 = water_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 59 = water_sediment_low_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 60 = water_sediment_high_fit.gz, found 26 pixels with this material ( 0.01% of valid image pixels).

User specified class values and colors:

 Not_Classified 0 0 0 0

 calcite_abundant 1 20 75 0

 calcite 2 40 105 10

 calcite.7+muscovite.3 3 113 160 90

 calcite.8+montmorillonite_Ca.2 4 188 185 115

 calcite.8+montmorillonite_Na.2 5 188 185 115

 carbonate_Fe_bearing 6 220 185 255

 dolomite 7 205 25 255

 dolomite.5+montmorillonite_Na.5 8 165 20 200

 dolomite.25+calcite.25+mont_Na.5 9 165 20 200

 epidote 10 225 25 0

 chlorite_lowFe 11 225 25 0

 chlorite+muscovite 12 225 25 0

 muscovite_lowAl 13 250 150 0

muscovite_medAl 14 250 150 0

 muscovite_medhighAl 15 250 150 0

 muscovite_Fe-rich 16 250 150 0

 illite 17 230 120 0

 illite_gds4 18 230 120 0

 kaolinite_wxl 19 25 85 245

kaolinite_pxl 20 25 85 245

 kaolin+clay_mica_or_halloysite 21 40 145 255

 kaolin.5+muscovite_medAl 22 40 145 255

 kaolin+muscovite_mix_intimate 23 40 145 255

 kaolin.5+muscovite_medhighAl 24 40 145 255

 kaolin.5+smectite.5 25 40 145 255
401

 kaolin.2+calcite.8 26 40 145 255

montmorillonite_Na 27 130 210 255

montmorillonite_Ca 28 130 210 255

 alunite_Na_450c 29 250 160 185

 alunite_K_250c 30 250 160 185

 alunite.5+kaolinite.5 31 255 195 195

 alunite.25+kaolinite.75 32 255 195 195

 pyrophyllite 33 145 25 55

 pyrophyllite.5+alunite.5 34 145 25 55

 jarosite_Na 35 218 112 214

 jarosite_K 36 218 112 214

 jarosite+muscovite_mix_intimate 37 218 112 214

 kaol_possible_alunite_or_dickite 38 30 30 185

 buddingtonite 39 255 210 0

 buddingtonite+montmorillonite 40 255 210 0

 serpentine1 41 160 215 50

serpentine2 42 160 215 50

serpentine3 43 160 215 50

serpentine4 44 160 215 50

 serpentine_or_dolomite+calcite 45 176 131 255

 tremolite_or_talc 46 100 40 180

 hydrated_silica 47 255 255 75

 chalcedony 48 255 255 75

 gypsum 49 240 0 255

 vegetation_green 50 225 205 170

 vegetation.dry+green 51 225 205 170

 dry_veg_grass 52 147 115 48

 dry_veg_grass_2_3um 53 147 115 48

 dry_veg_nongrass 54 147 115 48

 dry_veg_nongrass_2_3um 55 147 115 48

 snow_melting 56 80 0 115

 snow_slush 57 80 0 115

 water 58 180 180 180

 water_sediment_low 59 180 180 180

 water_sediment_high 60 180 180 180

Created output file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_userindex

Normal termination of make_envi_classification_image.pro ... Elapsed Time = 0.81 seconds

Creating an ENVI Classification Image for ALL materials using user-indexed DN values and colors, including the non-data pixels.

 Output classification file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_userindex_withnondataclass

Starting make_envi_classification_image.pro at Mon Apr 25 13:08:48 2011

Processing the mask for non-data pixels...

 Found 0 pixels of non-data (0.00% of all image pixels).

 Number of data pixels = 363044.

Processing the input images...

 File 1 = calcite_abundant_fit.gz, found 37019 pixels with this material ( 10.20% of valid image pixels).

 File 2 = calcite_fit.gz, found 144044 pixels with this material ( 39.68% of valid image pixels).

 File 3 = calcite.7+muscovite.3_fit.gz, found 27736 pixels with this material ( 7.64% of valid image pixels).

 File 4 = calcite.8+montmorillonite_Ca.2_fit.gz, found 21098 pixels with this material ( 5.81% of valid image pixels).

 File 5 = calcite.8+montmorillonite_Na.2_fit.gz, found 16543 pixels with this material ( 4.56% of valid image pixels).

 File 6 = carbonate_Fe_bearing_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 7 = dolomite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 8 = dolomite.5+montmorillonite_Na.5_fit.gz, found 41 pixels with this material ( 0.01% of valid image pixels).

 File 9 = dolomite.25+calcite.25+mont_Na.5_fit.gz, found 4018 pixels with this material ( 1.11% of valid image pixels).

 File 10 = epidote_fit.gz, found 64 pixels with this material ( 0.02% of valid image pixels).

 File 11 = chlorite_lowFe_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 12 = chlorite+muscovite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 13 = muscovite_lowAl_fit.gz, found 1917 pixels with this material ( 0.53% of valid image pixels).
402

 File 14 = muscovite_medAl_fit.gz, found 2068 pixels with this material ( 0.57% of valid image pixels).

 File 15 = muscovite_medhighAl_fit.gz, found 8903 pixels with this material ( 2.45% of valid image pixels).

 File 16 = muscovite_Fe-rich_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 17 = illite_fit.gz, found 358 pixels with this material ( 0.10% of valid image pixels).

 File 18 = illite_gds4_fit.gz, found 67 pixels with this material ( 0.02% of valid image pixels).

 File 19 = kaolinite_wxl_fit.gz, found 17 pixels with this material ( 0.00% of valid image pixels).

 File 20 = kaolinite_pxl_fit.gz, found 45 pixels with this material ( 0.01% of valid image pixels).

 File 21 = kaolin+clay_mica_or_halloysite_fit.gz, found 553 pixels with this material ( 0.15% of valid image pixels).

 File 22 = kaolin.5+muscovite_medAl_fit.gz, found 1319 pixels with this material ( 0.36% of valid image pixels).

 File 23 = kaolin+muscovite_mix_intimate_fit.gz, found 5184 pixels with this material ( 1.43% of valid image pixels).

 File 24 = kaolin.5+muscovite_medhighAl_fit.gz, found 2621 pixels with this material ( 0.72% of valid image pixels).

 File 25 = kaolin.5+smectite.5_fit.gz, found 481 pixels with this material ( 0.13% of valid image pixels).

 File 26 = kaolin.2+calcite.8_fit.gz, found 532 pixels with this material ( 0.15% of valid image pixels).

 File 27 = montmorillonite_Na_fit.gz, found 3730 pixels with this material ( 1.03% of valid image pixels).

 File 28 = montmorillonite_Ca_fit.gz, found 877 pixels with this material ( 0.24% of valid image pixels).

 File 29 = alunite_Na_450c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 30 = alunite_K_250c_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 31 = alunite.5+kaolinite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 32 = alunite.25+kaolinite.75_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 33 = pyrophyllite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 34 = pyrophyllite.5+alunite.5_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 35 = jarosite_Na_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 36 = jarosite_K_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 37 = jarosite+muscovite_mix_intimate_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 38 = kaol_possible_alunite_or_dickite_fit.gz, found 3 pixels with this material ( 0.00% of valid image pixels).

 File 39 = buddingtonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 40 = buddingtonite+montmorillonite_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 41 = serpentine1_fit.gz, found 102 pixels with this material ( 0.03% of valid image pixels).

 File 42 = serpentine2_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 43 = serpentine3_fit.gz, found 39 pixels with this material ( 0.01% of valid image pixels).

 File 44 = serpentine4_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 45 = serpentine_or_dolomite+calcite_fit.gz, found 65 pixels with this material ( 0.02% of valid image pixels).

 File 46 = tremolite_or_talc_fit.gz, found 1 pixels with this material ( 0.00% of valid image pixels).

 File 47 = hydrated_silica_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 48 = chalcedony_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 49 = gypsum_fit.gz, found 34 pixels with this material ( 0.01% of valid image pixels).

 File 50 = vegetation_green_fit.gz, found 14258 pixels with this material ( 3.93% of valid image pixels).

 File 51 = vegetation.dry+green_fit.gz, found 5230 pixels with this material ( 1.44% of valid image pixels).

 File 52 = dry_veg_grass_fit.gz, found 20360 pixels with this material ( 5.61% of valid image pixels).

 File 53 = dry_veg_grass_2_3um_fit.gz, found 19714 pixels with this material ( 5.43% of valid image pixels).

 File 54 = dry_veg_nongrass_fit.gz, found 274 pixels with this material ( 0.08% of valid image pixels).

 File 55 = dry_veg_nongrass_2_3um_fit.gz, found 9914 pixels with this material ( 2.73% of valid image pixels).

 File 56 = snow_melting_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 57 = snow_slush_fit.gz, found 2 pixels with this material ( 0.00% of valid image pixels).

 File 58 = water_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 59 = water_sediment_low_fit.gz is specified as not existing (zero pixels mapped) based on the command line keyword [FILES_EXIST].

 File 60 = water_sediment_high_fit.gz, found 26 pixels with this material ( 0.01% of valid image pixels).

User specified class values and colors:

 Not_Classified 0 0 0 0

 calcite_abundant 1 20 75 0

 calcite 2 40 105 10

 calcite.7+muscovite.3 3 113 160 90

 calcite.8+montmorillonite_Ca.2 4 188 185 115

calcite.8+montmorillonite_Na.2 5 188 185 115

 carbonate_Fe_bearing 6 220 185 255

 dolomite 7 205 25 255

 dolomite.5+montmorillonite_Na.5 8 165 20 200

 dolomite.25+calcite.25+mont_Na.5 9 165 20 200

 epidote 10 225 25 0
403

 chlorite_lowFe 11 225 25 0

 chlorite+muscovite 12 225 25 0

 muscovite_lowAl 13 250 150 0

muscovite_medAl 14 250 150 0

 muscovite_medhighAl 15 250 150 0

 muscovite_Fe-rich 16 250 150 0

 illite 17 230 120 0

 illite_gds4 18 230 120 0

 kaolinite_wxl 19 25 85 245

kaolinite_pxl 20 25 85 245

 kaolin+clay_mica_or_halloysite 21 40 145 255

 kaolin.5+muscovite_medAl 22 40 145 255

 kaolin+muscovite_mix_intimate 23 40 145 255

 kaolin.5+muscovite_medhighAl 24 40 145 255

 kaolin.5+smectite.5 25 40 145 255

 kaolin.2+calcite.8 26 40 145 255

 montmorillonite_Na 27 130 210 255

montmorillonite_Ca 28 130 210 255

 alunite_Na_450c 29 250 160 185

 alunite_K_250c 30 250 160 185

 alunite.5+kaolinite.5 31 255 195 195

 alunite.25+kaolinite.75 32 255 195 195

 pyrophyllite 33 145 25 55

 pyrophyllite.5+alunite.5 34 145 25 55

 jarosite_Na 35 218 112 214

 jarosite_K 36 218 112 214

 jarosite+muscovite_mix_intimate 37 218 112 214

 kaol_possible_alunite_or_dickite 38 30 30 185

 buddingtonite 39 255 210 0

 buddingtonite+montmorillonite 40 255 210 0

 serpentine1 41 160 215 50

serpentine2 42 160 215 50

serpentine3 43 160 215 50

 serpentine4 44 160 215 50

 serpentine_or_dolomite+calcite 45 176 131 255

 tremolite_or_talc 46 100 40 180

 hydrated_silica 47 255 255 75

 chalcedony 48 255 255 75

 gypsum 49 240 0 255

 vegetation_green 50 225 205 170

 vegetation.dry+green 51 225 205 170

 dry_veg_grass 52 147 115 48

 dry_veg_grass_2_3um 53 147 115 48

 dry_veg_nongrass 54 147 115 48

 dry_veg_nongrass_2_3um 55 147 115 48

 snow_melting 56 80 0 115

 snow_slush 57 80 0 115

 water 58 180 180 180

 water_sediment_low 59 180 180 180

 water_sediment_high 60 180 180 180

 Non-data pixels 61 60 60 60

Created output file = C:\usgsprism\mica_hymap\cube\testcube_output\group2\images\mica_class_allmaterials_userindex_withnondataclass

Normal termination of make_envi_classification_image.pro ... Elapsed Time = 0.91 seconds

Ending mica_imagecube_array_specpr.pro at Mon Apr 25 13:08:48 2011

Elapsed time = 0 hours 4 minutes 7 seconds.

-----------------------------------------------------------------------------------------------------
404

Output report for verbose level 4. “Function 4.1 – Run MICA for Image Cubes”

During the processing, additional reporting on the match to the central pixel of every 10th line of the image is made at verbose level four. This 

includes the weighted fit values of every reference spectrum and the corresponding weighted depth. Also shown are the weighted fit values before 

any feature or continuum constraints are applied. The top 5 fits, ranked in descending order of fit value are also shown.
405

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

Starting mica_imagecube_array_specpr.pro at Mon Apr 25 13:13:35 2011

Operating System Type = Windows (NOT performing byteorder operations)

Command Line Options

 FILE_DN_COLORS = 0

 DELETED_CHANNELS = 30, 31, 32, 44, 45, 46, 47, 48, 60, 61, 62, 63, 64, 90, 91, 92, 93, 94, 95, 96, 124

Image Cube = C:\usgsprism\mica_hymap\cube\testcube_hymap124ch

 Number of Bands = 124

 Number of Lines = 814

 Number of Samples = 446

Processing Parameters:

 TETRACORDER PROCESSING OPTIONS ARE TURNED OFF! FIT VALUES ARE IN TERMS OF r^2 THE COEFFICIENT OF DETERMINATION

 OPTION TO CHECK THE SIGN OF THE DEPTHS IS TURNED ON!

Setting wavelengths based on WAVELENGTH_SPECPR_RECORD keyword in the command file structure.

 Wavelength SPECPR file = C:\usgsprism\mica_hymap\splib06b_cvhymap07_124ch

 Wavelength SPECPR record = 6

Deleted Channels found = 30, 31, 32, 44, 45, 46, 47, 48, 60, 61, 62, 63, 64, 90, 91, 92, 93, 94, 95, 96, 124

 Number of Good Channels = 103

Searching for command file keyword value for FILE_DN_COLORS...

 FILE_DN_COLORS = C:\usgsprism\mica_hymap\mica_colors_group2_hymap2007.txt

 class_name class_value red grn blu

 calcite_abundant 1 20 75 0

 calcite 2 40 105 10

 calcite.7+muscovite.3 3 113 160 90

 calcite.8+montmorillonite_Ca.2 4 188 185 115

 calcite.8+montmorillonite_Na.2 5 188 185 115

 carbonate_Fe_bearing 6 220 185 255

 dolomite 7 205 25 255

 dolomite.5+montmorillonite_Na.5 8 165 20 200

 dolomite.25+calcite.25+mont_Na.5 9 165 20 200

 epidote 10 225 25 0

 chlorite_lowFe 11 225 25 0

 chlorite+muscovite 12 225 25 0

 muscovite_lowAl 13 250 150 0

 muscovite_medAl 14 250 150 0

 muscovite_medhighAl 15 250 150 0

 muscovite_Fe-rich 16 250 150 0

 illite 17 230 120 0

 illite_gds4 18 230 120 0

 kaolinite_wxl 19 25 85 245
406
407
408
409

 21 buddingtonite 0.0000 (0.1919) -0.0182

 22 buddingtonite+montmorillonite 0.0000 (0.2673) -0.0183

 23 alunite_K_250c 0.0000 (0.5797) -0.0110

 24 alunite_Na_450c 0.0000 (0.6675) -0.0126

 25 pyrophyllite 0.0000 (0.7462) -0.0116

 26 jarosite_Na 0.0000 (0.4781) -0.0397

 27 jarosite_K 0.0000 (0.4915) -0.0398

 28 montmorillonite_Na 0.0000 (0.3389) -0.0099

 29 montmorillonite_Ca 0.0000 (0.2959) -0.0086

 30 gypsum 0.0000 (0.5375) -0.0110

 31 chlorite_lowFe 0.0000 (0.4352) -0.0760

 32 epidote 0.0000 (0.5157) 0.0313

 33 pyrophyllite.5+alunite.5 0.0000 (0.5459) -0.0112

 34 alunite.5+kaolinite.5 0.0000 (0.4442) -0.0089

 35 alunite.25+kaolinite.75 0.0000 (0.4268) -0.0089

 36 kaolin.5+muscovite_medAl 0.0000 (0.3454) -0.0120

 37 kaolin.5+muscovite_medhighAl 0.0000 (0.2672) -0.0107

 38 kaolin+muscovite_mix_intimate 0.0000 (0.3504) -0.0122

 39 kaolin.5+smectite.5 0.0000 (0.3471) -0.0117

 40 jarosite+muscovite_mix_intimate 0.0000 (0.6511) -0.0346

 41 chlorite+muscovite 0.0000 (0.2088) -0.0076

 42 calcite_abundant 0.0000 (0.8174) 0.0441

 43 calcite 0.8174 (0.8174) 0.0441

 44 dolomite 0.0000 (0.4022) 0.0304

 45 carbonate_Fe_bearing 0.0000 (0.8504) -0.0069

 46 dolomite.25+calcite.25+mont_Na.5 0.0000 (0.5450) 0.0197

 47 calcite.8+montmorillonite_Na.2 0.0000 (0.5645) 0.0172

 48 calcite.8+montmorillonite_Ca.2 0.0000 (0.5667) 0.0180

 49 calcite.7+muscovite.3 0.0000 (0.4605) 0.0233

 50 dolomite.5+montmorillonite_Na.5 0.0000 (0.4100) 0.0178

 51 kaolin.2+calcite.8 0.0000 (0.5244) 0.0178

 52 chalcedony 0.0000 (0.1682) -0.0199

 53 hydrated_silica 0.0000 (0.1452) -0.0189

 54 tremolite_or_talc 0.0000 (0.1576) 0.0101

 55 serpentine_or_dolomite+calcite 0.5888 (0.5888) 0.0405

 56 serpentine1 0.7138 (0.7138) 0.0461

 57 serpentine2 0.0000 (0.5888) 0.0405

 58 serpentine3 0.0000 (0.7138) 0.0461

 59 serpentine4 0.0000 (0.5888) 0.0405

 TOP 5 FITS:

 Reference Depth

 Spectrum Output Name Fit Value Value

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

 44 calcite 0.8174 0.0441

 57 serpentine1 0.7138 0.0461

 56 serpentine_or_dolomite+calcite 0.5888 0.0405

 9 dry_veg_grass_2_3um 0.5870 0.0330

 Remaining fits are zero.

Input spectrum (line=20,sample=223) was best matched by calcite with a fit of 0.8174 and a depth of 0.0441 and a fit*depth of 0.0360

 FINAL WEIGHTED FITS ADJUSTED BY CONSTRAINTS:

 Reference (Fit before) Depth

 Spectrum Output Name Fit Value (constraints) Value

 --------- ---------------------------------------------- ------------------------- ----------
410

 0 vegetation_green 0.0000 (0.4925) -0.0476

 1 vegetation.dry+green 0.0000 (0.3469) -0.0313

 2 snow_melting 0.0000 (0.0507) 0.0015

 3 snow_slush 0.0000 (0.0755) -0.0030

 4 water 0.0000 (0.7600) -0.3285

 5 water_sediment_high 0.0000 (0.4513) -0.0055

 6 water_sediment_low 0.0000 (0.4583) -0.0055

 7 dry_veg_grass 0.0000 (0.1686) 0.0035

 8 dry_veg_grass_2_3um 0.0000 (0.2282) 0.0134

 9 dry_veg_nongrass 0.0000 (0.2466) 0.0016

 10 dry_veg_nongrass_2_3um 0.0000 (0.2086) 0.0133

 11 muscovite_lowAl 0.0000 (0.1283) 0.0067

 12 muscovite_medAl 0.0000 (0.1710) 0.0083

 13 muscovite_medhighAl 0.0000 (0.2458) 0.0087

 14 muscovite_Fe-rich 0.0000 (0.0136) -0.0012

 15 illite 0.0000 (0.1954) 0.0058

 16 illite_gds4 0.0000 (0.2198) 0.0061

 17 kaolinite_wxl 0.0000 (0.0922) -0.0056

 18 kaolinite_pxl 0.0000 (0.1252) -0.0072

 19 kaolin+clay_mica_or_halloysite 0.0000 (0.0499) -0.0048

 20 kaol_possible_alunite_or_dickite 0.0000 (0.1035) -0.0059

 21 buddingtonite 0.0000 (0.3309) -0.0169

 22 buddingtonite+montmorillonite 0.0000 (0.2744) -0.0131

 23 alunite_K_250c 0.0000 (0.4627) -0.0097

 24 alunite_Na_450c 0.0000 (0.2945) -0.0093

 25 pyrophyllite 0.0000 (0.6596) -0.0178

 26 jarosite_Na 0.0000 (0.5358) -0.0308

 27 jarosite_K 0.0000 (0.5030) -0.0295

 28 montmorillonite_Na 0.0000 (0.0833) 0.0045

 29 montmorillonite_Ca 0.0000 (0.2631) 0.0075

 30 gypsum 0.0000 (0.4080) -0.0054

 31 chlorite_lowFe 0.0000 (0.3181) -0.0817

 32 epidote 0.0000 (0.2887) 0.0133

 33 pyrophyllite.5+alunite.5 0.0000 (0.4729) -0.0105

 34 alunite.5+kaolinite.5 0.0000 (0.2452) -0.0053

 35 alunite.25+kaolinite.75 0.0000 (0.2179) -0.0050

 36 kaolin.5+muscovite_medAl 0.0000 (0.0000) 0.0001

 37 kaolin.5+muscovite_medhighAl 0.0000 (0.0022) 0.0008

 38 kaolin+muscovite_mix_intimate 0.0000 (0.0211) 0.0025

 39 kaolin.5+smectite.5 0.0000 (0.0041) -0.0011

 40 jarosite+muscovite_mix_intimate 0.0000 (0.4020) -0.0238

 41 chlorite+muscovite 0.0000 (0.0942) -0.0002

 42 calcite_abundant 0.0000 (0.5232) 0.0236

 43 calcite 0.0000 (0.5232) 0.0236

 44 dolomite 0.0000 (0.1026) 0.0092

 45 carbonate_Fe_bearing 0.0000 (0.6770) -0.0138

 46 dolomite.25+calcite.25+mont_Na.5 0.0000 (0.5461) 0.0171

 47 calcite.8+montmorillonite_Na.2 0.0000 (0.5154) 0.0182

 48 calcite.8+montmorillonite_Ca.2 0.6639 (0.6639) 0.0179

 49 calcite.7+muscovite.3 0.0000 (0.5215) 0.0182

 50 dolomite.5+montmorillonite_Na.5 0.0000 (0.5569) 0.0147

 51 kaolin.2+calcite.8 0.0000 (0.4052) 0.0124

 52 chalcedony 0.0000 (0.1806) -0.0127

 53 hydrated_silica 0.0000 (0.1737) -0.0128

 54 tremolite_or_talc 0.0000 (0.0054) -0.0014
411

 55 serpentine_or_dolomite+calcite 0.0000 (0.2440) 0.0175

 56 serpentine1 0.0000 (0.4113) 0.0235

 57 serpentine2 0.0000 (0.2440) 0.0175

 58 serpentine3 0.0000 (0.4113) 0.0235
412

Appendix C. DESCRIPT pages of example spectra

Clark and others 2007 USGS Data Series 231

Spectral Library splib06a Sample Description

TITLE: Rangeland L02-022 S20% G09% DESCRIPT

DOCUMENTATION_FORMAT: PLANT

SAMPLE_ID: L02-022

PLANT_TYPE: Mixed rangeland shrubs, grasses, and forbs

PLANT:

LATIN_NAME:

COLLECTION_LOCALITY: Left Hand Creek, in the Grass Creek Management area of the Bureau of Land 

Management, is located in central Wyoming, approximately 20 miles northwest of Thermopolis, Wyoming

COLLECTION_LATITUDE: 43 deg. 57.329 min. N

COLLECTION_LONGITUDE: 108 deg. 49.751 min. W

DATUM: NAD83

ORIGINAL_DONOR: Raymond F. Kokaly, USGS

SAMPLE_DESCRIPTION:

This spectrum is the average reflectance for an area of rangeland covered by mixed shrubs, grasses and forbs as 

detailed in this description of site number L02-022.

Collection Date

The reflectance data were collected on 5-Jul-2002.

Site Vegetation Description

The total vegetation cover on this site was 49%. The following table shows the percent cover by cover class:

Cover Category, Sub-Category Cover (%) 

_____________________________ ____________________________ 

Vegetation, Total Cover 49 
413

Vegetation, Tree 13 

Vegetation, Shrub 20 

Vegetation, Grass 9 

Vegetation, Forb 6 

Non-vegetation, Total Cover 51 

Non-vegetation, Litter 26 

Non-vegetation, Bare 21 

Non-vegetation, Other 4 

_____________________________ ____________________________ 

The following table shows the cover by tree species in the site (for trees with greater than 2% cover):

Shrub Species Cover (%) 

_____________________________________ ____________ 

Pinus flexilis 13 

_____________________________________ ____________ 

The following table shows the cover by shrub species in the site (for shrubs with greater than 2% cover):

Shrub Species Cover (%) Avg. Height (cm) 

_____________________________________ ____________ __________________ 

Artemisia tridentata 19 40 

_____________________________________ ____________ __________________ 

The following table shows the cover by grass species in the site (for grasses with greater than 2% cover):

Grass Species Cover (%) 

_____________________________________ _____________

Festuca idahoensis 7 

_____________________________________ _____________

The following table shows the cover by forb species in the site (for forbs with greater than 2% cover):

Forb Species Cover (%) 

_____________________________________ _____________ 

Artemisia frigida 4 

_____________________________________ _____________ 

Field Observations

No comments.

Site Orientation

The average elevation over the area of the site is 1962 meters (6437 feet). The average slope of the site is 25 percent, 

with a East aspect of 71 degrees.

Site Burn History

The area of this plot has not recently burned (since 1996).

Site Location, Dimensions, and Vegetation Sampling

The center coordinates of this rangeland plot are 43 deg. 57.329 min. N, 108 deg. 49.751 min. W (datum is NAD83). 
414

The diameter of this circular vegetation plot was 15.2 meters. Within this plot, four subplots of 0.5 meter diameter 

were established 5 meters from the center at the four cardinal directions (north, east, south and west). Within these 

subplots, grass and forb species were identified and associated percent cover of each were visually estimated. Litter 

cover and the percent area of bare ground were also visually estimated. For each shrub in the larger plot, the species 

was identified, the lateral dimensions were measured, and the height was measured. The cover of trees, shrubs, 

grasses, forbs, litter and bare ground were calculated from the full plot and subplot measurements. Field 

identifications of Tetradymia canescens (winterfat) were inconsistent between the 2003 and 2004 field seasons. 

Shrubs identified as gray rabbitbrush (Chrysothamnus nauseosus) and winterfat (Krascheninnikovia lanata) in 2003 

were later found to be spineless horsebrush (Tetradymia canescens). Therefore, all three shrub species were lumped 

as spineless horsebrush in cover calculations.

Spectral Measurement Procedures

This spectrum is the average of 98 measurements made throughout site L02-022. These spectra were collected using 

an ASD Full Range Field Pro spectrometer in reflectance mode, relative to a Spectralon reference panel. While 

walking through the site, the fiber optic cable was pointed at nadir (straight down) at approximately shoulder height. 

The instrument was programmed to record 6 second averages of reflectance while moving through the site (thus, 

each recorded spectrum was an average of 60 individual measurements). These recorded spectra were examined for 

artifacts due to low signal:noise, detector offsets and atmospheric contamination. Those spectra with large artifacts 

were not included in further processing. An average of the remaining 98 spectra was computed. This average 

spectrum was converted to absolute reflectance by multiplying by the reflectance spectrum of the Spectralon 

reference panel. The following channels were deleted (set to a value of -1.23e+34) from the spectrum because of 

remaining artifacts: 1-6, 410-413, 576-592, 761-801, 1006-1051, 1441-1591, 2111-2151 (corresponding to the 

wavelength ranges of 0.350-0.355, 0.759-0.762, 0.925-0.941, 1.110-1.150, 1.355-1.400, 1.790-1.940, and 2.460-

2.510 micrometers).

Left Hand Creek General Description

The Left Hand Creek Study area is in central Wyoming, located 20 miles northwest of Thermopolis, Wyoming in 

the "Grass Creek Management Area," managed by the Worland Field Office of the Bureau of Land Management. 

The approximate center of the study area is 43.9608 degrees North latitude and 108.8828 degrees West longitude. 

The general area consists of lowland creeks (approximate average elevation of 1900 m) covered by mountain big 

sagebrush (Artemisia tridentata), grasses and forbs, interspersed with higher ridges (approximate average elevation 

of 2100 m) covered by mountain big sagebrush, grasses and forbs with some sparsely forested areas containing 

Limber pine (Pinus flexilis), and Rocky Mountain Juniper (Juniperus scopulorum) with Douglas-fir (Pseudotsuga 

menziesii var. glauca) on steeper north-facing slopes.

Project Background

This site was measured as part of a cooperative U.S. Geological Survey and Bureau of Land Management project 

funded by the Joint Fire Science Program.

IMAGE_OF_SAMPLE: 

END_SAMPLE_DESCRIPTION.

COMPOSITIONAL_ANALYSIS_TYPE: None # XRF, EM(WDS), ICP(Trace), WChem 

COMPOSITION

KEYWORD

Composition 

ASCII Amount WeightPercent, %

COMPOSITION: Water: %(of fresh weight) 

COMPOSITION: Total_Chlorophyll: %(of fresh weight) 
415

COMPOSITION: Chlorophyll_A: %(of fresh weight) 

COMPOSITION: Chlorophyll_B: %(of fresh weight) 

COMPOSITION: Nitrogen: %(of dry weight) 

COMPOSITION: Lignin: %(of dry weight) 

COMPOSITION: Cellulose: %(of dry weight) 

COMPOSITION_DISCUSSION:

END_COMPOSITION_DISCUSSION.

TRACE_ELEMENT_ANALYSIS:

TRACE_ELEMENT_DISCUSSION:

END_TRACE_ELEMENT_DISCUSSION.

SPECTROSCOPIC_DISCUSSION:

END_SPECTROSCOPIC_DISCUSSION.

SPECTRAL_PURITY: 1a2_3_4_ # 1= 0.2-3, 2= 1.5-6, 3= 6-25, 4= 20-150 microns 

LIB_SPECTRA_HED: where Wave Range Av_Rs_Pwr Comment 

LIB_SPECTRA: splib06a r 33152 g.s.= 
416

Clark and others 2007 USGS Data Series 231

Spectral Library splib06a Sample Description

TITLE: Rangeland L02-042 S01% G57% DESCRIPT

DOCUMENTATION_FORMAT: PLANT

SAMPLE_ID: L02-042

PLANT_TYPE: Mixed rangeland shrubs, grasses, and forbs

PLANT:

LATIN_NAME:

COLLECTION_LOCALITY: Left Hand Creek, in the Grass Creek Management area of the Bureau of Land 

Management, is located in central Wyoming, approximately 20 miles northwest of Thermopolis, Wyoming

COLLECTION_LATITUDE: 43 deg. 56.741 min. N

COLLECTION_LONGITUDE: 108 deg. 50.420 min. W

DATUM: NAD83

ORIGINAL_DONOR: Raymond F. Kokaly, USGS

SAMPLE_DESCRIPTION:

This spectrum is the average reflectance for an area of rangeland covered by mixed shrubs, 

grasses and forbs as detailed in this description of site number L02-042.

Collection Date

The reflectance data were collected on 10-Jul-2002.

Site Vegetation Description

The total vegetation cover on this site was 58%. The following table shows the percent cover by 

cover class:

Cover Category, Sub-Category Cover (%)

_____________________________ ____________________________

Vegetation, Total Cover 58 

Vegetation, Tree 0 

Vegetation, Shrub 1 
417

Vegetation, Grass 57 

Vegetation, Forb 0 

Non-vegetation, Total Cover 42 

Non-vegetation, Litter 23 

Non-vegetation, Bare 19 

Non-vegetation, Other 0 

_____________________________ ____________________________

The following table shows the cover by shrub species in the site (for shrubs with greater than 2% 

cover):

Shrub Species Cover (%) Avg. Height (cm) 

_____________________________________ ____________ __________________ 

none 

_____________________________________ ____________ __________________ 

The following table shows the cover by grass species in the site (for grasses with greater than 2% 

cover):

Grass Species Cover (%) 

_____________________________________ _____________ 

Pascopyrum smithii 57 

_____________________________________ _____________ 

The following table shows the cover by forb species in the site (for forbs with greater than 2% 

cover):

Forb Species Cover (%) 

_____________________________________ _____________ 

none 

_____________________________________ _____________ 

Field Observations

The exposed soil is very dry. There are burned sagebrush stumps and the stump of a burned pine 

tree in the plot.

Site Orientation

The average elevation over the area of the site is 1977 meters (6486 feet). The average slope of 

the site is 9 percent, with a Southeast aspect of 129 degrees.

Site Burn History

The area of this plot has recently burned (since 1996).

Site Location, Dimensions, and Vegetation Sampling

The center coordinates of this rangeland plot are 43 deg. 56.741 min. N, 108 deg. 50.420 min. W 

(datum is NAD83). The diameter of this circular vegetation plot was 15.2 meters. Within this 

plot, four subplots of 0.5 meter diameter were established 5 meters from the center at the four 

cardinal directions (north, east, south and west). Within these subplots, grass and forb species 
418

were identified and associated percent cover of each were visually estimated. Litter cover and the 

percent area of bare ground were also visually estimated. For each shrub in the larger plot, the 

species was identified, the lateral dimensions were measured, and the height was measured. The 

cover of trees, shrubs, grasses, forbs, litter and bare ground were calculated from the full plot and 

subplot measurements. Field identifications of Tetradymia canescens (winterfat) were 

inconsistent between the 2003 and 2004 field seasons. Shrubs identified as gray rabbitbrush

(Chrysothamnus nauseosus) and winterfat (Krascheninnikovia lanata) in 2003 were later found 

to be spineless horsebrush (Tetradymia canescens). Therefore, all three shrub species were 

lumped as spineless horsebrush in cover calculations.

Spectral Measurement Procedures

This spectrum is the average of 100 measurements made throughout site L02-042. These spectra 

were collected using an ASD Full Range Field Pro spectrometer in reflectance mode, relative to 

a Spectralon reference panel. While walking through the site, the fiber optic cable was pointed at 

nadir (straight down) at approximately shoulder height. The instrument was programmed to 

record 6 second averages of reflectance while moving through the site (thus, each recorded 

spectrum was an average of 60 individual measurements). These recorded spectra were

examined for artifacts due to low signal:noise, detector offsets and atmospheric contamination. 

Those spectra with large artifacts were not included in further processing. An average of the 

remaining 100 spectra was computed. This average spectrum was converted to absolute 

reflectance by multiplying by the reflectance spectrum of the Spectralon reference panel. The 

following channels were deleted (set to a value of -1.23e+34) from the spectrum because of 

remaining artifacts: 1-6, 410-413, 576-592, 761-801, 1006-1051, 1441-1591, 2111-2151 

(corresponding to the wavelength ranges of 0.350-0.355, 0.759-0.762, 0.925-0.941, 1.110-1.150, 

1.355-1.400, 1.790-1.940, and 2.460-2.510 micrometers).

Left Hand Creek General Description

The Left Hand Creek Study area is in central Wyoming, located 20 miles northwest of 

Thermopolis, Wyoming in the "Grass Creek Management Area," managed by the Worland Field 

Office of the Bureau of Land Management. The approximate center of the study area is 43.9608 

degrees North latitude and 108.8828 degrees West longitude. The general area consists of 

lowland creeks (approximate average elevation of 1900 m) covered by mountain big sagebrush 

(Artemisia tridentata), grasses and forbs, interspersed with higher ridges (approximate average 

elevation of 2100 m) covered by mountain big sagebrush, grasses and forbs with some sparsely 

forested areas containing Limber pine (Pinus flexilis), and Rocky Mountain Juniper (Juniperus 

scopulorum) with Douglas-fir (Pseudotsuga menziesii var. glauca) on steeper north-facing 

slopes.

Project Background

This site was measured as part of a cooperative U.S. Geological Survey and Bureau of Land 

Management project funded by the Joint Fire Science Program.

IMAGE_OF_SAMPLE: 
419

END_SAMPLE_DESCRIPTION.

COMPOSITIONAL_ANALYSIS_TYPE: None # XRF, EM(WDS), ICP(Trace), WChem 

COMPOSITION

KEYWORD

Composition 

ASCII Amount WeightPercent, %

COMPOSITION: Water: %(of fresh weight) 

COMPOSITION: Total_Chlorophyll: %(of fresh weight) 

COMPOSITION: Chlorophyll_A: %(of fresh weight) 

COMPOSITION: Chlorophyll_B: %(of fresh weight) 

COMPOSITION: Nitrogen: %(of dry weight) 

COMPOSITION: Lignin: %(of dry weight) 

COMPOSITION: Cellulose: %(of dry weight) 

COMPOSITION_DISCUSSION:

END_COMPOSITION_DISCUSSION.

TRACE_ELEMENT_ANALYSIS:

TRACE_ELEMENT_DISCUSSION:

END_TRACE_ELEMENT_DISCUSSION.

SPECTROSCOPIC_DISCUSSION:

END_SPECTROSCOPIC_DISCUSSION.

SPECTRAL_PURITY: 1a2_3_4_ # 1= 0.2-3, 2= 1.5-6, 3= 6-25, 4= 20-150 microns 

LIB_SPECTRA_HED: where Wave Range Av_Rs_Pwr Comment 

LIB_SPECTRA: splib06a r 33234 g.s.= 
420

Clark and others 2007 USGS Data Series 231

Spectral Library splib06a Sample Description

TITLE: Rangeland L02-043 S01% G07% DESCRIPT

DOCUMENTATION_FORMAT: PLANT

SAMPLE_ID: L02-043

PLANT_TYPE: Mixed rangeland shrubs, grasses, and forbs

PLANT:

LATIN_NAME:

COLLECTION_LOCALITY: Left Hand Creek, in the Grass Creek Management area of the Bureau of Land 

Management, is located in central Wyoming, approximately 20 miles northwest of Thermopolis, Wyoming

COLLECTION_LATITUDE: 43 deg. 56.706 min. N

COLLECTION_LONGITUDE: 108 deg. 52.564 min. W

DATUM: NAD83

ORIGINAL_DONOR: Raymond F. Kokaly, USGS

SAMPLE_DESCRIPTION:

This spectrum is the average reflectance for an area of rangeland covered by mixed shrubs, grasses and forbs as 

detailed in this description of site number L02-043.

Collection Date

The reflectance data were collected on 11-Jul-2002.

Site Vegetation Description

The total vegetation cover on this site was 23%. The following table shows the percent cover by cover class:

Cover Category, Sub-Category Cover (%) 

_____________________________ ____________________________ 

Vegetation, Total Cover 23 

Vegetation, Tree 0 

Vegetation, Shrub 1

Vegetation, Grass 7 
421

Vegetation, Forb 15 

Non-vegetation, Total Cover 77 

Non-vegetation, Litter 8 

Non-vegetation, Bare 70 

Non-vegetation, Other 0 

_____________________________ ____________________________ 

The following table shows the cover by shrub species in the site (for shrubs with greater than 2% cover):

Shrub Species Cover (%) Avg. Height (cm)

_____________________________________ ____________ __________________

none

_____________________________________ ____________ __________________

The following table shows the cover by grass species in the site (for grasses with greater than 2% cover):

Grass Species Cover (%) 

_____________________________________ _____________ 

Pseudoroegneria spicata 3 

Pascopyrum smithii 3 

_____________________________________ _____________ 

The following table shows the cover by forb species in the site (for forbs with greater than 2% cover):

Forb Species Cover (%) 

_____________________________________ _____________ 

Phlox hoodii 5 

Artemisia frigida 3 

Antennaria microphylla 3 

Iris missouriensis 3 

_____________________________________ _____________ 

Field Observations

Very sparsely vegetated slope with cobble size rocks and clayish soil exposed. Soil and rocks are a light orange 

color.

Site Orientation

The average elevation over the area of the site is 2098 meters (6884 feet). The average slope of the site is 26 percent, 

with a South aspect of 166 degrees.

Site Burn History

The area of this plot has recently burned (since 1996).

Site Location, Dimensions, and Vegetation Sampling

The center coordinates of this rangeland plot are 43 deg. 56.706 min. N, 108 deg. 52.564 min. W (datum is NAD83). 

The diameter of this circular vegetation plot was 15.2 meters. Within this plot, four subplots of 0.5 meter diameter 

were established 5 meters from the center at the four cardinal directions (north, east, south and west). Within these 

subplots, grass and forb species were identified and associated percent cover of each were visually estimated. Litter 

cover and the percent area of bare ground were also visually estimated. For each shrub in the larger plot, the species 

was identified, the lateral dimensions were measured, and the height was measured. The cover of trees, shrubs, 

grasses, forbs, litter and bare ground were calculated from the full plot and subplot measurements. Field 
422

identifications of Tetradymia canescens (winterfat) were inconsistent between the 2003 and 2004 field seasons. 

Shrubs identified as gray rabbitbrush (Chrysothamnus nauseosus) and winterfat (Krascheninnikovia lanata) in 2003 

were later found to be spineless horsebrush (Tetradymia canescens). Therefore, all three shrub species were lumped 

as spineless horsebrush in cover calculations.

Spectral Measurement Procedures

This spectrum is the average of 118 measurements made throughout site L02-043. These spectra were collected 

using an ASD Full Range Field Pro spectrometer in reflectance mode, relative to a Spectralon reference panel. 

While walking through the site, the fiber optic cable was pointed at nadir (straight down) at approximately shoulder 

height. The instrument was programmed to record 6 second averages of reflectance while moving through the site 

(thus, each recorded spectrum was an average of 60 individual measurements). These recorded spectra were 

examined for artifacts due to low signal:noise, detector offsets and atmospheric contamination. Those spectra with 

large artifacts were not included in further processing. An average of the remaining 118 spectra was computed. This 

average spectrum was converted to absolute reflectance by multiplying by the reflectance spectrum of the Spectralon 

reference panel. The following channels were deleted (set to a value of -1.23e+34) from the spectrum because of 

remaining artifacts: 1-6, 410-413, 576-592, 761-801, 1006-1051, 1441-1591, 2111-2151 (corresponding to the 

wavelength ranges of 0.350-0.355, 0.759-0.762, 0.925-0.941, 1.110-1.150, 1.355-1.400, 1.790-1.940, and 2.460-

2.510 micrometers).

Left Hand Creek General Description

The Left Hand Creek Study area is in central Wyoming, located 20 miles northwest of Thermopolis, Wyoming in 

the "Grass Creek Management Area," managed by the Worland Field Office of the Bureau of Land Management. 

The approximate center of the study area is 43.9608 degrees North latitude and 108.8828 degrees West longitude. 

The general area consists of lowland creeks (approximate average elevation of 1900 m) covered by mountain big 

sagebrush (Artemisia tridentata), grasses and forbs, interspersed with higher ridges (approximate average elevation 

of 2100 m) covered by mountain big sagebrush, grasses and forbs with some sparsely forested areas containing 

Limber pine (Pinus flexilis), and Rocky Mountain Juniper (Juniperus scopulorum) with Douglas-fir (Pseudotsuga 

menziesii var. glauca) on steeper north-facing slopes.

Project Background

This site was measured as part of a cooperative U.S. Geological Survey and Bureau of Land Management project 

funded by the Joint Fire Science Program.

IMAGE_OF_SAMPLE: 

END_SAMPLE_DESCRIPTION.

COMPOSITIONAL_ANALYSIS_TYPE: None # XRF, EM(WDS), ICP(Trace), WChem 

COMPOSITION

KEYWORD

Composition 

ASCII Amount WeightPercent, %

COMPOSITION: Water: %(of fresh weight) 

COMPOSITION: Total_Chlorophyll: %(of fresh weight) 

COMPOSITION: Chlorophyll_A: %(of fresh weight) 

COMPOSITION: Chlorophyll_B: %(of fresh weight) 

COMPOSITION: Nitrogen: %(of dry weight) 

COMPOSITION: Lignin: %(of dry weight) 
423

COMPOSITION: Cellulose: %(of dry weight) 

COMPOSITION_DISCUSSION:

END_COMPOSITION_DISCUSSION.

TRACE_ELEMENT_ANALYSIS:

TRACE_ELEMENT_DISCUSSION:

END_TRACE_ELEMENT_DISCUSSION.

SPECTROSCOPIC_DISCUSSION:

END_SPECTROSCOPIC_DISCUSSION.

SPECTRAL_PURITY: 1a2_3_4_ # 1= 0.2-3, 2= 1.5-6, 3= 6-25, 4= 20-150 microns 

LIB_SPECTRA_HED: where Wave Range Av_Rs_Pwr Comment 

LIB_SPECTRA: splib06a r 33258 g.s.= 
424

Clark and others 2007 USGS Data Series 231

Spectral Library splib06a Sample Description

TITLE: Rangeland L04-047 S00% G47% DESCRIPT

DOCUMENTATION_FORMAT: PLANT

SAMPLE_ID: L04-047

PLANT_TYPE: Mixed rangeland shrubs, grasses, and forbs

PLANT:

LATIN_NAME:

COLLECTION_LOCALITY: Left Hand Creek, in the Grass Creek Management area of the Bureau of Land 

Management, is located in central Wyoming, approximately 20 miles northwest of Thermopolis, Wyoming

COLLECTION_LATITUDE: 43 deg. 55.602 min. N

COLLECTION_LONGITUDE: 108 deg. 52.642 min. W

DATUM: NAD83

ORIGINAL_DONOR: Raymond F. Kokaly, USGS

SAMPLE_DESCRIPTION:

This spectrum is the average reflectance for an area of rangeland covered by mixed shrubs, grasses and forbs as 

detailed in this description of site number L04-047.

Collection Date

The reflectance data were collected on 1-Jul-2004.

Site Vegetation Description

The total vegetation ccover on this site was 84%. The following table shows the percent cover by cover class:

Cover Category, Sub-Category Cover (%) 

_____________________________ ____________________________ 

Vegetation, Total Cover 84 

Vegetation, Tree 0 

Vegetation, Shrub 0 
425

Vegetation, Grass 47 

Vegetation, Forb 37 

Non-vegetation, Total Cover 16 

Non-vegetation, Litter not differentiated 

Non-vegetation, Bare not differentiated 

Non-vegetation, Other not differentiated 

_____________________________ ____________________________ 

The following table shows the cover by shrub species in the site (for shrubs with greater than 2% cover):

Shrub Species Cover (%) Avg. Height (cm)

_____________________________________ ____________ __________________

none

_____________________________________ ____________ __________________

The following table shows the cover by grass species in the site (for grasses with greater than 2% cover):

Grass Species Cover (%) 

_____________________________________ _____________ 

Carex sp 25 

Juncus balticus 12 

Poa pratensis 5 

Carex filifolia 3 

Hordeum brachyantherum 3 

_____________________________________ _____________ 

The following table shows the cover by forb species in the site (for forbs with greater than 2% cover):

Forb Species Cover (%) 

_____________________________________ _____________ 

Breea canadensis 19 

Apocynum cannabinum 8 

Thlaspi arvense 5 

Unknown forb 3 

_____________________________________ _____________ 

Field Observations

The plot is sloped. The ground in the site is wet and boggy.

Site Orientation

The average elevation over the area of the site is 2164 meters (7098 feet). The average slope of the site is 31 percent, 

with a Southwest aspect of 218 degrees.

Site Burn History

The area of this plot has recently burned (since 1996).

Site Location, Dimensions, and Vegetation Sampling

The center coordinates of this rangeland plot are 43 deg. 55.602 min. N, 108 deg. 52.642 min. W (datum is NAD83). 

The diameter of this circular vegetation plot was 15.2 meters. Within this plot, four subplots of 0.5 meter diameter 

were established 5 meters from the center at the four cardinal directions (north, east, south and west). Within these 

subplots, grass and forb species were identified and associated percent cover of each were visually estimated. Litter 
426

cover and the percent area of bare ground were also visually estimated. For each shrub in the larger plot, the species 

was identified, the lateral dimensions were measured, and the height was measured. The cover of trees, shrubs, 

grasses, forbs, litter and bare ground were calculated from the full plot and subplot measurements. Field 

identifications of Tetradymia canescens (winterfat) were inconsistent between the 2003 and 2004 field seasons. 

Shrubs identified as gray rabbitbrush (Chrysothamnus nauseosus) and winterfat (Krascheninnikovia lanata) in 2003 

were later found to be spineless horsebrush (Tetradymia canescens). Therefore, all three shrub species were lumped 

as spineless horsebrush in cover calculations.

Spectral Measurement Procedures

This spectrum is the average of 68 measurements made throughout site L04-047. These spectra were collected using 

an ASD Full Range Field Pro spectrometer in reflectance mode, relative to a Spectralon reference panel. While 

walking through the site, the fiber optic cable was pointed at nadir (straight down) at approximately shoulder height. 

The instrument was programmed to record 6 second averages of reflectance while moving through the site (thus, 

each recorded spectrum was an average of 60 individual measurements). These recorded spectra were examined for 

artifacts due to low signal:noise, detector offsets and atmospheric contamination. Those spectra with large artifacts 

were not included in further processing. An average of the remaining 68 spectra was computed. This average 

spectrum was converted to absolute reflectance by multiplying by the reflectance spectrum of the Spectralon 

reference panel. The following channels were deleted (set to a value of -1.23e+34) from the spectrum because of 

remaining artifacts: 1-6, 410-413, 576-592, 761-801, 1006-1051, 1441-1591, 2111-2151 (corresponding to the 

wavelength ranges of 0.350-0.355, 0.759-0.762, 0.925-0.941, 1.110-1.150, 1.355-1.400, 1.790-1.940, and 2.460-

2.510 micrometers).

Left Hand Creek General Description

The Left Hand Creek Study area is in central Wyoming, located 20 miles northwest of Thermopolis, Wyoming in 

the "Grass Creek Management Area," managed by the Worland Field Office of the Bureau of Land Management. 

The approximate center of the study area is 43.9608 degrees North latitude and 108.8828 degrees West longitude. 

The general area consists of lowland creeks (approximate average elevation of 1900 m) covered by mountain big 

sagebrush (Artemisia tridentata), grasses and forbs, interspersed with higher ridges (approximate average elevation 

of 2100 m) covered by mountain big sagebrush, grasses and forbs with some sparsely forested areas containing 

Limber pine (Pinus flexilis), and Rocky Mountain Juniper (Juniperus scopulorum) with Douglas-fir (Pseudotsuga 

menziesii var. glauca) on steeper north-facing slopes.

Project Background

This site was measured as part of a cooperative U.S. Geological Survey and Bureau of Land Management project 

funded by the Joint Fire Science Program.

IMAGE_OF_SAMPLE: 

END_SAMPLE_DESCRIPTION.

COMPOSITIONAL_ANALYSIS_TYPE: None # XRF, EM(WDS), ICP(Trace), WChem 

COMPOSITION

KEYWORD

Composition 

ASCII Amount WeightPercent, %

COMPOSITION: Water: %(of fresh weight) 

COMPOSITION: Total_Chlorophyll: %(of fresh weight) 

COMPOSITION: Chlorophyll_A: %(of fresh weight) 

COMPOSITION: Chlorophyll_B: %(of fresh weight) 
427

COMPOSITION: Nitrogen: %(of dry weight) 

COMPOSITION: Lignin: %(of dry weight) 

COMPOSITION: Cellulose: %(of dry weight) 

COMPOSITION_DISCUSSION:

END_COMPOSITION_DISCUSSION.

TRACE_ELEMENT_ANALYSIS:

TRACE_ELEMENT_DISCUSSION:

END_TRACE_ELEMENT_DISCUSSION.

SPECTROSCOPIC_DISCUSSION:

END_SPECTROSCOPIC_DISCUSSION.

SPECTRAL_PURITY: 1a2_3_4_ # 1= 0.2-3, 2= 1.5-6, 3= 6-25, 4= 20-150 microns 

LIB_SPECTRA_HED: where Wave Range Av_Rs_Pwr Comment 

LIB_SPECTRA: splib06a r 33589 g.s.= 
428

Appendix D. ASD detector corrections and example asd.txt entries

For the correction of detector offsets in ASD spectra, PRISM can utilize an ASD 

instrument file ―asd.txt‖, located at ―C:\usgsprism\asd.txt‖ on Windows computers and at 

―/var/local/usgsprism/asd.txt‖ on Linux computers. The format of each line in the asd.txt file is:

ASD -Cal #chans endch_det1 beginch_det2 endch_det2 beginch_det3

where,

ASD = the ASD spectrometer number

Cal = the calibration number of the spectrometer

endch_det1 = the last good channel of the first detector

beginch_det2 = the first channel of the second detector

endch_det2 = the last channel of the second detector

beginch_det3 = the first good channel of the third detector

The following are example entries:

653-15 2151 633 634 1451 1452

6015-14 2151 649 650 1446 1447

6251-5 2151 661 662 1421 1422

16139-3 2151 651 652 1481 1482

16208-1 2151 651 652 1481 1482

In PRISM, the offset corrections for ASD spectra are two multiplicative scaling factors, 

the first to adjust detector 1 to match the reflectance level of at the start of detector 2 (fig. D1)

and the second to adjust detector 3 to match the reflectance level at the end of detector 2 (fig.

D2). To develop the multiplicative factors, a linear extrapolation of the reflectance values in 

detector 2 are made by, first, fitting a linear function to the two channels at the start of detector 2, 

for the correction of detector 1. And secondly, determining the equation of a line through the last 

two channels of detector 2, for correcting detector 3. Next, the closest good channels

(endch_det1 and beginch_det3) of the adjacent detectors are used to compute the reflectance 

values of the lines extended to the wavelength positions of those channels. The multiplicative 

correction factors are calculated as the ratio of the computed values of the lines extended to the 

closest good channels divided by the ASD reported values at those channels (figs. D1 and D2).
429

Correction factor for the first ASD detector.
430

Correction factor for the third ASD detector.

Typically, the last good channel of the detector is the same as the last channel of that 

detector. However, early calibrations of our ASD spectrometers (in the mid- to late-1990s) had 

several poor channels at the end of the first detector. In such a case, the last ―good‖ channel 

would be entered in the ―asd.txt‖ file. This might be several channels before the end of the 

detector. An interpolation would be made to fill in the values between the last good channel of 

the detector to be corrected and the end channel of detector 2.
431

Appendix E. Format description and examples of FILE_DN_COLORS

The user can choose to set the FILE_DN_COLORS keyword in the MICA command file 

(see appendix A). The value of the keyword should be set to the name of a text file (including the 

full directory path to the file) containing the class values and colors that should be assigned to 

the reference materials. The file is termed the class value and color file. The 

FILE_DN_COLORS keyword is an optional entry in the MICA command file. If it is not set, the 

MICA program will skip the creation of a summary image with user-defined class values and 

colors. If it is set, MICA analysis of image cubes will create the 

―mica_class_allmaterials_userindex‖ and ―mica_class_allmaterials_userindex_withnondataclass‖ 

classification images using the class values and colors listed in the named file.

The format of the FILE_DN_COLORS file is a text file with one line for each material 

listed in the MICA command file. Each line requires the following four parameters, each 

separated by one or more spaces:

output_name class_value value_red value_green value_blue

Each output_name parameter should be unique and equivalent to one of the output name 

keywords listed in the MICA command file that has referenced the class value and color file. It 

needs to match exactly with one of the entries in the command file. Each output name in the 

MICA command file is required to be in the class value and color file once and only once. The 

class_value parameter can be set to an integer value ranging from one to the number of output 

names in the MICA command file. Each output_name has to be assigned a unique class_value

number in this range of integers. The pixels that were found to be best matched to the reference 

spectrum associated with the output_name will be set equal to the class_value in the 

―mica_class_allmaterials_userindex‖ and ―mica_class_allmaterials_userindex_withnondataclass‖ 

classification images. The value_red, value_green, and value_blue parameters are the loading 

factors for red, green, and blue to use in creating a color for the class. Their allowable values are 

between 0 and 255. More than one output name can be assigned the same combination of color 

values, that is, more than one class in the summary image can be assigned the same color in the 

―mica_class_allmaterials_userindex‖ and ―mica_class_allmaterials_userindex_withnondataclass‖ 

classification images.

The content of the example class value and color file referenced in the sample MICA 

command file in appendix A is shown below.

calcite_abundant 1 20 75 0

calcite 2 40 105 10

calcite.7+muscovite.3 3 113 160 90

calcite.8+montmorillonite_Ca.2 4 188 185 115

calcite.8+montmorillonite_Na.2 5 188 185 115

carbonate_Fe_bearing 6 220 185 255

dolomite 7 205 25 255

dolomite.5+montmorillonite_Na.5 8 165 20 200

dolomite.25+calcite.25+mont_Na.5 9 165 20 200

epidote 10 225 25 0

chlorite_lowFe 11 225 25 0

chlorite+muscovite 12 225 25 0

muscovite_lowAl 13 250 150 0

muscovite_medAl 14 250 150 0
432

muscovite_medhighAl 15 250 150 0

muscovite_Fe-rich 16 250 150 0

illite 17 230 120 0

illite_gds4 18 230 120 0

kaolinite_wxl 19 25 85 245

kaolinite_pxl 20 25 85 245

kaolin+clay_mica_or_halloysite 21 40 145 255

kaolin.5+muscovite_medAl 22 40 145 255

kaolin+muscovite_mix_intimate 23 40 145 255

kaolin.5+muscovite_medhighAl 24 40 145 255

kaolin.5+smectite.5 25 40 145 255

kaolin.2+calcite.8 26 40 145 255

montmorillonite_Na 27 130 210 255

montmorillonite_Ca 28 130 210 255

alunite_Na_450c 29 250 160 185

alunite_K_250c 30 250 160 185

alunite.5+kaolinite.5 31 255 195 195

alunite.25+kaolinite.75 32 255 195 195

pyrophyllite 33 145 25 55

pyrophyllite.5+alunite.5 34 145 25 55

jarosite_Na 35 218 112 214

jarosite_K 36 218 112 214

jarosite+muscovite_mix_intimate 37 218 112 214

kaol_possible_alunite_or_dickite 38 30 30 185

buddingtonite 39 255 210 0

buddingtonite+montmorillonite 40 255 210 0

serpentine1 41 160 215 50

serpentine2 42 160 215 50

serpentine3 43 160 215 50

serpentine4 44 160 215 50

serpentine_or_dolomite+calcite 45 176 131 255

tremolite_or_talc 46 100 40 180

hydrated_silica 47 255 255 75

chalcedony 48 255 255 75

gypsum 49 240 0 255

vegetation_green 50 225 205 170

vegetation.dry+green 51 225 205 170

dry_veg_grass 52 147 115 48

dry_veg_grass_2_3um 53 147 115 48

dry_veg_nongrass 54 147 115 48

dry_veg_nongrass_2_3um 55 147 115 48

snow_melting 56 80 0 115

snow_slush 57 80 0 115

water 58 180 180 180

water_sediment_low 59 180 180 180

water_sediment_high 60 180 180 180