readEcostressSig

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

    Описание

    пример

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

    Примечание

    readEcostressSig функционируйте поддерживает только файлы спектра 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: [0×0 string]
                      Species: [0×0 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: [2110×1 double]
                  Reflectance: [2110×1 double]
    
    

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

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

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

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

    Задайте полный путь директории, которая содержит файлы спектра 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
    Для просмотра документации необходимо авторизоваться на сайте