readEcostressSig

Считайте данные из спектральной библиотеки ECOSTRESS

Описание

пример

libData = readEcostressSig(filenames) считывает спектральные данные из заданных файлов спектра ECOSTRESS.

Функция поддерживает только файлы спектра ECOSTRESS. Все входные параметры должны быть текстовыми файлами с суффиксным spectrum.txt.

пример

libData = readEcostressSig(dirname) считывает спектральные данные из файлов спектра ECOSTRESS, хранивших в заданной директории.

пример

libData = readEcostressSig(dirname,keyword) считывает спектральные данные только из тех файлов спектра ECOSTRESS, хранивших в заданной директории с заданным ключевым словом в их именах файлов.

Примечание

Эта функция требует Image Processing Toolbox™ Гиперспектральная Библиотека Обработки изображений. Можно установить Image Processing Toolbox Гиперспектральная Библиотека Обработки изображений из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями.

Примеры

свернуть все

Задайте имена файлов спектра, чтобы читать из спектральной библиотеки ECOSTRESS как массив ячеек из символьных векторов.

ecostressfiles = [{'soil.utisol.hapludult.none.all.87p707.jhu.becknic.spectrum.txt'},...
             {'water.seawater.none.liquid.tir.seafoam.jhu.becknic.spectrum.txt'},...
             {'vegetation.tree.eucalyptus.maculata.vswir.jpl087.jpl.asd.spectrum.txt'},...
             {'manmade.road.tar.solid.all.0099uuutar.jhu.becknic.spectrum.txt'}];

Считайте и отобразите данные из заданных файлов спектра ECOSTRESS. Функция возвращается, массив структур со строкой для каждого задал файл спектра ECOSTRESS. Каждая строка хранит спектральные данные, считанные из связанного файла.

libData = readEcostressSig(ecostressfiles)
libData=1×4 struct array with fields:
    Name
    Type
    Class
    SubClass
    ParticleSize
    Genus
    Species
    SampleNo
    Owner
    WavelengthRange
    Origin
    CollectionDate
    Description
    Measurement
    FirstColumn
    SecondColumn
    WavelengthUnit
    DataUnit
    FirstXValue
    LastXValue
    NumberOfXValues
    AdditionalInformation
    Wavelength
    Reflectance
      ⋮

Извлеките детали спектральных данных второго файла из массива структур.

libData(2)
ans = struct with fields:
                     Name: "Sea Foam"
                     Type: "Water"
                    Class: "Sea Water"
                 SubClass: "none"
             ParticleSize: "Liquid"
                    Genus: [0x0 string]
                  Species: [0x0 string]
                 SampleNo: "seafoam"
                    Owner: "Dept. of Earth and Planetary Science, John Hopkins University"
          WavelengthRange: "TIR"
                   Origin: "JHU IR Spectroscopy Lab."
           CollectionDate: "N/A"
              Description: "Sea foam water. Original filename FOAM Original ASTER Spectral Library name was jhu.becknic.water.sea.none.liquid.seafoam.spectrum.txt"
              Measurement: "Directional (10 Degree) Hemispherical Reflectance"
              FirstColumn: "X"
             SecondColumn: "Y"
           WavelengthUnit: "micrometer"
                 DataUnit: "Reflectance (percent)"
              FirstXValue: "14.0112"
               LastXValue: "2.0795"
          NumberOfXValues: "2110"
    AdditionalInformation: "none"
               Wavelength: [2110x1 double]
              Reflectance: [2110x1 double]

Извлеките коэффициент отражения и значения длины волны из спектральных данных второго файла.

reflectance = libData(2).Reflectance;
wavelength = libData(2).Wavelength;

Постройте спектральную подпись с помощью значений коэффициента отражения и длины волны.

figure
plot(wavelength,reflectance)
title(['Spectra of ' libData(2).Name])
xlabel('Wavelength')
ylabel('Reflectance Value')

Figure contains an axes object. The axes object with title Spectra of Sea Foam contains an object of type line.

Задайте полный путь директории, которая содержит файлы спектра ECOSTRESS.

fileroot = matlabshared.supportpkg.getSupportPackageRoot();
dirname = fullfile(fileroot,'toolbox','images','supportpackages','hyperspectral','hyperdata','ECOSTRESSSpectraFiles');

Считайте и отобразите спектральные данные из всех файлов в директории. Функция возвращает массив структур со строкой для каждого файла спектра ECOSTRESS в заданной директории.

libData = readEcostressSig(dirname)
libData=1×15 struct array with fields:
    Name
    Type
    Class
    SubClass
    ParticleSize
    Genus
    Species
    SampleNo
    Owner
    WavelengthRange
    Origin
    CollectionDate
    Description
    Measurement
    FirstColumn
    SecondColumn
    WavelengthUnit
    DataUnit
    FirstXValue
    LastXValue
    NumberOfXValues
    AdditionalInformation
    Wavelength
    Reflectance
      ⋮

Извлеките детали спектральных данных 15-го файла.

libData(15)
ans = struct with fields:
                     Name: "Tap water"
                     Type: "Water"
                    Class: "Tap Water"
                 SubClass: "none"
             ParticleSize: "Liquid"
                    Genus: [0×0 string]
                  Species: [0×0 string]
                 SampleNo: "tapwater"
                    Owner: "Dept. of Earth and Planetary Science, John Hopkins University"
          WavelengthRange: "All"
                   Origin: "JHU IR Spectroscopy Lab. Original filename TAPWATER."
           CollectionDate: "N/A"
              Description: "Tap water. Original ASTER Spectral Library name was jhu.becknic.water.tap.none.liquid.tapwater.spectrum.txt"
              Measurement: "Directional (10 Degree) Hemispherical Reflectance"
              FirstColumn: "X"
             SecondColumn: "Y"
           WavelengthUnit: "micrometer"
                 DataUnit: "Reflectance (percent)"
              FirstXValue: "14.0110"
               LastXValue: "0.4000"
          NumberOfXValues: "2844"
    AdditionalInformation: "none"
               Wavelength: [2844×1 double]
              Reflectance: [2844×1 double]

