Example #1
0
 def save_outputs_dcm_overlay(self):
     # TODO add
     logger.debug('save dcm')
     from PyQt4.QtCore import pyqtRemoveInputHook
     pyqtRemoveInputHook()
     # mport ipdb; ipdb.set_trace() # BREAKPOINT
     odp = self.output_datapath
     pth, filename = op.split(op.normpath(self.datapath))
     filename += "-" + self.experiment_caption
     # f savestring in ['ad']:
     #       save to DICOM
     filepath = 'dicom-' + filename
     filepath = os.path.join(odp, filepath)
     filepath = misc.suggest_filename(filepath)
     output_dicom_dir = filepath
     data = self.export()
     # mport ipdb; ipdb.set_trace()  # BREAKPOINT
     overlays = {
         3:
         (data['segmentation'] == self.output_label).astype(np.int8)
     }
     if self.dcmfilelist is not None:
         datawriter.saveOverlayToDicomCopy(
             self.dcmfilelist,
             output_dicom_dir, overlays,
             data['crinfo'], data['orig_shape'])
Example #2
0
def main():
    pyqtRemoveInputHook()
    QDir(QDir.homePath()).mkdir(".ricodebug")

    app = QApplication(sys.argv)
    app.setApplicationName("ricodebug")

    Icons()

    # We use all kinds of loggers here:
    # * a CriticalLogHandler that will abort the program whenever a critical error is received
    # * a FileHandler writing to a log in the home directory (all messages, for debugging)
    # * a LogViewHandler to have the log available in the GUI
    # * a ErrorLabelHandler that visually notifies the user of an error or a warning
    logger = logging.getLogger()
    formatter = logging.Formatter('[%(levelname)-8s] : %(filename)15s:%(lineno)4d/%(funcName)-20s : %(message)s')

    filehandler = logging.FileHandler(filename='%s/.ricodebug/ricodebug.log' % str(QDir.homePath()))
    filehandler.setFormatter(formatter)
    logger.addHandler(filehandler)
    logger.setLevel(logging.DEBUG)

    logger.addHandler(criticalloghandler.CriticalLogHandler())

    window = MainWindow()

    logger.addHandler(window.logviewhandler)
    logger.addHandler(window.notificationFrameHandler)

    if (len(sys.argv) > 1):
        window.debugController.openExecutable(sys.argv[1])

    window.show()
    logging.shutdown()
    sys.exit(app.exec_())
Example #3
0
def debug_trace():
    # Sets a tracepoint in the Python debugger that works with Qt
    from PyQt4.QtCore import pyqtRemoveInputHook
    from pdb import set_trace

    pyqtRemoveInputHook()
    set_trace()
Example #4
0
 def info(type, value, tb):
     from PyQt4.QtCore import pyqtRemoveInputHook
     for line in traceback.format_exception(type, value, tb):
         sys.stdout.write(line)
     pyqtRemoveInputHook()
     from pdb import pm
     pm()
Example #5
0
    def set_trace():
        from PyQt4.QtCore import pyqtRemoveInputHook

        pyqtRemoveInputHook()
        import pdb

        pdb.Pdb().set_trace(sys._getframe().f_back)
Example #6
0
 def debug_after(*args, **kwargs):
     try:
         return func(*args, **kwargs)
     except Exception,e:
         from PyQt4.QtCore import pyqtRemoveInputHook
         pyqtRemoveInputHook()
         import pdb;pdb.set_trace()
Example #7
0
def debug_trace(break_to = "ipy", use_globals = True):
  """ Set a tracepoint in the Python debugger that works with Qt (tested
  on pyqt and pyside 1.0.7)
  """
  from PyQt4.QtCore import pyqtRemoveInputHook
  from IPython import embed
  from pdb import set_trace

  # Get the locals and globals dict from the location where this function
  # was called.
  import sys
  previous_frame = sys._getframe(1)
  l = previous_frame.f_locals
  if use_globals:
      g = previous_frame.f_globals
      namespace = g
  else:
      namespace = {}
  namespace.update(l)
  # Stop the QT check for gui event loop and put the break point
  pyqtRemoveInputHook()
  if break_to == "ipy":
      embed(user_ns=namespace)
  else:
      set_trace()
def _rls_to_pyd(r_ls):
    # base case is that the type is a native python type, rather
    # than an Rvector
    d = {}

    for name, val in zip(r_ls.getnames(), r_ls):
        try:
            # first check the key
            if str(name) != "NULL":
                print name
                print type(name)
                if "rpy2.robjects" in str(type(name)):
                    name = str(name[0])
                if not "rpy2.robjects" in str(type(val)):
                    # base case; not an rtype object
                    d[name] = val
                elif str(val)=="NULL":
                    d[name] = None
                elif str(val.getnames())=="NULL":
                    d[name] = val[0]
                else:
                    d[name] = _rls_to_pyd(val)
                if not isinstance(name, str):
                    raise Exception, "arg"
            else:
                # name is null
                return val

        except Exception,  inst:
            print inst
            pyqtRemoveInputHook()
            pdb.set_trace()
