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

5 Ansichten (letzte 30 Tage)
Mohammad Saleh
Mohammad Saleh am 22 Sep. 2019
Beantwortet: Athul Prakash am 25 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 Kommentar
Anton Gribovskiy
Anton Gribovskiy am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Athul Prakash
Athul Prakash am 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!

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by