overlay mask on sequence of mri images to mark out tumor ROI

1 vue (au cours des 30 derniers jours)
Raheema Al Karim Damani
Raheema Al Karim Damani le 18 Oct 2019
Commenté : Image Analyst le 19 Oct 2019
I created a mask based on one frame to mark out my ROI region.
segment_mask = poly2mask(xi, yi, 256, 256);
Is there a way I can overlay this mask onto my sequence of frames stored in a 3d array(256 x 256 x #of frames)?

Réponse acceptée

Daniel M
Daniel M le 19 Oct 2019
Modifié(e) : Daniel M le 19 Oct 2019
maskedImg = imgArray.*segment_mask;
% segment_mask is size [256,256]
% maskedImg is same size as imgArray
[256, 256, #of frames]
If you are using an older version of Matlab you may have to use bsxfun().
  1 commentaire
Image Analyst
Image Analyst le 19 Oct 2019
Like this:
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedImage3d = bsxfun(@times, image3d, cast(mask, 'like', image3d));

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by