MATLAB: Problem with roipoly.

ginputimageimshowlogical arrayroipoly

Hi. I'm trying to use roipoly to select a region in order to make a calculation over that region. The problem is that when i create the image and select the region with "ginput", Matlab shows me a 1×1 image, just a pixel.
This is the code:
w = imshow(Lesion_Visible(:,:,150),[]);
[r c]=ginput(5)
BW = roipoly(w,r,c);
figure,imshow(BW)
[R C] = size(BW);
for i = 1:R
for j = 1:C
if BW(i,j) == 1
Out(i,j) = w(i,j);
else
Out(i,j) = 0;
end
end
end
figure; imshow(Out,[]);
I believe the problem is in the 'imshow' because Lesion_Visible is a logical array and w, that is imshow over Lesion_Visible, appears in the workspace like an 1×1 image. How can i fix this? Can i use roipoly over a logical array? Thanks.
PD: Lesion_Visible is an 434x362x362 array.

Best Answer

roipoly does not accept the handle of the image() graphics object as its first parameter: you have to pass the image array.