Code covered by the BSD License  

Highlights from
myLabel 0.04

image thumbnail
from myLabel 0.04 by Nikolay Chumerin
Image labeling tool for Matlab.

Action
function Action
global labels cursor
% p = round(get(handles.Image_Axes,'CurrentPoint'));
% %  stat(sprintf('Labels_ButtonDown (%g,%g)',p(1),p(3)));
ind1 = max(-cursor.size+cursor.y,1):min(size(labels.data,1),cursor.size+cursor.y);
ind2 = max(-cursor.size+cursor.x,1):min(size(labels.data,2),cursor.size+cursor.x);

switch labels.operation,
    case 1, % set
        labels.data(ind1,ind2) = labels.values(labels.active);
        labels.alphaData(ind1,ind2) = labels.alpha;
    case 2, % clear
        labels.data(ind1,ind2) = 0;
        labels.alphaData(ind1,ind2) = 0;
    case 3, % fill
        mask = (labels.data ~= labels.data(cursor.y,cursor.x));
        filled_mask = imfill(mask,[cursor.y, cursor.x]);
        labels.data(find(xor(filled_mask,mask))) = labels.values(labels.active);
        labels.alphaData(find(xor(filled_mask,mask))) = labels.alpha;
end
labels.changed = 1;
Update_Labels_Layer

Contact us at files@mathworks.com