macro 'Annular Selection from Line [R]'; var x1,x2,y1,y2,top,left,width,height, w, h:integer; xcenter,ycenter,radius1, radius2:integer; begin GetPicSize(w,h); GetLine(x1,y1,x2,y2,width); if x1<0 then begin PutMessage('This macro requires a line selection.'); exit; end; xcenter:=w/2; ycenter:=h/2; radius1:=sqrt(sqr(abs(x1-xcenter))+sqr(abs(y1-ycenter))); radius2:=sqrt(sqr(abs(x2-xcenter))+sqr(abs(y2-ycenter))); if radius1 < radius2 then begin MakeOvalROI(xcenter-radius1,ycenter-radius1,radius1*2,radius1*2); copy; setbackgroundcolor(0); MakeOvalROI(xcenter-radius2,ycenter-radius2,radius2*2,radius2*2); fill; paste; killroi; end; MakeOvalROI(xcenter-radius2,ycenter-radius2,radius2*2,radius2*2); copy; setbackgroundcolor(0); MakeOvalROI(xcenter-radius1,ycenter-radius1,radius1*2,radius1*2); fill; paste; killroi; end;