def main(options, args): #logger = log.get_logger("ginga", options=options) logger = log.get_logger("ginga", level=20, log_file="/tmp/ginga.log") #TOOLS = "pan,wheel_zoom,box_select,tap" TOOLS = "box_select" # create a new plot with default tools, using figure fig = figure(x_range=[0, 600], y_range=[0, 600], plot_width=600, plot_height=600, tools=TOOLS) viewer = ib.CanvasView(logger) viewer.set_figure(fig) bd = viewer.get_bindings() bd.enable_all(True) ## box_select_tool = fig.select(dict(type=BoxSelectTool)) ## box_select_tool.select_every_mousemove = True #tap_tool = fig.select_one(TapTool).renderers = [cr] # open a session to keep our local document in sync with server #session = push_session(curdoc()) #curdoc().add_periodic_callback(update, 50) def load_file(path): image = load_data(path, logger=logger) viewer.set_image(image) def load_file_cb(attr_name, old_val, new_val): #print(attr_name, old_val, new_val) load_file(new_val) def zoom_ctl_cb(attr_name, old_val, new_val): if new_val >= 0: new_val += 2 viewer.zoom_to(int(new_val)) scale = viewer.get_scale() logger.info("%f" % scale) viewer.onscreen_message("%f" % (scale), delay=0.3) # add a entry widget and configure with the call back #dstdir = options.indir dstdir = "" path_w = TextInput(value=dstdir, title="File:") path_w.on_change('value', load_file_cb) slide = Slider(start=-20, end=20, step=1, value=1) slide.on_change('value', zoom_ctl_cb) layout = column(fig, path_w, slide) curdoc().add_root(layout) if len(args) > 0: load_file(args[0])
def main(options, args): logger = log.get_logger("ginga", options=options) # create a new plot with default tools, using figure fig = figure(x_range=[0, 600], y_range=[0, 600], plot_width=600, plot_height=600, toolbar_location=None) viewer = ib.CanvasView(logger) viewer.set_figure(fig) def load_file(path): image = AstroImage(logger) image.load_file(path) viewer.set_image(image) def load_file_cb(attr_name, old_val, new_val): #print(attr_name, old_val, new_val) load_file(new_val) # add a entry widget and configure with the call back dstdir = options.indir path_w = TextInput(value=dstdir, title="File:") path_w.on_change('value', load_file_cb) if len(args) > 0: load_file(args[0]) # put the path widget and viewer in a layout and add to the document curdoc().add_root(vplot(fig, path_w))
def post_init(self): #Attach the viewer to the figure, and more Ginga initialization self.viewer = ivb.CanvasView(self.logger) self.viewer.set_figure(self.refs["main_figure"]) self.viewer.set_zoom_algorithm('rate') self.panviewer = ivb.CanvasView(self.logger) self.panviewer.set_figure(self.refs["pan_image"]) bd = self.viewer.get_bindings() bd.enable_all(True) if not self.pre_fitsfile is None: self.load_fits(self.pre_fitsfile) #remove toolbars for ref in [ "main_figure", "pan_image", "hist_plot", "encl_plot", "xproj_plot", "yproj_plot", "rproj_plot" ]: self.remove_toolbar(ref) self.refs["encl_plot"].yaxis[0].formatter = self.refs["encl_formatter"]
def main(options, args): logger = log.get_logger("ginga", options=options) TOOLS = "pan,wheel_zoom,box_select,tap" # create a new plot with default tools, using figure fig = figure(x_range=[0, 600], y_range=[0, 600], plot_width=600, plot_height=600, tools=TOOLS) viewer = ib.CanvasView(logger) viewer.set_figure(fig) ## box_select_tool = fig.select(dict(type=BoxSelectTool)) ## box_select_tool.select_every_mousemove = True #tap_tool = fig.select_one(TapTool).renderers = [cr] # open a session to keep our local document in sync with server session = push_session(curdoc()) #curdoc().add_periodic_callback(update, 50) def load_file(path): image = AstroImage(logger) image.load_file(path) viewer.set_image(image) def load_file_cb(attr_name, old_val, new_val): #print(attr_name, old_val, new_val) load_file(new_val) # add a entry widget and configure with the call back dstdir = options.indir path_w = TextInput(value=dstdir, title="File:") path_w.on_change('value', load_file_cb) curdoc().add_root(vplot(fig, path_w)) if len(args) > 0: load_file(args[0]) # open the document in a browser session.show() # run forever session.loop_until_closed()