how can i show my hyperspectral data in a two dimensional projection of hyperspectral cube?
3 views (last 30 days)
Show older comments
asmaa elyamany
on 22 Jun 2020
Answered: millercommamatt
on 2 Jul 2020
i have a hyperspectral data in a .m file it is 984*740*224 how can i show it in a two dimensional projection of hyperspectral cube?
5 Comments
Rik
on 23 Jun 2020
There are bound to be viewers that show the 3 directions and allow you to set a colormap to your liking.
Accepted Answer
millercommamatt
on 22 Jun 2020
Edited: millercommamatt
on 23 Jun 2020
If your data is something like (x,y,spectra), you could try:
imagesc(your_data(:,:,1));
If your data is like (spectra, x, y) you could try:
imagesc(squeeze(your_data(10,:,:)));
11 Comments
millercommamatt
on 29 Jun 2020
We just need to switch what's being labeled as x and y in the code I gave you remember that matlab uses row-major dimension ordering.
[Ydim,Xdim,Spectra_dim]=size(your_data);%should be Ydim = 984, Xdim=740, Spectra_dim=224.
[X Y Spectra]=meshgrid(1:Xdim,1:Ydim,1:Spectra_dim);%each array shoudl be 984x740x224
figure;
surf(squeeze(X(1,:,:)),squeeze(Y(1,:,:)),squeeze(Spectra(1,:,:)),squeeze(your_data(1,:,:)),'EdgeColor','none');
hold on;
surf(squeeze(X(end,:,:)),squeeze(Y(end,:,:)),squeeze(Spectra(end,:,:)),squeeze(your_data(end,:,:)),'EdgeColor','none');
surf(squeeze(X(:,1,:)),squeeze(Y(:,1,:)),squeeze(Spectra(:,1,:)),squeeze(your_data(:,1,:)),'EdgeColor','none');
surf(squeeze(X(:,end,:)),squeeze(Y(:,end,:)),squeeze(Spectra(:,end,:)),squeeze(your_data(:,end,:)),'EdgeColor','none');
surf(squeeze(X(:,:,1)),squeeze(Y(:,:,1)),squeeze(Spectra(:,:,1)),squeeze(your_data(:,:,1)),'EdgeColor','none');
surf(squeeze(X(:,:,end)),squeeze(Y(:,:,end)),squeeze(Spectra(:,:,end)),squeeze(your_data(:,:,end)),'EdgeColor','none');
More Answers (1)
millercommamatt
on 2 Jul 2020
To control the orientation of the image, read the documentation for 3-D camera control:
Specifically read the documentation for view:
There's also a button in the graphic windows to manually orbit the camera around.
As for the color, please study the documentation for colormap and caxis
As always when reading the documentation, pay attention to links to other function and the see also section to see related functions. Following these links will lead you to examples of related tasks and provide a broader view of the tools you have at your disposal.
0 Comments
See Also
Categories
Find more on Hyperspectral Image Processing 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!