1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
function WindowButtonMotionFcn(src, evnt)
handles=guidata(gcf);
l=handles.l;
k=handles.k;
mat=handles.mat;
nbcoupes=handles.nbcoupes;
b=handles.b;
tmp=handles.tmp;
roiz=findobj(gca, 'Type', 'line');
if ~isempty(roiz)
for i=1:length(roiz)
valeurx{i}=get(roiz(i), 'XData');
valeury{i}=get(roiz(i), 'YData');
end
end
h2=get(gca);
clim=h2.CLim;
zoomx=h2.XLim;
zoomy=h2.YLim;
cp=get(handles.axes1,'CurrentPoint');
if cp(1,1)>tmp
l=l+1;
if l>b
l=1;
k=k+1;
if k>nbcoupes
k=1;
end
end
I=mat(:,:,k,l);
imshow(I, clim);
if ~isempty(roiz)
for i=1:length(roiz)
[BW, contourx, contoury]=roipoly(I, valeurx{i}, valeury{i});
line(int16(contourx), int16(contoury));
end
end
xlim(zoomx);
ylim(zoomy);
handles.l=l;
handles.k=k;
handles.I=I;
guidata(gcf, handles);
else
l=l-1;
if l<1
l=b;
k=k-1;
if k<1
k=nbcoupes;
end
end
I=mat(:,:,k,l);
axes(handles.axes1);
imshow(I, clim);
if ~isempty(roiz)
for i=1:length(roiz)
[BW, contourx, contoury]=roipoly(I, valeurx{i}, valeury{i});
line(int16(contourx), int16(contoury));
end
end
xlim(zoomx);
ylim(zoomy);
numimage=(k-1)*b+l;
handles.l=l;
handles.k=k;
handles.I=I;
guidata(gcf, handles);
end
tmp=cp(1,1);
handles.tmp=tmp;
guidata(gcf, handles); |
Partager