;browser16.ana !truecolor16 = 1 ;modified 1/25/2000 - subs put in toolset6.ana ulib, getenv('ANA_WLIB') + '/' $help_path = getenv('ANA_HELP') + '/' $pix_path = getenv('ANA_PIXMAPS') + '/' $f2='-adobe-times-medium-i-normal--25*' ;$f8='-adobe-courier-bold-r-normal--11*' $f8='-adobe-courier-bold-r-normal--12*' $f9='-adobe-courier-bold-r-normal--14*' $f10='-adobe-courier-bold-r-normal--10*' $f3='-schumacher-clean-bold-r-normal--13*' ;$f3='-adobe-times-medium-r-normal--14*' $f4='-adobe-helvetica-bold-r-normal--14*' $f5='-adobe-times-bold-i-normal--14*' $f6='-adobe-times-bold-i-normal--17*' $f7='-adobe-helvetica-bold-r-normal--17*' $f1='-adobe-times-bold-r-normal--14*' $f11='-adobe-helvetica-bold-r-normal--12*' #nl = smap(byte(10)) $mess1='sorry, no help\nis available\non this topic' $mess3='sorry, no support\nis available\nyet for tool' $mess4='file not found\nor not readable' $mess5='file not an image' $mess6='can''t read\nthis file' ;3/28/95 added fits reader - zoe ;=============================================================================== ;main $xflag=0 bwidget=xmtoplevel_board(0,0, 'TRACE data browser') ;top menu bar fm = xmform(bwidget, 0, 0) s1 = 'File' s2 = 'Display' s3='Commands' s5='Help' bar = xmmenubar(fm, $f4, 'gray',s1, s2, s3, s5) xmsetmnemonic, bar(1), 'F' xmsetmnemonic, bar(2), 'D' xmsetmnemonic, bar(3), 'C' xmsetmnemonic, bar(4), 'H' ;pull down menu for file s1 = 'file viewer' s2 = 'file sets' s3 = 'movie lists' s4 = 'Solar B' s5 = 'TRACE hourly' s6 = 'List of file lists' s7 = 'MDI FDMG' s8 = 'La Palma Thumbnails' s9 = 'Yohkoh SXT' s10 = 'save' s11 = 'print/save any window' s12 = 'Exit' pd1=xmpulldownmenu(bar(0), bar(1), 'menu_file', $f4, 'gray',s1,s2,s3,s4,s5, - s6,s7,s8,s9,s10,s11,s12) $file_menu = pd1 ;pull down menu for display ;11/24/96 only the screen display left here now since others now done s1 = 'color mapping' s2 = 'hide all windows' s3 = 'hide all tools' pd1=xmpulldownmenu(bar(0), bar(2), 'menu_display', $f4, 'gray', s1, s2, s3) ;pull down menu for options s1 = 'ANA command widget' pd1=xmpulldownmenu(bar(0), bar(3), 'menu_command', $f4, 'gray', s1) ;pull down menu for help s1 = 'Instructions' s2 = 'News/Notes' pd1=xmpulldownmenu(bar(0), bar(4), 'menu_help', $f4, 'gray', s1, s2) ;the rest (non-menu), goes into a board with margins mboard=xmboard(fm, 0, 0, 10, 10) formvstack, bar(0), mboard ;radio box for window selection, allow 15 windows ix = 197 iy=10 fw5=xmframe(mboard) $rb1 = xmradiobox(fw5,'popup',$f4,'','0','1','2','3','4','5','6','7','8','9','10','11','12','13','14',3) xmposition,fw5, ix, iy n=num_elem($rb1)-1 for i=1,n do xmselectcolor,$rb1(i),'red' xmtogglesetstate, $rb1(1), 1 ;pre-select 0 $current_window = 0 iq = xmlabel(mboard,'window for NEXT image ->',$f4) xmposition,iq, 10, 10 ;also some buttons for lowering, re-drawing iq = labeled_button('window_cb,0','redraw selection',10,40, mboard) iq = labeled_button('window_cb,1','hide selection',10,70, mboard) iq = labeled_button('window_cb,2','copy to',10,100, mboard) $brow_copy_but = iq $brow_copy_win = xmtextfield(mboard,'',2,'',$f3,'white') xmposition, $brow_copy_win, 130, 100, 40, 30 sq = 'hide all\nwindows' xmposition,xmbutton(mboard,sq, 'win_hide_cb', $f4,'gray'), 10, 135,80,40 sq = 'hide all\ntools' xmposition,xmbutton(mboard,sq, 'tool_hide_cb', $f4,'gray'), 100, 135,80,40 ;tool menus, a form within a frame, label+pulldown menu ix=10 iy=180 fw=xmframe(mboard) form=xmform(fw) xmposition, fw, ix, iy lq = xmlabel(form,'Tool Menus',$f4) s1=' single\nwindow \n tools' s2='multiple\nwindow \n tools' s3='temporal\ntools' s4='movie\ntools' s5='flow\ntools' bar = xmmenubar(form, $f4, 'gray',s1,s2,s3,s4,s5) s1 = 'save data' s2 = 'magnifier' s3 = 'histogram' s4 = 'I along line' s5 = 'filters' s6 = 'threshold' s7 = 'add noise' s8 = 'tessellations' s9 = 'magnetic flux' s10 = 'subareas' s11 = 'track mouse' s12 = 'Fourier ops' s13 = 'bit toy' s14 = 'cotemporal' s15 = 'fit solar disk' pd1=xmpulldownmenu(bar(0), bar(1), 'tog1', $f4, '',s1,s2,s3,s4,s5,s6,s7,s8, - s9,s10,s11,s12,s13,s14,s15) s1 = 'blink' s2 = 'superpose' s3='cross plots' s4 = 'image arithmetic' s5 = 'point alignments' s6 ='auto align' s7 = 'fades' s8 = 'blends' s9 = 'dark subtraction' pd2=xmpulldownmenu(bar(0), bar(2), 'tog2', $f4, '',s1,s2,s3,s4,s5,s6,s7,s8,s9) s1 = 'time slices' s2 = 'track features' pd3=xmpulldownmenu(bar(0), bar(3), 'tog3', $f4, '',s1, s2) s1 = 'create movie cube' s2 = 'play movie' s3='read stored cube' s4 = 'edit movie cube' s5 = 'despike movie cube' s6 = 'mean, rms, etc.' s7 ='light curves' s8 = 'mag flux curves' pd4=xmpulldownmenu(bar(0), bar(4), 'tog4', $f4, '',s1, s2,s3,s4,s5,s6,s7,s8) ;the various slicers ;s1 = 'x/y' s2 = 'line' s3 = 'circle' s4 = 'custom' ;pd6=xmpulldownmenu(pd4(0), pd4(9), 'tog_slice', $f4, '', s1, s2, s3, s4) s1 = 'launch flow tool' pd5=xmpulldownmenu(bar(0), bar(5), 'tog5', $f4, '',s1) formvstack, lq, bar(0) ;start here for view initializing ;define symbols for the data in each window zeroifnotdefined,$data0,$data1,$data2,$data3,$data4,$data5 zeroifnotdefined,$data6,$data7,$data8,$data9,$data10 zeroifnotdefined,$data11,$data12,$data13,$data14 ;and for some special windows used by some of the tools $seek_win = 10 ; cotemporal search default zeroifnotdefined, $data15 ;vcr, movie window ;10/23/2000 - window defs changed to support more "views" and multiple #play_window = 15 ;allow 4 windows for multiple movies, $play_window(0) is single movie $play_window = indgen(intarr(5)) + 15 ;that uses windows 15 - 19 ;movies ;time slice windows are 20 - 24, one for each possible movie zeroifnotdefined,$data20,$data21,$data22,$data23,$data24 ;blink window is now 25 $blink_win = 25 ;windows 0-14 are reserved for image viewers ;window 41 is presently reserved for displaying results while making cubes $movie_show_win = 41 ;window 42 is used for some Solar B plots (like ISCAN's) $solarbiscanwindow = 42 $plot_window_base = 30 ;windows 30 - 39 are reserved for plots for histograms, light curves, etc ;window 40 is used for the movie clock $movie_clock_win = 40 $movie_clock_widget = 0 $movie_date_widget = 0 !iorder = 2 ;default orientation !maxhistsize = 1000000 ;something will always screw up !maxregridsize = 4100 ;set up a view data base, just arrays with some info $view_exists = zero(intarr(25)) $view_nx = intarr(25) $view_ny = intarr(25) $view_draw = intarr(25) $view_zoom_fac = zero(intarr(25)) + word(1) ;some windows are time slice views, the viewts... are for them $viewts_space_zoom_fac = zero(fltarr(25)) + word(1) $viewts_t_scale = zero(fltarr(25)) $viewts_text_widgets = zero(intarr(2, 25)) $view_ix = intarr(25) $view_iy = intarr(25) $view_ixc = intarr(25) $view_iyc = intarr(25) $view_xsize = intarr(25) $view_ysize = intarr(25) $view_width = intarr(25) $view_height = intarr(25) $view_order = intarr(25) $view_grid = zero(intarr(25)) $view_scv = intarr(25) $view_sch = intarr(25) $viewstatsflag = zero(intarr(25)) ;off by default $view_scaletype = zero(intarr(25)) + word(2) ;pre-set $view_label = intarr(2,25) $view_text_widget = intarr(25) $view_text_hide = zero(intarr(25)) $view_text = strarr(25) $view_zoom_widgets = zero(intarr(8,25)) $view_order_widgets = zero(intarr(9,25)) $default_view_params = [0,0,1,1,.001,.999,1,0,0,1,87,500,3000,1,30,0.0,87,110, 5, 1] $window_title = strarr(25) zero, $view_label $view_scale_range = fltarr(2,25) $view_cb_case = intarr(25) $viewdespikeflag = zero(intarr(25)) ;off by default, whether to auto despike $viewdespikestatus = zero(intarr(25)) ;did we despike? $viewdespike_but = zero(intarr(25)) ;$viewdespikeargs = zero(intarr(3,25)) $viewemiflag = zero(intarr(25)) ;off by default, whether to auto emi $viewemidebug = zero(intarr(25)) ;off by default, whether to auto emi $viewemi_but = zero(intarr(25)) $viewlatlongflag = zero(intarr(25)) ;off by default $viewclockflag = zero(intarr(25)) ;off by default $viewsolarlabeltxt = zero(intarr(25)) ;some solar position information, not always available $view_sun_pixel_scale = zero(fltarr(25)) ;above also used as a validity flag $view_sun_xc = zero(fltarr(25)) $view_sun_yc = zero(fltarr(25)) ;0 is default $view_sun_distance = zero(fltarr(25)) ; added, LS 17apr00 ; distance to Sun; 0 means unknown $view_tai = zero(dblarr(25)) ;time of data or base time for time slices $view_data_type = intarr(25) ;0 = unknown, 1 = TRACE, 2 = La Palma thumb $view_mapaec = intarr(25) $view_connect = zero(intarr(25)) ;0 not linked/connected ;$view_ccdoffsetx = zero(intarr(25)) ;CCD base offsets, TRACE only ;$view_ccdoffsety = zero(intarr(25)) ;CCD base offsets, TRACE only $view_connectx = zero(intarr(25)) ;computed coupling bias $view_connecty = zero(intarr(25)) ;computed coupling bias $view_offset_widgets = zero(intarr(3,25)) ;TRACE type implies a $view_trace_info# array exists ;;$trace_plate_scale = 0.4993 ;;$trace_wedge_corr = .9976 $trace_plate_scale = 0.504 $trace_wedge_corr = 1.000 zero, $view_cb_case $datapath ='' $link_pending = 0 $select_in_progress = 0 ;init the color tables xport,0 xdelete,0 gamma_subrange, 1.0, 0, 255 ;set up some image list arrays, presently 100 $image_list = zero(lonarr(3,100)) ;type, # images, ? $image_list_tags = strarr(100) $image_list_count = 0 $num_file_viewers = 0 $little_endian = not(bigendian()) zeroifnotdefined, $last_type, $data_time_tai, $data_xcen, $data_ycen zeroifnotdefined, $multi_image_flag, $unfinished_eps_file zeroifnotdefined, $data_time_tai, $data_xcen, $data_ycen, $data_xscale zeroifnotdefined, $data_yscale, $data_dist, $bscale, $bzero, $data_r_sun zeroifnotdefined, $data_x0, $data_y0, $data_p_angle, $data_fdmg_flag, $data_dpc ;set up some keywords for possible fits output ( a minimal set) s1 = ['TIME_OBS','DATE_OBS','ORIGIN','TIME_TAI','XCEN','YCEN','XSCALE','YSCALE','COMMENT'] s2 = [ '' , '' ,'''browser ''', '' , '' , '', '' , '', ''] $keywords_fits = [ [s1], [s2] ] $motif_running = 1 $mv_label = '' $common_scales = [0.504, 0.599, 1.9566] $blocking = 0 $trace_noise_margin = 4 ;default value ;manage top level widget xtpopup, bwidget ;can't seem to specify position until after we are managed (why?) xmgetwidgetsize, bwidget, dx,dy $scr_cx = !screen_width/2 -100 $scr_cy = !screen_height/2 -100 $bw_ix = !screen_width-dx-5 $bw_iy = !screen_height-dy-5 $inspect_flag = 0 $special_inspect_flag = 0 ;currently for TRACE files $browser_win = 0 ty,'going to', $bw_ix, $bw_iy xmposition, bwidget, $bw_ix, $bw_iy xtloop, 1