コード例 #1
0
ファイル: Zoom.py プロジェクト: astrofrog/ginga
    def showxy(self, fitsimage, data_x, data_y):
        # Cut and show zoom image in zoom window
        self.zoom_x, self.zoom_y = data_x, data_y

        image = fitsimage.get_image()
        if image == None:
            # No image loaded into this channel
            return True

        # If this is a new source, then update our widget with the
        # attributes of the source
        if self.fitsimage_focus != fitsimage:
            self.focus_cb(self.fv, fitsimage)

        # Cut out and show the zoom detail
        #self.showzoom(image, data_x, data_y)
        try:
            self.zoomtask.stop()
        except:
            pass
        self.zoomtask = QtCore.QTimer()
        self.zoomtask.setSingleShot(True)
        self.zoomtask.timeout.connect(
            lambda: self.showzoom(image, data_x, data_y))
        self.zoomtask.start(self.lagtime)
        return True
コード例 #2
0
ファイル: FitsImageQt.py プロジェクト: astrofrog/ginga
    def __init__(self, logger=None, settings=None, render=None):
        #super(FitsImageQt, self).__init__(logger=logger, settings=settings)
        FitsImage.FitsImageBase.__init__(self,
                                         logger=logger,
                                         settings=settings)

        if render == None:
            render = 'widget'
        self.wtype = render
        if self.wtype == 'widget':
            self.imgwin = RenderWidget()
        elif self.wtype == 'scene':
            self.scene = QtGui.QGraphicsScene()
            self.imgwin = RenderGraphicsView(self.scene)
        else:
            raise FitsImageQtError("Undefined render type: '%s'" % (render))
        self.imgwin.fitsimage = self
        self.pixmap = None

        self.message = None
        self.msgtimer = QtCore.QTimer()
        # QtCore.QObject.connect(self.msgtimer, QtCore.SIGNAL("timeout()"),
        #                        self.onscreen_message_off)
        self.msgtimer.timeout.connect(self.onscreen_message_off)
        self.msgfont = QtGui.QFont('Sans Serif', pointSize=24)
        self.set_bg(0.5, 0.5, 0.5, redraw=False)
        self.set_fg(1.0, 1.0, 1.0, redraw=False)

        # cursors
        self.cursor = {}

        # optimization of redrawing
        self.defer_redraw = True
        self.defer_lagtime = 25
        self._defer_whence = 0
        self._defer_lock = threading.RLock()
        self._defer_flag = False
        # self._defer_task = None
        self._defer_task = QtCore.QTimer()
        self._defer_task.setSingleShot(True)
        self._defer_task.timeout.connect(self._redraw)

        self.t_.setDefaults(show_pan_position=False)
コード例 #3
0
ファイル: Thumbs.py プロジェクト: astrofrog/ginga
 def redo_delay(self, fitsimage):
     # Delay regeneration of thumbnail until most changes have propagated
     try:
         self.thmbtask.stop()
     except:
         pass
     self.thmbtask = QtCore.QTimer()
     self.thmbtask.setSingleShot(True)
     self.thmbtask.timeout.connect(lambda: self.redo_thumbnail(fitsimage))
     self.thmbtask.start(self.lagtime)
     #print "added delay task..."
     return True
コード例 #4
0
    def __init__(self, logger=None, rgbmap=None, settings=None, render=None):
        ImageView.ImageViewBase.__init__(self,
                                         logger=logger,
                                         rgbmap=rgbmap,
                                         settings=settings)

        if render == None:
            render = 'widget'
        self.wtype = render
        if self.wtype == 'widget':
            self.imgwin = RenderWidget()
        elif self.wtype == 'scene':
            self.scene = QtGui.QGraphicsScene()
            self.imgwin = RenderGraphicsView(self.scene)
        else:
            raise ImageViewQtError("Undefined render type: '%s'" % (render))
        self.imgwin.fitsimage = self
        self.pixmap = None
        # Qt expects 32bit BGRA data for color images
        self._rgb_order = 'BGRA'

        self.t_.setDefaults(show_pan_position=False, onscreen_ff='Sans Serif')

        self.message = None
        self.msgtimer = QtCore.QTimer()
        self.msgtimer.timeout.connect(self.onscreen_message_off)
        self.msgfont = QFont(self.t_['onscreen_ff'], pointSize=24)
        self.set_bg(0.5, 0.5, 0.5, redraw=False)
        self.set_fg(1.0, 1.0, 1.0, redraw=False)

        # cursors
        self.cursor = {}

        # For optomized redrawing
        self._defer_task = QtCore.QTimer()
        self._defer_task.setSingleShot(True)
        self._defer_task.timeout.connect(self.delayed_redraw)