crop the base image from the mask

hi, I have a base image and a mask image (both are 3d medical Images)in .mhd format.I have the code to read my image in the above format. Can anyone provide me help in cropping my base image with the mask.
Thanks

 Accepted Answer

To crop, you can calculate the top, bottom, left, and right columns of the mask's "true" area by using any(). Then use
croppedImage = fullImage(row1:row2, col1:col2);
or you can use imcrop().

3 Comments

Hey thanks for the answer. But my target and mask images are 3D. I used the imcrop after extracting a slice from my target image using y(1:,:,).Unfortunately,when i use imcrop, it gives me error regarding unsupported dimension. Secondly, i have no clue about your fullImage function.Please suggest.
Thanks
You might be able to extend that concept to a 3D image, just add a slice1:slice2 dimension to the fullImage() index list. fullImage is the name of your image array, not a function. Please verify that you want cropping (to the maximum extents of the mask), and not simply masking the data with your mask - they're very different things.
hey thanks for the solution.i got the solution.just by element by element multiplication of the base image and mask image,I was able to crop the base image with the mask image..
thanks for the help.
crop(i,:,:)=double(mask(i,:,:)).*double(image(i,:,:))

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!