exponenta event banner

readEcostressSig

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

Описание

пример

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

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

пример

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

пример

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

Примечание

Для выполнения этой функции требуется библиотека гиперспектральных изображений Toolbox™ обработки изображений. Можно установить библиотеку гиперспектральных изображений панели инструментов обработки изображений из проводника надстроек. Дополнительные сведения об установке надстроек см. в разделе Получение надстроек и управление ими.

Примеры

свернуть все

Укажите имена файлов спектра, которые будут считываться из спектральной библиотеки 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. The axes 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-by-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] Меердинк, Сьюзан К., Саймон Дж. Хук, Дар А. Робертс и Эльза А. Эбботт. «Спектральная библиотека ECOSTRESS версии 1.0». Дистанционное зондирование окружающей среды 230 (сентябрь 2019): 111196. https://doi.org/10.1016/j.rse.2019.05.015.

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

См. также

| | |

Представлен в R2020a