if len(self.channel) <= 1: self.fv.show_error( "Blink opened in local mode and there are not multiple " "images to blink in this channel") return self._set_interval_cb() def _stop_blink_cb(self): self.stop_blinking() def _set_interval_cb(self): interval = float(self.w.interval.get_text()) self.interval = max(min(interval, self.ival_max), self.ival_min) self.stop_blinking() self.start_blinking() def _set_blink_mode_cb(self, tf): self.blink_channels = tf def __str__(self): return 'blink' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Blink', package='ginga') # END
def clear(self): self.name_dict = Bunch.caselessDict() self.clear_selected_history() self.recreate_toc() def close(self): self.fv.stop_global_plugin(str(self)) return True def stop(self): self.gui_up = False self.fv.show_status('') def help(self): name = str(self).capitalize() self.fv.help_text(name, self.__doc__, text_kind='rst', trim_pfx=4) def start(self): self.recreate_toc() def __str__(self): return 'changehistory' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example # noqa __doc__ = generate_cfg_example('plugin_ChangeHistory', package='ginga')
self.canvas.ui_set_active(True) self.fv.show_status('Press "Help" for instructions') def stop(self): # remove canvas from image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass self.canvas.update_canvas(whence=0) # Force redraw self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'tvmask' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_TVMask', package='ginga') # END
def start(self): self.instructions() self.resume() def pause(self): self.canvas.ui_setActive(False) def resume(self): # turn off any mode user may be in self.modes_off() self.fv.showStatus('See instructions') def stop(self): self.gui_up = False self.fv.showStatus('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'smoothing' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example('plugin_Smoothing', package='stginga')
def init_progress(self): def _foo(): self.w.btn_intr_eval.set_enabled(True) self.w.eval_pgs.set_value(0.0) if self.gui_up: self.fv.gui_do(_foo) def update_progress(self, pct): if self.gui_up: self.fv.gui_do(self.w.eval_pgs.set_value, pct) def end_progress(self): if self.gui_up: self.fv.gui_do(self.w.btn_intr_eval.set_enabled, False) def eval_intr(self): self.ev_intr.set() def __str__(self): return 'mosaic' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example __doc__ = generate_cfg_example('plugin_Mosaic', package='ginga') #END
except KeyError: # Add ruler layer p_canvas.add(self.canvas, tag=self.layertag) self.resume() def stop(self): # so we don't hang on to a large image self.axes._cur_image = None # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass self.gui_up = False self.fv.show_status("") def __str__(self): return 'wcsaxes' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_WCSAxes', package='ginga') # END
def forward_cb(self): if not Widgets.has_webkit: return self.browser.go_forward() def reload_cb(self): if not Widgets.has_webkit: return self.browser.reload_page() def stop_cb(self): if not Widgets.has_webkit: return self.browser.stop_loading() def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'wbrowser' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_WBrowser', package='ginga') # END
for chname, info in images: src_channel = self.fv.get_channel(chname) if action == 'copy': src_channel.copy_image_to(info.imname, dst_channel) elif action == 'move': src_channel.move_image_to(info.imname, dst_channel) elif action == 'remove': src_channel.remove_image(info.imname) def start(self): self.recreate_toc() def stop(self): self.treeview = None self.gui_up = False def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'contents' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Contents', package='ginga') # END
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_setActive(True) self.fv.showStatus("Draw a region with the right mouse button") def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.deleteObjectByTag(self.layertag) except: pass self.gui_up = False self.fv.showStatus("") def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return "backgroundsub" # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example("plugin_BackgroundSub", package="stginga")
self.modes_off() self.canvas.ui_set_active(True) self.fv.show_status("Mark a point or region and choose axis") self.redo() def stop(self): self.gui_up = False self._split_sizes = self.w.splitter.get_sizes() # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass # Don't hang on to current image self.image = None self.fv.show_status("") def __str__(self): return 'lineprofile' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_LineProfile', package='ginga') # END
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_set_active(True) self.fv.show_status('Draw a region with the left mouse button') def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'backgroundsub' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example('plugin_BackgroundSub', package='stginga')
def make_flat_cb(self, w): self.update_status("Making flat field...") self.fv.nongui_do(self.fv.error_wrap, self._make_flat_field) def apply_flat_cb(self, w): image = self.fitsimage.get_image() if self.flat is None: self.fv.show_error("Please set a flat field image first") else: result = self.fv.error_wrap(dp.divide, image, self.flat) print(result, image) self.fv.gui_do(self.show_result, result) def set_flat_cb(self, w): # Current image is a flat field we should set self.flat = self.fitsimage.get_image() flatname = dp.get_image_name(self.flat, pfx='flat') self.w.flat_image.set_text(flatname) self.update_status("Set flat field.") def __str__(self): return 'pipeline' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Pipeline', package='ginga') # END
maxx = max(readout.maxx, len(str(px_x))) if maxx > readout.maxx: readout.maxx = maxx maxy = max(readout.maxy, len(str(px_y))) if maxy > readout.maxy: readout.maxy = maxy maxv = max(readout.maxv, len(str(value))) if maxv > readout.maxv: readout.maxv = maxv if 'ra_txt' in info: text = "%1.1s: %-14.14s %1.1s: %-14.14s X: %-*.*s Y: %-*.*s Value: %-*.*s" % ( info.ra_lbl, info.ra_txt, info.dec_lbl, info.dec_txt, maxx, maxx, px_x, maxy, maxy, px_y, maxv, maxv, value) else: text = "%1.1s: %-14.14s %1.1s: %-14.14s X: %-*.*s Y: %-*.*s Value: %-*.*s" % ( '', '', '', '', maxx, maxx, px_x, maxy, maxy, px_y, maxv, maxv, value) readout.set_text(text) def __str__(self): return 'cursor' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Cursor', package='ginga') # END
name = iohelper.name_image_from_path(path) info = Bunch.Bunch(name=name, path=path) self.fv.gui_call(channel.add_image_info, info) def start(self): self.win = None self.browse(self.curpath) def pause(self): pass def resume(self): pass def stop(self): pass def redo(self, *args): return True def __str__(self): return 'fbrowser' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_FBrowser', package='ginga') # END
fig.savefig(target, dpi=fig_dpi) except Exception as e: self.logger.error(str(e)) else: self.logger.info('Table plot saved as {0}'.format(target)) def start(self): self.resume() def resume(self): # turn off any mode user may be in self.modes_off() self.redo() def close(self): self.fv.stop_local_plugin(self.chname, str(self)) self.gui_up = False return True def __str__(self): return 'plottable' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example # noqa __doc__ = generate_cfg_example('plugin_PlotTable', package='ginga')
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_set_active(True) self.fv.show_status('Draw a region with the left mouse button') def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'badpixcorr' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_BadPixCorr', package='stginga')
def start(self): self.resume() def resume(self): # turn off any mode user may be in try: self.modes_off() except AttributeError: pass self.fv.show_status('Press "Help" for instructions') def stop(self): self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'saveimage' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example __doc__ = generate_cfg_example('plugin_SaveImage', package='ginga')
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_setActive(True) self.fv.showStatus('Draw a region with the right mouse button') def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.deleteObjectByTag(self.layertag) except: pass self.gui_up = False self.fv.showStatus('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'badpixcorr' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example('plugin_BadPixCorr', package='stginga')
return False self.clear_selected_history() self.recreate_toc() def clear(self): self.name_dict = Bunch.caselessDict() self.clear_selected_history() self.recreate_toc() def close(self): self.fv.stop_global_plugin(str(self)) return True def stop(self): self.gui_up = False self.fv.show_status('') def start(self): self.recreate_toc() def __str__(self): return 'changehistory' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example # noqa __doc__ = generate_cfg_example('plugin_ChangeHistory', package='ginga')
return True def set_cmap_cb(self, index): name = self.cmap_names[index] self.set_cmap_byname(name) def set_imap_cb(self, index): name = self.imap_names[index] self.set_imap_byname(name) def set_field_cb(self, index): fieldname = self.columns[index][1] self.set_field(fieldname) def do_operation_cb(self, btn_w, combo_w): index = combo_w.get_index() if index >= 0: fn = self.operation_table[index][1] fn(self.selected) def sort_cb(self): self.replot_stars() # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Catalogs', package='ginga') # END
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_setActive(True) self.fv.showStatus("Draw a region with the right mouse button") def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.deleteObjectByTag(self.layertag) except: pass self.gui_up = False self.fv.showStatus("") def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return "snrcalc" # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example("plugin_SNRCalc", package="stginga")
self._image = None if self.info is not None: info = self.info channel = self.fv.get_channel(info.chname) image = channel.get_current_image() self.set_header(info, image) def set_prihdr_cb(self, tf): self.flg_prihdr = tf self._image = None if self.info is not None: info = self.info channel = self.fv.get_channel(info.chname) image = channel.get_current_image() self.set_header(info, image) def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'header' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Header', package='ginga') # END
def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'samp' class GingaWrapper(object): def __init__(self, fv, logger): self.fv = fv self.logger = logger def display_fitsfile(self, chname, fitspath, dowait): """Load (``fitspath``) into channel (``chname``). (The parameter ``dowait`` is currently ignored.) """ # TEMP: dowait ignored self.fv.gui_do(self.fv.open_uris, [fitspath], chname=chname) return 0 # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_SAMP', package='ginga') # END
def blank(self, channel): """This is called when image is cleared.""" self._image = None info = channel.extdata._header_info info.table.clear() def set_sortable_cb(self, tf): self.flg_sort = tf self._image = None if self.info is not None: info = self.info channel = self.fv.get_channel(info.chname) image = channel.get_current_image() self.set_header(info, image) def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'header' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Header', package='ginga') # END
return fitsimage = channel.fitsimage if fitsimage != self.fv.getfocus_fitsimage(): return False self.change_cbar(self.fv, channel) def start(self): channel = self.fv.get_channel_info() self.change_cbar(self.fv, channel) def stop(self): self.gui_up = False self.cursor_obj = None self.colorbar = None return True def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'colorbar' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Colorbar', package='ginga') # END
# Save QUIP Log, which stores change history self.logger.info('Saving {0}'.format(self.logfile)) try: self._write_quiplog() except Exception as e: self.w.status.set_text('Cannot write QUIP log!') self.logger.error(str(e)) return # Save QUIP Out, which stores output image list self.logger.info('Saving {0}'.format(self.stafile)) try: output_xml(quip_out_dict(images=output_images), self.stafile) except Exception as e: self.w.status.set_text('Cannot write QUIP out!') self.logger.error(str(e)) return self.w.status.set_text('Done! Quit Ginga to exit QUIP') def __str__(self): return 'savequip' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example( 'plugin_SaveImage', cfgpath='config', package='wss_tools.quip')
self.logger.error(f'{im} not found in operation file') ignored_list.append(im) images = sorted(set(keep_list)) self.logger.info(f'Saving {outfile}') # Save QUIP out file XML try: output_xml(quip_out_dict(images=images), outfile) except OSError as e: s = str(e) self.logger.error(s) self.update_status('ERROR: ' + s) return if len(ignored_list) > 0: self.logger.info(f"Ignored {','.join(ignored_list)}") extra_msg = ', ignored file(s)' else: extra_msg = '' self.update_status('Image list saved' + extra_msg) # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Mosaic', cfgpath='config', package='wss_tools.quip')
bm = fitsimage.get_bindmap() modename, mode_type = bm.current_mode() self.logger.debug("modename=%s" % (modename)) # toolbar follows view self.w.btn_pan.set_state(modename == 'pan') self.w.btn_freepan.set_state(modename == 'freepan') self.w.btn_rotate.set_state(modename == 'rotate') self.w.btn_dist.set_state(modename == 'dist') self.w.btn_cuts.set_state(modename == 'cuts') self.w.btn_contrast.set_state(modename == 'contrast') default_mode_type = bm.get_default_mode_type() if 'btn_modelock' in self.w: is_locked = (default_mode_type in ('locked', 'softlock')) self.w.btn_modelock.set_state(is_locked) except Exception as e: self.logger.error("error updating toolbar: %s" % str(e)) raise e def __str__(self): return 'toolbar' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Toolbar', package='ginga') # END
# http://stackoverflow.com/questions/7042190/plotting-directly-to-movie-with-numpy-and-mencoder data_rescaled = ((data - loval) * 255 / (hival - loval)).astype( np.uint8, copy=False) W, H = image.get_data_size() with self.video_writer(VideoSink((H, W), target_file)) as video: for i in range(start, end): video.write(np.flipud(data_rescaled[i])) self.fv.show_status("Successfully saved movie") @contextmanager def video_writer(self, v): v.open() try: yield v finally: v.close() return def __str__(self): return 'multidim' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_MultiDim', package='ginga') # END
obj = obj.objects[0] self.canvas.edit_select(obj) else: self.canvas.clear_selected() self.canvas.update_canvas() def set_mode_cb(self, mode, tf): """Called when one of the Move/Draw/Edit radio buttons is selected.""" if tf: self.canvas.set_draw_mode(mode) if mode == 'edit': self.edit_select_mark() return True def set_mode(self, mode): self.canvas.set_draw_mode(mode) self.w.btn_move.set_state(mode == 'move') self.w.btn_draw.set_state(mode == 'draw') self.w.btn_edit.set_state(mode == 'edit') def __str__(self): return 'pixtable' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_PixTable', package='ginga') # END
fig.savefig(target, dpi=fig_dpi) except Exception as e: self.logger.error(str(e)) else: self.logger.info('Table plot saved as {0}'.format(target)) def start(self): self.instructions() self.resume() def resume(self): # turn off any mode user may be in self.modes_off() self.redo() def close(self): self.fv.stop_local_plugin(self.chname, str(self)) self.gui_up = False return True def __str__(self): return 'plottable' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example # noqa __doc__ = generate_cfg_example('plugin_PlotTable', package='ginga')
# http://stackoverflow.com/questions/7042190/plotting-directly-to-movie-with-numpy-and-mencoder data_rescaled = ((data - loval) * 255 / (hival - loval)).astype( np.uint8, copy=False) W, H = image.get_data_size() with self.video_writer(VideoSink((H, W), target_file)) as video: for i in range(start, end): video.write(np.flipud(data_rescaled[i])) self.fv.show_status("Successfully saved movie") @contextmanager def video_writer(self, v): v.open() try: yield v finally: v.close() return def __str__(self): return 'multidim' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example # noqa __doc__ = generate_cfg_example('plugin_MultiDim', package='ginga')
self._max_y = y2 rgb_img = self.p_view.get_image_as_array() self.r_image.set_data(rgb_img) # CALLBACKS def start(self): if len(self.cm_names) == 0: self.cm_names = list(cmap.get_names()) self.c_view.onscreen_message("building color maps...") self.fv.update_pending() self.rebuild_cmaps() self.c_view.onscreen_message(None) self.c_view.set_image(self.r_image) def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'colormappicker' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_ColorMapPicker', package='ginga') # END
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_set_active(True) self.fv.show_status('Draw a region with the right mouse button') def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'snrcalc' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_SNRCalc', package='stginga')
def resume(self): # turn off any mode user may be in self.modes_off() self.canvas.ui_set_active(True) self.fv.show_status("Mark a point or region and choose axis") self.redo() def stop(self): # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass # Don't hang on to current image self.image = None self.fv.show_status("") def __str__(self): return 'lineprofile' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_LineProfile', package='ginga') # END
info = bnch.info # Get any previously stored thumb information in the image info thumb_extra = info.setdefault('thumb_extras', Bunch.Bunch()) # Update the tooltip, in case of new or changed metadata text = self._mk_tooltip_text(metadata) thumb_extra.tooltip = text self.logger.debug("updating thumbnail '%s'" % (info.name)) # TODO: figure out why set_image() causes corruption of the # redraw here. Instead we force a manual redraw. #bnch.image.set_image(thmb_image) bnch.image.image = thmb_image thumb_extra.rgbimg = thmb_image if self.gui_up: self.c_view.redraw(whence=0) self.logger.debug("update finished.") def __str__(self): return 'thumbs' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Thumbs', package='ginga') # END
# turn off any mode user may be in self.modes_off() self.canvas.ui_set_active(True) self.fv.show_status('Mark pixel with the left mouse button') def stop(self): self._reset_imdq_on_error() # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except Exception: pass self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'dqinspect' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example('plugin_DQInspect', package='stginga')
self.logger.debug("highlighting widget") # plugin may not have been started by us, so don't assume it has # a label bnch.setdefault('label', None) if bnch.label is not None: bnch.label.set_color(bg=self.focuscolor) def unfocus_plugin_cb(self, pl_mgr, bnch): if not self.gui_up: return self.logger.debug("unhighlighting widget") # plugin may not have been started by us, so don't assume it has # a label bnch.setdefault('label', None) if bnch.label is not None: bnch.label.set_color(bg='grey') def stop(self): self.gui_up = False def __str__(self): return 'operations' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Operations', package='ginga') # END
def stop(self): # remove canvas from image p_canvas = self.fitsimage.get_canvas() try: p_canvas.delete_object_by_tag(self.layertag) except: pass # Free some memory, maybe self.tree_dict = Bunch.caselessDict() self._xarr = [] self._yarr = [] self._treepaths = [] self.gui_up = False self.fv.show_status('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'tvmark' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example __doc__ = generate_cfg_example('plugin_TVMark', package='ginga')
def start(self): self.instructions() self.resume() def resume(self): # turn off any mode user may be in try: self.modes_off() except AttributeError: pass self.fv.showStatus('See instructions') def stop(self): self.gui_up = False self.fv.showStatus('') def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'saveimage' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. from ginga.util.toolbox import generate_cfg_example __doc__ = generate_cfg_example('plugin_SaveImage', package='ginga')
bbox = obj.objects[0] self.canvas.edit_select(bbox) else: self.canvas.clear_selected() self.canvas.update_canvas() def set_mode_cb(self, mode, tf): """Called when one of the Move/Draw/Edit radio buttons is selected.""" if tf: self.canvas.set_draw_mode(mode) if mode == 'edit': self.edit_select_box() return True def set_mode(self, mode): self.canvas.set_draw_mode(mode) self.w.btn_move.set_state(mode == 'move') self.w.btn_draw.set_state(mode == 'draw') self.w.btn_edit.set_state(mode == 'edit') def __str__(self): return 'histogram' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Histogram', package='ginga') # END
self.w.zoom_radius.set_value(self.default_radius) self.w.zoom_amount.set_value(self.default_zoom) self.zoomimage.zoom_to(self.default_zoom) def zoomset(self, setting, zoomlevel, fitsimage): text = self.fv.scale2text(self.zoomimage.get_scale()) self.w.zoom.set_text(text) def set_radius_cb(self, w, val): self.set_radius(val) def set_refresh_cb(self, w, val): self.refresh_interval = val / 1000.0 self.logger.debug("Setting refresh time to %.4f sec" % ( self.refresh_interval)) def close(self): self.fv.stop_global_plugin(str(self)) return True def __str__(self): return 'zoom' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Zoom', package='ginga') # END
return info = bnch.info # Get any previously stored thumb information in the image info thumb_extra = info.setdefault('thumb_extras', Bunch.Bunch()) # Update the tooltip, in case of new or changed metadata text = self._mk_tooltip_text(metadata) thumb_extra.tooltip = text self.logger.debug("updating thumbnail '%s'" % (info.name)) # TODO: figure out why set_image() causes corruption of the # redraw here. Instead we force a manual redraw. #bnch.image.set_image(thmb_image) bnch.image.image = thmb_image thumb_extra.rgbimg = thmb_image self.c_view.redraw(whence=0) self.logger.debug("update finished.") def __str__(self): return 'thumbs' # Append module docstring with config doc for auto insert by Sphinx. from ginga.util.toolbox import generate_cfg_example # noqa if __doc__ is not None: __doc__ += generate_cfg_example('plugin_Thumbs', package='ginga') # END
# turn off any mode user may be in self.modes_off() self.canvas.ui_setActive(True) self.fv.showStatus('Draw a region with the right mouse button') def stop(self): self._reset_imdq_on_error() # remove the canvas from the image p_canvas = self.fitsimage.get_canvas() try: p_canvas.deleteObjectByTag(self.layertag) except: pass self.gui_up = False self.fv.showStatus("") def __str__(self): """ This method should be provided and should return the lower case name of the plugin. """ return 'dqinspect' # Replace module docstring with config doc for auto insert by Sphinx. # In the future, if we need the real docstring, we can append instead of # overwrite. __doc__ = generate_cfg_example('plugin_DQInspect', package='stginga')