Example #9
0
 def fout(*args,**kwargs):
   logger.info('Temporarily disabling figure interactivity')
   pyqtRemoveInputHook()
   out = fin(*args,**kwargs)
   pyqtRestoreInputHook()
   logger.info('Figure interactivity has been restored')
   return out
Example #10
0
 def dev_mode(back):
     # Help -> Developer Help
     steal_again = back.front.return_stdout()
     hs = back.hs    # NOQA
     front = back.front
     wasBlocked = front.blockSignals(True)
     devmode = True  # NOQA
     print(helpers.indent(str(hs), '[*back.hs] '))
     rrr()
     print(r'[\back] finished dev_help')
     #app = back.app
     #from PyQt4 import QtGui
     #QtGui.qApp.quit()
     #app.exit()  # Stop the main loop
     #app.quit()
     #if back.timer is not None:
     from PyQt4.QtCore import pyqtRemoveInputHook
     pyqtRemoveInputHook()
     #from IPython.lib.inputhook import enable_qt4
     #enable_qt4()
     execstr = helpers.ipython_execstr()
     #print(execstr)
     print('Debugging in IPython. IPython will break gui until you exit')
     exec(execstr)
     if steal_again:
         back.front.steal_stdout()
     back.front.blockSignals(wasBlocked)
Example #11
0
def debug_trace():
  '''Set a tracepoint in the Python debugger that works with Qt'''
  if pyqt:
      from PyQt4.QtCore import pyqtRemoveInputHook
  from pdb import set_trace
  if pyqt:
      pyqtRemoveInputHook()
  set_trace()
def pdb(debug=False):
    print traceback.print_exc()
    if debug:
        from PyQt4.QtCore import pyqtRemoveInputHook
        import pdb

        pyqtRemoveInputHook()
        pdb.set_trace()
Example #13
0
File: main.py Project: LBdN/labs
def debug_trace(trigger=False):
  '''Set a tracepoint in the Python debugger that works with Qt'''
  if  trigger:
      return
  from PyQt4.QtCore import pyqtRemoveInputHook
  from pdb          import set_trace
  pyqtRemoveInputHook()
  set_trace()
Example #14
0
def debug_trace():
    """
    Set a tracepoint in the Python debugger that works with Qt
    :return: None
    """
    from PyQt4.QtCore import pyqtRemoveInputHook
    #from pdb import set_trace
    pyqtRemoveInputHook()
Example #15
0
 def debug_trace(self, *args):
     '''Set a tracepoint in the Python debugger that works with Qt'''
     try:
         from PyQt4.QtCore import pyqtRemoveInputHook
         pyqtRemoveInputHook()
     except ImportError:
         pass
     self.set_trace(sys._getframe().f_back)
Example #16
0
def main():
    pyqtRemoveInputHook()
    os.environ['LANG'] = "en_EN.UTF-8"
    app = QtGui.QApplication(sys.argv)
    app.setStyle('Windows')  # 'Windows', 'Motif', 'CDE',
    # 'Plastique', 'GTK+', 'Cleanlooks'
    mainform = MainForm(app)
    mainform.show()
    app.exec_()
Example #17
0
def _enable_pdb():  # pragma: no cover
    from IPython.core import ultratb
    logger.debug("Enabling debugger.")
    from PyQt4.QtCore import pyqtRemoveInputHook
    pyqtRemoveInputHook()
    sys.excepthook = ultratb.FormattedTB(mode='Verbose',
                                         color_scheme='Linux',
                                         call_pdb=True,
                                         )
Example #18
0
def pyqt_set_trace():
    pyqtRemoveInputHook()

    debugger = pdb.Pdb()
    debugger.reset()

    debugger.do_next(None)
    users_frame = sys._getframe().f_back
    debugger.interaction(users_frame, None)
Example #19
0
def set_trace():
    pyqtRemoveInputHook()
    # set up the debugger
    debugger = pdb.Pdb()
    debugger.reset()
    # custom next to get outside of function scope
    debugger.do_next(None) # run the next command
    users_frame = sys._getframe().f_back # frame where the user invoked `pyqt_set_trace()`
    debugger.interaction(users_frame, None)
