How to set to zero specific elements of a 3D array?
Afficher commentaires plus anciens
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?
Réponses (1)
KALYAN ACHARJYA
le 26 Oct 2022
Modifié(e) : KALYAN ACHARJYA
le 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 commentaires
Demy
le 27 Oct 2022
KALYAN ACHARJYA
le 27 Oct 2022
Modifié(e) : KALYAN ACHARJYA
le 27 Oct 2022
No, if you refering indices (e.g., 3,4,5)
data(3,4,5)=1
If you refering voxel value (data value), then
data(data~=3 & data~=4 & data~=5)=0
data(data~=0)=1
You can do it in single line too.
Demy
le 27 Oct 2022
data=randi([0,60],[10 10])
%..............^ test example only, you can check with 208
data(data~=52 & data~=53)=0
data(data~=0)=1
KALYAN ACHARJYA
le 27 Oct 2022
Here tested with 2D, the logic works on all dimentional data array.
Catégories
En savoir plus sur Geometric Transformation and Image Registration dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!