Задайте полный путь директории, которая содержит файлы спектра ECOSTRESS.

fileroot = matlabshared.supportpkg.getSupportPackageRoot();
dirname = fullfile(fileroot,'toolbox','images','supportpackages','hyperspectral','hyperdata','ECOSTRESSSpectraFiles');

Считайте и отобразите спектральные данные файлов спектра ECOSTRESS с определенным ключевым словом в их именах файлов. Функция возвращает массив структур со строкой для каждого файла спектра в заданной директории с ключевым словом в их именах файлов.

keyword = 'water';
libData = readEcostressSig(dirname,keyword)
libData=1×3 struct array with fields:
    Name
    Type
    Class
    SubClass
    ParticleSize
    Genus
    Species
    SampleNo
    Owner
    WavelengthRange
    Origin
    CollectionDate
    Description
    Measurement
    FirstColumn
    SecondColumn
    WavelengthUnit
    DataUnit
    FirstXValue
    LastXValue
    NumberOfXValues
    AdditionalInformation
    Wavelength
    Reflectance
      ⋮

Входные параметры

свернуть все

Имена файлов ECOSTRESS в виде вектора символов, строкового скаляра, массива ячеек из символьных векторов или вектора из строк. Чтобы считать данные из нескольких файлов ECOSTRESS одновременно, используйте массив ячеек из символьных векторов или вектор из строк. Функция считывает данные из файлов в порядке, в котором вы задаете их. Если файлы ECOSTRESS не находятся в текущей папке, необходимо задать полный путь каждого файла.

Типы данных: char | string

Имя директории, содержащей файлы ECOSTRESS в виде вектора символов или строкового скаляра. Если директория не находится в текущей папке, необходимо задать полный путь директории.

Типы данных: char | string

Ключевое слово поиска файла в виде вектора символов или строкового скаляра. Функция возвращает данные только из файлов спектра ECOSTRESS с заданным ключевым словом в их именах файлов. Вы не можете задать несколько ключевых слов одновременно.

Типы данных: char | string

Выходные аргументы

свернуть все

Спектральные данные из файлов ECOSTRESS, возвращенных как 1 K массивом структур. K является количеством файлов спектра, считанных функцией. Каждый элемент массива структур имеет 24 поля, которые содержат информацию о заголовке файлов спектра.

Имена полейОписание
NameИмя измеренной выборки или материала
TypeТип выборки, такой как "mineral", "rock", "tree", или "manmade"
Class

Класс демонстрационного типа

Например, если демонстрационным типом является "mineral" затем класс может быть: "native elements", "silicates", "oxides", "sulfides", "sulfates", "halides", "carbonates", "phosphates", или "mineraloids".

SubClass

Подкласс демонстрационного типа

Это поле содержит пустой массив или "none", если Type значением является "mineral", "rock", "manmade", "soil", "lunar", или "meteorite".

ParticleSize

Размер частицы демонстрационного типа

Это поле содержит пустой массив если Type значением является "mineral", "rock", "manmade", "soil", "lunar", или "meteorite".

Genus

Род выборки

Это поле содержит пустой массив если Type значением является "vegetation" или "nonphotosynthetic".

Species

Разновидности выборки

Это поле содержит пустой массив если Type значением является "vegetation" или "nonphotosynthetic".

SampleNo

Демонстрационный номер

Это значение является идентификатором для связанной выборки.

OwnerВладелец выборки
WavelengthRange

Область значений длины волны измеренной выборки

Значением должен быть "All", "TIR", или "VSWIR".

OriginМестоположение, из которого были получены данные
CollectionDate

Дата, в которую была собрана выборка

Это значение находится в mm/dd/yy формат.

Description

Описание измеренной выборки

Это поле предоставляет дополнительную информацию о характеристиках выборки.

MeasurementСпектральный режим измерения раньше измерял выборку
FirstColumnПервый столбец значений данных в файле спектра
SecondColumnВторой столбец значений данных в файле спектра
WavelengthUnit

Измерение модуля для спектральных длин волн выборок

Значением для каждого демонстрационного типа является "micrometer". Это поле соответствует X Units поле данных о заголовке в файле спектра ECOSTRESS.

DataUnit

Модуль спектрального режима измерения

Спектральный режим измерения включает коэффициент отражения, коэффициент пропускания, transittance, и передачу. Модуль является процентом. Это поле соответствует Y Units поле данных о заголовке в файле спектра ECOSTRESS.

FirstXValueПервое значение в первом столбце значений данных в файле спектра
LastXValueПоследнее значение в первом столбце значений данных в файле спектра
NumberofXValuesОбщее количество значений данных в первом столбце файла спектра
AdditionalInformation

Дополнительная информация о выборке

Это поле включает информацию, которая не является частью спектральных данных.

WavelengthЗначения длины волны, в которых были измерены коэффициенты отражения
ReflectanceЗначения коэффициента отражения, измеренные в каждом длины волн

Ссылки

[1] Meerdink, Сьюзен К., Саймон Дж. Хук, Дэр А. Робертс и Эльза А. Эбботт. “Спектральная Версия 1.0 Библиотеки ECOSTRESS”. Дистанционное зондирование Среды 230 (сентябрь 2019): 111196. https://doi.org/10.1016/j.rse.2019.05.015.

[2] Загрузите Спектральную Библиотеку ECOSTRESS: https://speclib.jpl.nasa.gov / загрузка

Смотрите также

| | |

Введенный в R2020a