def image(arr, newframe=False, tile=False): if not isOpen(): doOpen() imager = _get_win() if newframe is True: try: imager.set("frame new") imager.set("frame last") except: raise DS9Err('newframe') try: if tile is True: imager.set("tile yes") else: imager.set("tile no") except: raise DS9Err('settile') time.sleep(1) try: # pyds9 expects shape[::-1] compared to DS9.py # therefore transpose the image before sending arr = numpy.asarray(arr, dtype=SherpaFloat) imager.set_np2arr(arr.T) except: raise # DS9Err('noimage')
def delete_frames(): if not imager.isOpen(): raise DS9Err('open') try: imager.xpaset("frame delete all") return imager.xpaset("frame new") except: raise DS9Err('delframe')
def delete_frames(): if not isOpen(): raise DS9Err('open') imager = _get_win() try: imager.set("frame delete all") return imager.set("frame new") except: raise DS9Err('delframe')
def wcs(keys): if not imager.isOpen(): raise DS9Err('open') info = _set_wcs(keys) try: # use stdin to pass the WCS info imager.xpaset('wcs replace', info) except: raise DS9Err('setwcs')
def get_region(coord): if not imager.isOpen(): raise DS9Err('open') try: regionstr = "regions -format saoimage -strip yes" if (coord != ''): if (coord != 'image'): regionstr = "regions -format ciao -strip yes -system " + str( coord) else: regionstr = "regions -format saoimage -strip yes -system image" regionstr = imager.xpaget(regionstr) return regionstr except: raise DS9Err('retreg')
def get_region(coord): if not imager.isOpen(): raise DS9Err('open') try: regionstr = "regions -format saoimage -strip yes" if coord != '': if coord != 'image': regionfmt = 'ciao' else: regionfmt = 'saoimage' regionstr = "regions -format {} ".format(regionfmt) + \ "-strip yes -system {}".format(coord) regionstr = imager.xpaget(regionstr) return regionstr except: raise DS9Err('retreg')
def set_region(reg, coord): if not imager.isOpen(): raise DS9Err('open') try: # Assume a region file defines everything correctly if (access(reg, R_OK) is True): imager.xpaset("regions load " + "'" + reg + "'") else: # Assume region string has to be in CIAO format regions = reg.split(";") for region in regions: if (region != ''): if (coord != ''): imager.xpaset("regions", data=str(coord) + ";" + region) else: imager.xpaset("regions", data=region) except: raise DS9Err('badreg', str(reg))
def set_region(reg, coord): if not isOpen(): raise DS9Err('open') imager = _get_win() try: if (access(reg, R_OK) is True): imager.set("regions load " + "'" + reg + "'") else: # Assume region string has to be in CIAO format regions = reg.split(";") for region in regions: if (region != ''): if (coord != ''): imager.set("regions", str(coord) + ";" + region) else: imager.set("regions", region) except: raise DS9Err('badreg', str(reg))
def get_region(coord): if not isOpen(): raise DS9Err('open') imager = _get_win() try: regionstr = "regions -format saoimage -strip yes" if (coord != ''): if (coord != 'image'): regionstr = "regions -format ciao -strip yes -system " + str( coord) else: regionstr = "regions -format saoimage -strip yes -system image" reg = imager.get(regionstr) reg = reg.replace(';', '') return reg except: raise DS9Err('retreg')
def image(arr, newframe=False, tile=False): if not imager.isOpen(): imager.doOpen() # Create a new frame if the user requested it, *or* if # there happen to be no DS9 frames. if newframe or imager.xpaget("frame all") == "\n": try: imager.xpaset("frame new") imager.xpaset("frame last") except: raise DS9Err('newframe') try: if tile: imager.xpaset("tile yes") else: imager.xpaset("tile no") except: raise DS9Err('settile') time.sleep(1) try: imager.showArray(arr) except: raise DS9Err('noimage')
def xpaset(arg, data=None): if not imager.isOpen(): raise DS9Err('open') return imager.xpaset(arg, data)
def xpaget(arg): if not imager.isOpen(): raise DS9Err('open') return imager.xpaget(arg)
def xpaset(arg, data=None): if not isOpen(): raise DS9Err('open') imager = _get_win() return imager.set(arg, data)
def xpaget(arg): if not isOpen(): raise DS9Err('open') imager = _get_win() return imager.get(arg)