def load_fits(self, fitsorfn, numhdu=None, memmap=None): """ Load a FITS file into the viewer. Parameters ---------- fitsorfn : str or HDU Either a file name or an HDU (*not* an HDUList). If file name is given, WCS in primary header is automatically inherited. If a single HDU is given, WCS must be in the HDU header. numhdu : int or `None` Extension number of the desired HDU. If `None`, it is determined automatically. memmap : bool or `None` Memory mapping. If `None, it is determined automatically. """ if isinstance(fitsorfn, str): image = AstroImage(logger=self.logger, inherit_primary_header=True) image.load_file(fitsorfn, numhdu=numhdu, memmap=memmap) self._viewer.set_image(image) elif isinstance(fitsorfn, (fits.ImageHDU, fits.CompImageHDU, fits.PrimaryHDU)): self._viewer.load_hdu(fitsorfn)
def load(self, fitspath): # clear plotting area self.chartDev.fig.gca().cla() # load an image image = AstroImage(self.logger) image.load_file(fitspath) self.fitsimage.set_image(image) self.fitsimage.add_axes()
def load_fits(self, fitsfile): """ Load a FITS image into the viewer. """ image = AstroImage(logger=self.logger) image.load_file(fitsfile) self.viewer.set_image(image) panimage = AstroImage(logger=self.logger) panimage.load_file(fitsfile) self.panviewer.set_image(panimage)
def load(self, fitspath): self.etc.log("fplot is loading image.") try: # clear plotting area self.chartDev.fig.gca().cla() # load an image image = AstroImage() image.load_file(fitspath) self.fitsimage.set_image(image) self.fitsimage.add_axes() except Exception as e: self.etc.log(e)
def convert(filepath, outfilepath): """Convert FITS image to PDF.""" logger = logging.getLogger("example1") logger.setLevel(logging.INFO) fmt = logging.Formatter(STD_FORMAT) stderrHdlr = logging.StreamHandler() stderrHdlr.setFormatter(fmt) logger.addHandler(stderrHdlr) fi = ImageViewCairo(logger) fi.configure(500, 1000) # Load fits file image = AstroImage(logger=logger) image.load_file(filepath) # Make any adjustments to the image that we want fi.set_bg(1.0, 1.0, 1.0) fi.set_image(image) fi.auto_levels() fi.zoom_fit() fi.center_image() ht_pts = 11.0 / point_in wd_pts = 8.5 / point_in off_x, off_y = 0, 0 out_f = open(outfilepath, 'w') surface = cairo.PDFSurface(out_f, wd_pts, ht_pts) # set pixels per inch surface.set_fallback_resolution(300, 300) surface.set_device_offset(off_x, off_y) try: fi.save_image_as_surface(surface) surface.show_page() surface.flush() surface.finish() finally: out_f.close()
fi = ImageViewCanvas(logger) fi.enable_autocuts('on') fi.set_autocut_params('zscale') #fi.set_cmap(cmap.get_cmap('rainbow3')) fi.set_figure(fig) # enable all interactive ginga features fi.get_bindings().enable_all(True) # load an image if len(sys.argv) < 2: print("Please provide a FITS file on the command line") sys.exit(1) image = AstroImage(logger) image.load_file(sys.argv[1]) fi.set_image(image) #fi.rotate(45) # plot some example graphics via matplotlib # Note adding axis from ginga (mpl backend) object ax = fi.add_axes() ax.hold(True) wd, ht = image.get_size() # plot a line l = ax.plot((wd*0.33, wd*0.75), (ht*0.5, ht*0.75), 'go-', c="g", label='line1')
def load(self, filepath): image = AstroImage(logger=self.logger) image.load_file(filepath) self.set_image(image)
def load_file(path): image = AstroImage(logger) image.load_file(path) viewer.set_image(image)
def load(self, fitspath): # load an image image = AstroImage(logger=self.logger) image.load_file(fitspath) self.fitsimage.set_image(image)
fi = ImageViewCanvas(logger=logger) fi.enable_autocuts('on') fi.set_autocut_params('zscale') #fi.set_cmap(cmap.get_cmap('rainbow3')) fi.set_figure(fig) # enable all interactive ginga features fi.get_bindings().enable_all(True) # load an image if len(sys.argv) < 2: print("Please provide a FITS file on the command line") sys.exit(1) image = AstroImage(logger=logger) image.load_file(sys.argv[1]) fi.set_image(image) #fi.rotate(45) # plot some example graphics via matplotlib # Note adding axis from ginga (mpl backend) object ax = fi.add_axes() ax.hold(True) wd, ht = image.get_size() # plot a line l = ax.plot((wd * 0.33, wd * 0.75), (ht * 0.5, ht * 0.75), 'go-', c="g",
class FitsPlot: def __init__(self, chartDev, logger): self.logger = logger self.chartDev = chartDev self.fig = self.chartDev.fig self.logger.info("fplot is doing something.") self.images = [] try: # create a ginga object and tell it about the figure self.chartDev.fig.clf() fi = ImageViewCanvas(self.logger) fi.enable_autocuts('on') fi.set_autocut_params('zscale') fi.set_figure(self.chartDev.fig) fi.ui_setActive(True) self.fitsimage = fi setup_Qt(chartDev, fi) # enable all interactive features fi.get_bindings().enable_all(True) self.fitsimage = fi except Exception as e: self.logger.error(e) def get_xy(self): return self.fitsimage.get_last_data_xy() def get_data_size(self): return self.fitsimage.get_data_size() def get_data(self, point=True): try: if point: x, y = self.get_xy() w, h = self.get_data_size() if 0 < x < w and 0 < y < h: return self.fitsimage.get_data(int(x), int(y)) else: return None else: return self.fitsimage.get_data() except Exception as e: self.logger.error(e) def get_image_data(self): return self.fitsimage.get_data() def clear(self): try: self.fitsimage.clear() except Exception as e: self.logger.error(e) def load(self, fitspath): self.logger.info("fplot is loading image.") try: # clear plotting area self.chartDev.fig.gca().cla() # load an image self.image = AstroImage(logger=self.logger) self.image.load_file(fitspath) self.fitsimage.set_image(self.image) self.fitsimage.add_axes() except Exception as e: self.logger.error(e) def load_array(self, fitspath): self.chartDev.fig.gca().cla() self.images = [] for file in fitspath: self.images.append(AstroImage()) self.images[-1].load_file(file) def show_from_all(self, number): if self.images is not None: if 0 <= number < len(self.images): self.fitsimage.set_image(self.images[number]) self.fitsimage.add_axes()
def load(self, fitspath): # load an image image = AstroImage(self.logger) image.load_file(fitspath) self.fitsimage.set_image(image)
def load_file(self, filepath): from ginga.AstroImage import AstroImage image = AstroImage(ioclass=PDS4LabelHandler) image.load_file(filepath) self.pds4image.set_image(image) self.setWindowTitle(filepath)