def png_to_colormap(png_file): from ginga.RGBImage import RGBImage img = RGBImage() img.load_file(png_file) data = img.get_data() return rgbarr_to_colormap(data)
def png_to_colormap(png_file): from ginga.RGBImage import RGBImage img = RGBImage() img.load_file(png_file) data = img.get_data() return rgbarr_to_colormap(data)
def snap_cb(self, w): format = self.tosave_type # snap image self.fv.error_wrap(self.fitsimage.save_rgb_image_as_file, self.tmpname, format=format) self.saved_type = format img = RGBImage(logger=self.logger) img.load_file(self.tmpname) self.scrnimage.set_image(img)
def _snap_cb(self, w): """This function is called when the user clicks the 'Snap' button. """ # Clear the snap image viewer self.scrnimage.clear() self.scrnimage.redraw_now(whence=0) self.fv.update_pending() format = self.tosave_type if self._screen_size: # snap image using actual viewer self.fv.error_wrap(self.fitsimage.save_rgb_image_as_file, self.tmpname, format=format) else: # we will be using shot generator, not actual viewer. # check that shot generator size matches UI params self.check_and_adjust_dimensions() # copy background color of viewer to shot generator bg = self.fitsimage.get_bg() self.shot_generator.set_bg(*bg) # add the main canvas from channel viewer to shot generator c1 = self.fitsimage.get_canvas() c2 = self.shot_generator.get_canvas() c2.delete_all_objects(redraw=False) c2.add(c1, redraw=False) # hack to fix a few problem graphics self.shot_generator._imgobj = self.fitsimage._imgobj # scale of the shot generator should be the scale of channel # viewer multiplied by the ratio of window sizes scale_x, scale_y = self.fitsimage.get_scale_xy() c1_wd, c1_ht = self.fitsimage.get_window_size() c2_wd, c2_ht = self.shot_generator.get_window_size() scale_wd = float(c2_wd) / float(c1_wd) scale_ht = float(c2_ht) / float(c1_ht) scale = max(scale_wd, scale_ht) scale_x *= scale scale_y *= scale self.shot_generator.scale_to(scale_x, scale_y) self.fitsimage.copy_attributes(self.shot_generator, self.transfer_attrs) # snap image self.fv.error_wrap(self.shot_generator.save_rgb_image_as_file, self.tmpname, format=format) c2.delete_all_objects(redraw=False) self.shot_generator._imgobj = None self.saved_type = format img = RGBImage(logger=self.logger) img.load_file(self.tmpname) # load the snapped image into the screenshot viewer self.scrnimage.set_image(img)
def _snap_cb(self, w): """This function is called when the user clicks the 'Snap' button. """ # Clear the snap image viewer self.scrnimage.clear() self.scrnimage.redraw_now(whence=0) self.fv.update_pending() format = self.tosave_type if self._screen_size: # snap image using actual viewer self.fv.error_wrap(self.fitsimage.save_rgb_image_as_file, self.tmpname, format=format) else: # we will be using shot generator, not actual viewer. # check that shot generator size matches UI params self.check_and_adjust_dimensions() # copy background color of viewer to shot generator bg = self.fitsimage.get_bg() self.shot_generator.set_bg(*bg) # add the main canvas from channel viewer to shot generator c1 = self.fitsimage.get_canvas() c2 = self.shot_generator.get_canvas() c2.delete_all_objects(redraw=False) c2.add(c1, redraw=False) # hack to fix a few problem graphics self.shot_generator._imgobj = self.fitsimage._imgobj # scale of the shot generator should be the scale of channel # viewer multiplied by the ratio of window sizes scale_x, scale_y = self.fitsimage.get_scale_xy() c1_wd, c1_ht = self.fitsimage.get_window_size() c2_wd, c2_ht = self.shot_generator.get_window_size() scale_wd = float(c2_wd) / float(c1_wd) scale_ht = float(c2_ht) / float(c1_ht) scale = max(scale_wd, scale_ht) scale_x *= scale scale_y *= scale self.shot_generator.scale_to(scale_x, scale_y) self.fitsimage.copy_attributes(self.shot_generator, self.transfer_attrs) # snap image self.fv.error_wrap(self.shot_generator.save_rgb_image_as_file, self.tmpname, format=format) c2.delete_all_objects(redraw=False) self.shot_generator._imgobj = None self.saved_type = format img = RGBImage(logger=self.logger) img.load_file(self.tmpname) # load the snapped image into the screenshot viewer self.scrnimage.set_image(img)