MATLAB Answers

How to read hyperspectral data without wavelenth data?

2 views (last 30 days)
Dear All,
I have some hyperspectral data was produced by company Itres. Some temperature data is calculated from the average of all the spectral bands hence they do not have wavelength info and I cannot read them with
hypercube
function. Could someone suggest me a solution to read these data?

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 10 Jun 2021
Edited: Subhadeep Koley on 10 Jun 2021
If you know the height, width, and number of spectral bands of your data, you can try using multibandread(_).
However, in order to use multibandread(_) apart from height, width, bands, you'll also need precision, header offset, interleave value and byte order of your data.
Below is one example, you can tweak these parameters to check if that works for you.
% Specify the parameters
precision = 'double';
headerOffset = 0;
interleave = 'bsq';
byteOrder = 'ieee-le';
height = 100;
width = 100;
bands = 256;
% Read the data
dataCube = multibandread('yourFile.dat', [height, width, bands], precision, headerOffset, interleave, byteOrder);
  1 Comment
Beata Szabo-Takacs
Beata Szabo-Takacs on 10 Jun 2021
Thank you Subhadeep for your help! I modified the specific parameters to
% Specify the parameters
precision = 'float';
headerOffset = 0;
interleave = 'bsq';
byteOrder = 'ieee-le';
height = 1513;
width = 1393;
bands = 1;
and it works with multibandread function as you suggested.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!