assignData

Присвоение новых данных кубу гиперспектральных данных

    Описание

    пример

    newhcube = assignData(hcube,row,column,band,data) присваивает указанное data к кубу гиперспектральных данных. Функция считывает кубик данных, хранящийся в hypercube hcube объекта, присваивает новые данные спектральным полосам band в местах, заданных row и column, и возвращает новое hypercube объект.

    Примечание

    Эта функция требует библиотеки Image Processing Toolbox™ гиперспектральной визуализации. Можно установить библиотеку Image Processing Toolbox Hyperspectral Imaging Library из Add-On Explorer. Дополнительные сведения об установке дополнений см. в разделе Получение и управление Дополнений.

    Примеры

    свернуть все

    Считывайте гиперспектральные данные из файла формата ENVI.

    hcube = hypercube('paviaU.dat');

    Нормализуйте значения отражающей способности в области значений [0, 1].

    data = rescale(hcube.DataCube);

    Присвойте нормированные значения отражательной способности кубу данных.

    newhcube = assignData(hcube,':',':',':',data);

    Задайте индексы строка и столбец видимой области (ROI). Присвойте всем индексам в ROI значение нуля.

    row = 180:220;
    column = 125:160;
    newhcube = assignData(newhcube,row,column,':',0);

    Отображение исходной и модифицированной версий спектральной полосы.

    fig = figure('Position',[0 0 800 500]);
    axes1 = axes('Parent',fig,'Position',[0.06 0.05 0.45 0.8]);
    imagesc(hcube.DataCube(:,:,10),'Parent',axes1);
    title('Original Data')
    colorbar
    axis off
    axes2 = axes('Parent',fig,'Position',[0.55 0.05 0.45 0.8]);
    imagesc(newhcube.DataCube(:,:,10),'Parent',axes2);
    title('Modified Data')
    colorbar
    axis off
    colormap gray  

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

    свернуть все

    Входные гиперспектральные данные, заданные как hypercube объект. The DataCube свойство hypercube объект содержит кубик гиперспектральных данных.

    Индексы строк куба данных, заданные как ':', положительное целое число или вектор положительных целых чисел.

    • Чтобы выбрать все строки в кубе данных, используйте ':'.

    • Чтобы выбрать конкретную строку или строки, задайте индекс строки как положительное целое число или вектор положительных целых чисел соответственно. Если кубик данных размера M -by- N -by- C, указанные значения индекса строк должны быть меньше или равны M. Чтобы задать область значений индексов строк или индексов за регулярный интервал, используйте colon оператор. Для примера, row = 1:10.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    Индексы столбцов куба данных, заданные как ':', положительное целое число или вектор положительных целых чисел.

    • Чтобы выбрать все столбцы в кубе данных, используйте ':'.

    • Чтобы выбрать конкретный столбец или столбцы, задайте индекс столбца как положительное целое число или вектор положительных целых чисел соответственно. Если кубик данных размера M -by- N -by- C, заданные значения индекса столбца должны быть меньше или равны N. Чтобы задать область значений индексов столбцов или индексов за регулярный интервал, используйте colon оператор. Для примера, column = 1:10.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    Номера спектральных полос, заданные как ':', положительное целое число или вектор положительных целых чисел.

    • Чтобы выбрать все полосы в кубе данных, используйте ':'.

    • Чтобы выбрать конкретную полосу или полосы, задайте число областей как положительное целое число или вектор положительных целых чисел соответственно. Если кубик данных размера M -by- N -by- C, заданные значения номера полосы должны быть меньше или равны C. Чтобы задать области значений чисел или чисел полосы через регулярный интервал времени, используйте colon оператор. Для примера, band = 1:10.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    Значения для назначения, заданные как скаляр, вектор, матрица или трехмерный массив в зависимости от значений row, column, и band входы.

    Если row являетсяЕсли column являетсяЕсли band являетсяdata должен быть
    скалярскалярскалярскаляр
    M - вектор элементаскалярскалярM - элемент вектора-строки или M -by-1 матрица или M -by-1-by-1 массив
    скалярN элементскалярN - вектор-столбец элемента или матрица 1-by- N или массив 1-by- N -by-1
    скалярскалярC элементМассив 1 на 1 by- C
    M - вектор элементаN элементскалярM матрицу N -by- или M массив -by- N -by-1
    M - вектор элементаN элементC элементM -by- N -by- C массив

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

    свернуть все

    Вывод гиперспектральных данных, возвращенный как hypercube объект.

    Введенный в R2020a
    Для просмотра документации необходимо авторизоваться на сайте