Dimensionality Reduction of Hyperspectral Image

6 views (last 30 days)
I have a hyperspectral dataset with the following dimensions. [21527 776 224]. i tried to read it into matlab using the multibandread function but i ran into memory issues. My code is this: close all; clear all clc
%%Real Dataset Test PRECISION='int16'; OFFSET=0; INTERLEAVE='bip'; BYTEORDER='ieee-be';
FILENAME_REF=('C:\Users\uos\Desktop\GPC\Images\data');
%INFO_HDR=('C:\Users\uos\Desktop\GPC\Images\header1.hdr');
% datafile=('C:\Users\uos\Desktop\GPC\Images\data'); % info=('C:\Users\uos\Desktop\GPC\Images\header.hdr'); % D=envidataread(datafile,info);
SIZE_REF=[21527, 776, 224];
I_REF=multibandread(FILENAME_REF,SIZE_REF,PRECISION,OFFSET,INTERLEAVE,BYTEORDER); the error i get is : Error using zeros Requested 224x776x21527 (27.9GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.
Error in multibandread>readDiskFile (line 212) im = zeros(outputSize(1), outputSize(2), outputSize(3), info.outputClass);
Error in multibandread (line 148) im = readDiskFile(filename, info, ndx, readOrder); Please can you suggest or direct me towards a solution? many thanks

Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!