;+ ; NAME: ; qView_SubtractBase ; PURPOSE: ; CATEGORY: ; CALLING SEQUENCE: FUNCTION qView_SubtractBase, state, image, all=all, fromactive=fromactive ; INPUTS: ; OPTIONAL INPUT PARAMETERS: ; OUTPUTS: ; OPTIONAL OUTPUT PARAMETERS: ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; InitVar, SuperArray ; SIDE EFFECTS: ; PROCEDURE: ; MODIFICATION HISTORY: ; OCT-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ;- InitVar, all, /key InitVar, fromactive, /key img = image widget_control, state.base_type , get_uvalue=type widget_control, state.base_order, get_value =order case type of 0B: 1B: BEGIN widget_control, state.zactive[2,1], get_value=base img = img-base END 2B: BEGIN nx = xe0-xb0+1 ny = ye0-yb0+1 CASE 1 OF all: BEGIN bas = data[xb0:xe0,yb0:ye0,*] bas = total(total(bas,1),1)/(nx*ny) bas = reform(SuperArray(bas,nx*ny,/lead),nx,ny,nfiles) END fromactive: BEGIN bas = data[xb0:xe0,yb0:ye0,active:*] bas = total(total(bas,1),1)/(nx*ny) bas = reform(SuperArray(bas,nx*ny,/lead),nx,ny,nfiles-active) END ELSE: bas = mean(data[xb0:xe0,yb0:ye0,active]) ENDCASE img = img-bas END 3B: 4B: 5B: ENDCASE RETURN, img & END