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

25 views (last 30 days)
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 Comment
Anton Gribovskiy
Anton Gribovskiy on 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.

Sign in to comment.

Accepted Answer

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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!