;+ ; ; NAME : ; XDEFROI ; PURPOSE : ; Define a region of interest in a given image ; CALLING SEQUENCE: ; Result = xdefroi(image, zoom=zoom) ; INPUTS: ; IMAGE a two-dimensional array ; It should be byte-type for better looking ; since TV is used for displaying it. ; KEYWORDS: ; ZOOM a two elements vector containning the expansion ; factor in X and Y. ; MODIFICATION HISTORY ; March 1997 Jongchul Chae ; ;- function xdefroi, image,zoom=zoom , title=title if n_elements(zoom) eq 1 then zoom=replicate(zoom, 2) if n_elements(zoom) ne 2 then zoom=[1,1] xsize=n_elements(image(*,0)) ysize=n_elements(image(0,*)) if n_elements(title) eq 0 then title='IMAGE' base=widget_base(title=title) draw=widget_draw(base,xsize=xsize*zoom(0)+1, ysize=ysize*zoom(1)+1, $ button_events=1, motion_even=1) widget_control, base, /realize widget_control, draw, get_value=draw_win wset, draw_win tvscl, congrid(image, xsize*zoom(0), ysize*zoom(1)) value=cw_defroi(draw, zoom=zoom) wait, 1 widget_control, base, /destroy return, value end