Convert a 4D segmented matrix to a 3D one?

5 vues (au cours des 30 derniers jours)
Mohammad Saleh
Mohammad Saleh le 22 Sep 2019
I have a 4D segmented matrix of ones and zeros with the size 4 512 512 150. how do i convert this to a 3D matrix of size 512 512 150?
  1 commentaire
Anton Gribovskiy
Anton Gribovskiy le 22 Sep 2019
Converted matrix has less elements than original one. How do you want to remove these extra elements? I think an example would help.

Connectez-vous pour commenter.

Réponse acceptée

Athul Prakash
Athul Prakash le 25 Sep 2019
Hey Mohammad,
Going by those input and output dimensions, I am assuming that you want to extract a part of the matrix with a given value in dimension 1.
If you want to get ith value from dimension 1, use:
crop = mat(i,:,:,:);
to get 'crop' of size [1 512 512 150].
Then use the squeeze function to remove all dimensions of size 1.
crop = squeeze(crop); %this makes size = [512 512 150]
Have a look at the doc for squeeze
Cheers!

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by