Example #20
0
def debug_trace():
    """Set a tracepoint in the Python debugger that works with Qt."""
    if py_binding == 'PyQt4':
        from PyQt4.QtCore import pyqtRemoveInputHook
    elif py_binding == 'PySide':
        from PySide.QtCore import pyqtRemoveInputHook
    from pdb import set_trace
    pyqtRemoveInputHook()
    set_trace()
 def get_display_effect(self, effect, group_str):
     try:
         if "display_est" in self.effects_dict[effect][group_str]:
             return self.effects_dict[effect][group_str]["display_est"]
         else:
             return None
     except:
         pyqtRemoveInputHook()
         pdb.set_trace()
Example #22
0
def create_widget():
    argv = sys.argv
    
    pyqtRemoveInputHook()
    window = IPythonWidget()
    window.embed_ipython()
    
    window.show()
    return window
Example #23
0
 def run_debug(self, event):
     """
     Stop processing and start debugger in console. Function started by
     pressing "Debug" button wich is availeble after starting Lisa with
     -d parameter.
     """
     logger.debug('== Starting debug mode, leave it with command "c" =')
     from PyQt4.QtCore import pyqtRemoveInputHook
     pyqtRemoveInputHook()
     import ipdb; ipdb.set_trace()  # noqa BREAKPOINT
Example #24
0
def ipdb_set_trace():
    '''ipdb version'''
    try:
        import ipdb
    except ImportError:
        pass
    else:
        pyqtRemoveInputHook()
        ipdb.set_trace(sys._getframe(1))
        pyqtRestoreInputHook()
Example #25
0
def qt4_pdb(ipython=True):
  '''Set a tracepoint in the Python debugger that works with Qt'''
  from PyQt4.QtCore import pyqtRemoveInputHook
  pyqtRemoveInputHook()
  if ipython:
      from IPython.core.debugger import Tracer
      return Tracer(colors='Linux')
  else:
      from pdb import set_trace
      return set_trace
Example #26
0
    def get_config_as_dict(self):
        dictionary = self.config.as_dict()
        for key, value in dictionary.iteritems():
            from PyQt4.QtCore import pyqtRemoveInputHook
            pyqtRemoveInputHook()
            # import ipdb; ipdb.set_trace() #  noqa BREAKPOINT
            if type(value) == PyQt4.QtCore.QString:
                value = str(value)
            dictionary[key] = value

        return dictionary
Example #27
0
def pyqt_trace():
    '''Set a tracepoint in the Python debugger that works with Qt'''
    from PyQt4.QtCore import pyqtRemoveInputHook
    import pdb
    import sys
    pyqtRemoveInputHook()
    # set up the debugger
    debugger = pdb.Pdb()
    debugger.reset()
    # custom next to get outside of function scope
    debugger.do_next(None) # run the next command
    users_frame = sys._getframe().f_back # frame where the user invoked `pyqt_set_trace()`
    debugger.interaction(users_frame, None)
Example #28
0
def main():
    pyqtRemoveInputHook()
    QDir(QDir.homePath()).mkdir(".ricodebug")

    app = QApplication(sys.argv)
    app.setApplicationName("ricodebug")
    window = None
    Logger.getInstance().init("logfile", window)
    window = MainWindow()
    if (len(sys.argv) > 1):
        window.debug_controller.openExecutable(sys.argv[1])

    window.show()
    sys.exit(app.exec_())
Example #29
0
def set_trace(frame=None):
    '''
    Set a tracepoint in the Python debugger that works with Qt
    Taken from:
    http://stackoverflow.com/questions/1736015/debugging-a-pyqt4-app
    '''
    from PyQt4.QtCore import pyqtRemoveInputHook
    try:
        from ipdb import set_trace
    except ImportError:
        from pdb import set_trace
    pyqtRemoveInputHook()
    if frame is None:
        frame = sys._getframe().f_back
    return set_trace(frame)
Example #30
0
def debug_start():
    '''pdb.set_trace wrapper

    Notes
    -----
    Basically to handle Qt debugging. This allows
    Qt apps to be debugged without issue with the
    event loop.

    Simply use this function instead of pdb.set_trace()

    But, also see debug_stop.
    '''

    from pdb import set_trace
    try:
        from PyQt4.QtCore import pyqtRemoveInputHook
        pyqtRemoveInputHook()
    except NameError:
        pass
    set_trace()
Example #31
0
def debug():
    from PyQt4.QtCore import pyqtRemoveInputHook
    from pdb import set_trace
    pyqtRemoveInputHook()
    set_trace()
Example #32
0
def debug_trace():
    '''Set a tracepoint in the Python debugger that works with Qt'''
    from PyQt4.QtCore import pyqtRemoveInputHook
    from pdb import set_trace
    pyqtRemoveInputHook()
    set_trace()
Example #33
0
def pdb(locals):
    pyqtRemoveInputHook()
    import pdb
    pdb.set_trace()