Masking data of 4D images

8 visualizaciones (últimos 30 días)
Gina Carts
Gina Carts el 10 de Oct. de 2019
Editada: Gina Carts el 10 de Oct. de 2019
Hi there,
I have a 3D binary mask and I would like to mask my 4D data. So basically I would like to keep the information of my 4D data in all the voxels corresponding to the mask.
Any idea how to do this?

Respuestas (1)

David Legland
David Legland el 10 de Oct. de 2019
Hi Gina,
I suppose that you want to repeat the binary mask along the missing dimension of your 4D data, right?
One possibility could be the following:
mask4d = repmat(mask, 1, 1, 1, size(data, 4));
values = data(mask4d);
(This assumes that the three dimensions of the mask correspond to the first three dimension of the data).
  1 comentario
Gina Carts
Gina Carts el 10 de Oct. de 2019
Editada: Gina Carts el 10 de Oct. de 2019
Yes, I want to repeat the mask along the 4th dimension to identify the non zero voxels. The rest will be zero.
I tried what you have suggested but I'm getting the following error at this line: values = data(mask4d);
My data are all positive numbers
Subscript indices must either be real positive integers or logicals.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by