3rd dimension data from each pixel to column-wise

I have 3D matrix of 80x100x27. Third dimnesion contains my required data. I want to extract each pixel value from third dimension (1x1x27) and place that in and place that in column (27x1). I want to do it for all data. So I will be having 8000 columns and 27 rows (27x8000). But some pixels in 3rd-dimension are totally NaN, if values are NaN, I don't want to include those columns. Please also show how to remove NaN values. Thanks

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 2 de Oct. de 2017
Editada: Andrei Bobrov el 2 de Oct. de 2017
Let A - your array [80x100x27]
[m,n,k] = size(A);
B = reshape(permute(A,[3,1,2]),k,[]);
out = B(:,all(~isnan(B)));

2 comentarios

Haa Andrew
Haa Andrew el 2 de Oct. de 2017
But this results in 8000x1. While I need it in 27x8000.
fixed

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 2 de Oct. de 2017

Comentada:

el 2 de Oct. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by