How to read hyperspectral data without wavelenth data?

1 回表示 (過去 30 日間)
Beata Szabo-Takacs
Beata Szabo-Takacs 2021 年 6 月 10 日
コメント済み: Beata Szabo-Takacs 2021 年 6 月 10 日
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?
  2 件のコメント
Subhadeep Koley
Subhadeep Koley 2021 年 6 月 10 日
@Beata Szabo-Takacs Which file format is your hyperspectral data?
Beata Szabo-Takacs
Beata Szabo-Takacs 2021 年 6 月 10 日
My hyperspectral data format is ".dat".

サインインしてコメントする。

採用された回答

Subhadeep Koley
Subhadeep Koley 2021 年 6 月 10 日
編集済み: Subhadeep Koley 2021 年 6 月 10 日
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 件のコメント
Beata Szabo-Takacs
Beata Szabo-Takacs 2021 年 6 月 10 日
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.

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by