How to set to zero specific elements of a 3D array?

4 views (last 30 days)
I have a 3D image (array). I want to set to zero all the voxels with numbers 4, 5, 12 and 50-56. Does anyone know how to do this?

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 26 Oct 2022
Edited: KALYAN ACHARJYA on 26 Oct 2022
Here if the voxel element is equal to 4, 5 & 50..so on. , all such voxels element will be replaced by 0 (Zero)
data= % #3D Array Element/Image with 3 planes
data(data==4 | data==5 | data==50)=0 %Set the condition accordingly
  5 Comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Oct 2022
data=randi([0,60],[10 10])
data = 10×10
4 44 18 59 5 43 32 58 38 6 33 32 48 23 28 43 37 9 7 41 5 23 4 28 33 9 3 60 0 54 44 50 40 12 59 33 55 6 59 2 51 51 48 5 56 22 31 44 28 54 43 30 1 19 9 7 55 56 37 10 52 1 40 17 6 29 56 60 36 60 34 58 44 4 53 44 20 10 4 40 49 14 44 16 27 46 28 17 30 0 24 51 51 32 30 33 20 58 51 21
%..............^ test example only, you can check with 208
data(data~=52 & data~=53)=0
data = 10×10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 0 0 0 0 0 0 0 0 0 0 0 0 0 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
data(data~=0)=1
data = 10×10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Oct 2022
Here tested with 2D, the logic works on all dimentional data array.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!