Example #1
0
    def updateContents(self, inputPorts):
        """ Get the vcs canvas, setup the cell's layout, and plot """        
        spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
        spreadsheetWindow.setUpdatesEnabled(False)

        # Set the canvas
        self.canvas = inputPorts[0]
        if self.canvas is None:
            self.canvas = vcs.init()
        self.canvas.clear()

        # Place the mainwindow that the plot will be displayed in, into this
        # cell widget's layout
        self.window = VCSQtManager.window(self.windowIndex)
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.window)
        self.setLayout(layout)        

        # Plot
        if len(inputPorts) > 2:
            args = inputPorts[1]
            kwargs = inputPorts[2]
            self.canvas.plot(*args, **kwargs)

        spreadsheetWindow.setUpdatesEnabled(True)
Example #2
0
    def __init__(self, name, server, serverPort, x, y, width, height ):
        """__init__() -> None
        initializes the client class"""


        QtCore.QObject.__init__(self)

        self.timer = QtCore.QTimer(self)
        self.timer.setSingleShot(True)
        self.timer.setInterval(1000)
        self.timer.start()
        self.socket = QTcpSocket()
        self.current_pipeline = None
        self.current_config_function = None  

        self.server = server # os.environ.get( 'DV3D_HW_SERVER_NAME', server )
        self.serverPort = int(serverPort)

        self.buffer = ""
        self.pipelineQueue = []
        current_pipeline = None

        self.deviceName = name
        self.currentTab = None
        self.mainWindow = None
        print " Init VisClient, server=%s, serverPort=%s, name=%s " % ( str(self.server), str(self.serverPort), str(name) )

        self.spreadsheetWindow = spreadsheetController.findSpreadsheetWindow( False )
        self.spreadsheetWindow.setWindowFlags( self.spreadsheetWindow.windowFlags() | QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.Window )
#        self.spreadsheetWindow.setWindowFlags( self.spreadsheetWindow.windowFlags() | QtCore.Qt.Window )
        self.spreadsheetWindow.activateWindow()
        self.spreadsheetWindow.showMaximized()
        
        self.dimensions = ( x, y, width, height )
        self.connectSignals()       
Example #3
0
    def updateContents(self, inputPorts):
        """ Get the vcs canvas, setup the cell's layout, and plot """
        spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
        spreadsheetWindow.setUpdatesEnabled(False)

        # Set the canvas
        self.canvas = inputPorts[0]
        if self.canvas is None:
            self.canvas = vcs.init()
        self.canvas.clear()

        # Place the mainwindow that the plot will be displayed in, into this
        # cell widget's layout
        self.window = VCSQtManager.window(self.windowIndex)
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.window)
        self.setLayout(layout)

        # Plot
        if len(inputPorts) > 2:
            args = inputPorts[1]
            kwargs = inputPorts[2]
            self.canvas.plot(*args, **kwargs)

        spreadsheetWindow.setUpdatesEnabled(True)
Example #4
0
def maximizeSpreadsheet():
    from packages.spreadsheet.spreadsheet_controller import spreadsheetController
    spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
#    spreadsheetWindow.show()
#    spreadsheetWindow.activateWindow()
#    spreadsheetWindow.raise_()
    tabControllerStack = spreadsheetWindow.tabControllerStack
    spreadsheetWindow.stackedCentralWidget.removeWidget ( tabControllerStack )
    tabControllerStack.showMaximized()
Example #5
0
def getSheetTabWidget(sheet_index=-1):
    from packages.spreadsheet.spreadsheet_controller import spreadsheetController

    spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
    if sheet_index == -1:
        try:
            sheet_index = spreadsheetWindow.get_current_tab_controller().currentIndex()
        except:
            return None
    return spreadsheetWindow.get_current_tab_controller().tabWidgets[sheet_index]
Example #6
0
 def __init__(self, parent=None):
     super(Workspace, self).__init__(parent)
     self.root=parent.root
     self.viewToItem = {}
     self.numProjects = 1
     self.setupUi(self)
     self.spreadsheetWindow = spreadsheetController.findSpreadsheetWindow(
                                                             show=False)
     self.connectSignals()
     self.currentProject = None
     self.current_controller = None
Example #7
0
 def compute(self):
     """ compute() -> None
     Dispatch SVG file into the spreadshet for display
     """
     if self.hasInputFromPort("File"):
         window = spreadsheetController.findSpreadsheetWindow()
         file_to_display = self.getInputFromPort("File")
         fileValue = window.file_pool.make_local_copy(file_to_display.name)
     else:
         fileValue = None
     self.display(SVGCellWidget, (fileValue,))
Example #8
0
 def __init__(self, parent=None):
     super(Workspace, self).__init__(parent)
     self.root = parent.root
     self.viewToItem = {}
     self.numProjects = 1
     self.setupUi(self)
     self.spreadsheetWindow = spreadsheetController.findSpreadsheetWindow(
         show=False)
     self.connectSignals()
     self.currentProject = None
     self.current_controller = None
Example #9
0
def getSheetTabWidget(sheet_index=-1):
    from packages.spreadsheet.spreadsheet_controller import spreadsheetController
    spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
    if sheet_index == -1:
        try:
            sheet_index = spreadsheetWindow.get_current_tab_controller(
            ).currentIndex()
        except:
            return None
    return spreadsheetWindow.get_current_tab_controller(
    ).tabWidgets[sheet_index]
 def compute(self):
     """ compute() -> None
     Dispatch the display event to the spreadsheet with images and labels
     
     """
     if self.hasInputFromPort("File"):
         window = spreadsheetController.findSpreadsheetWindow()
         file_to_display = self.getInputFromPort("File")
         fileValue = window.file_pool.make_local_copy(file_to_display.name)
     else:
         fileValue = None
     self.cellWidget = self.displayAndWait(ImageViewerCellWidget, (fileValue, ))
Example #11
0
 def compute(self):
     """ compute() -> None
     Dispatch the display event to the spreadsheet with images and labels
     
     """
     if self.hasInputFromPort("File"):
         window = spreadsheetController.findSpreadsheetWindow()
         file_to_display = self.getInputFromPort("File")
         fileValue = window.file_pool.make_local_copy(file_to_display.name)
     else:
         fileValue = None
     self.cellWidget = self.displayAndWait(ImageViewerCellWidget,
                                           (fileValue, ))
Example #12
0
    def updateContents(self, inputPorts):
        """ Get the vcs canvas, setup the cell's layout, and plot """
        spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
        spreadsheetWindow.setUpdatesEnabled(False)

        # Set the canvas
        if inputPorts[0] is not None:
            self.canvas = inputPorts[0]
        if self.canvas is None:
            try:
                self.createCanvas()
            except ModuleError, e:
                spreadsheetWindow.setUpdatesEnabled(True)
                raise e
Example #13
0
    def updateContents(self, inputPorts):
        """ Get the vcs canvas, setup the cell's layout, and plot """        
        spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
        spreadsheetWindow.setUpdatesEnabled(False)

        # Set the canvas
        if inputPorts[0] is not None:
            self.canvas = inputPorts[0]
        if self.canvas is None:
            try:
                self.createCanvas()
            except ModuleError, e:
                spreadsheetWindow.setUpdatesEnabled(True)
                raise e
Example #14
0
    def compute(self):
        """ compute() -> None
        Dispatch the display event to the spreadsheet with images and labels
        
        """
        if self.hasInputFromPort("ModelWorkspace"):
            window = spreadsheetController.findSpreadsheetWindow()
            model_workspace = self.getInputFromPort("ModelWorkspace").name
            model_dir_full = os.path.normcase(
                os.path.split(model_workspace)[0])
            model_dir = os.path.split(model_dir_full)[1]
            model_name = model_dir[:model_dir.index('output')]

            #            prob_map_path = os.path.join(model_dir_full, model_name + '_prob_map.jpeg')
            #            prob_map = window.file_pool.make_local_copy(prob_map_path)

            auc_graph_path = os.path.join(model_dir_full,
                                          model_name + '_auc_plot.jpg')
            auc_graph = window.file_pool.make_local_copy(auc_graph_path)

            text_output_path = os.path.join(model_dir_full,
                                            model_name + '_output.txt')
            text_output = window.file_pool.make_local_copy(text_output_path)

            response_path = os.path.join(model_dir_full,
                                         model_name + '_response_curves.pdf')
            response_curves = window.file_pool.make_local_copy(response_path)

            model_label = model_dir.capitalize().replace('output', 'Output')

            if self.hasInputFromPort("row"):
                if not self.location:
                    self.location = CellLocation()
                self.location.row = self.getInputFromPort('row') - 1

            if self.hasInputFromPort("column"):
                if not self.location:
                    self.location = CellLocation()
                self.location.col = self.getInputFromPort('column') - 1

        else:
            fileValue = None
        self.cellWidget = self.displayAndWait(
            SAHMOutputViewerCellWidget,
            (auc_graph, text_output, response_curves, model_label))
Example #15
0
    def compute(self):
        """ compute() -> None
        Dispatch the display event to the spreadsheet with images and labels
        
        """
        if self.hasInputFromPort("ModelWorkspace"):
            window = spreadsheetController.findSpreadsheetWindow()
            model_workspace = self.getInputFromPort("ModelWorkspace").name
            model_dir_full = os.path.normcase(os.path.split(model_workspace)[0])
            model_dir = os.path.split(model_dir_full)[1]
            model_name = model_dir[:model_dir.index('output')]
            
#            prob_map_path = os.path.join(model_dir_full, model_name + '_prob_map.jpeg')
#            prob_map = window.file_pool.make_local_copy(prob_map_path)
            
            auc_graph_path = os.path.join(model_dir_full, model_name + '_auc_plot.jpg')
            auc_graph = window.file_pool.make_local_copy(auc_graph_path)
            
            text_output_path = os.path.join(model_dir_full, model_name + '_output.txt')
            text_output = window.file_pool.make_local_copy(text_output_path)
            
            response_path = os.path.join(model_dir_full, model_name + '_response_curves.pdf')
            response_curves = window.file_pool.make_local_copy(response_path)
            
            model_label = model_dir.capitalize().replace('output', 'Output')
            
            
            if self.hasInputFromPort("row"):
                if not self.location:
                    self.location = CellLocation()
                self.location.row = self.getInputFromPort('row') - 1
            
            if self.hasInputFromPort("column"):
                if not self.location:
                    self.location = CellLocation()
                self.location.col = self.getInputFromPort('column') - 1
            
        else:
            fileValue = None
        self.cellWidget = self.displayAndWait(SAHMOutputViewerCellWidget, (auc_graph, 
                                                                      text_output,
                                                                      response_curves,
                                                                      model_label))
Example #16
0
    def compute(self):
        args = []
        if not self.hasInputFromPort('dataset'):
            raise ModuleError(self, "'dataset' is mandatory.")
        if not self.hasInputFromPort('plot'):
            raise ModuleError(self, "'plot' is mandatory.")

        dataset = self.getInputFromPort('dataset')
        plotType = self.getInputFromPort('plot')
        axes = self.forceGetInputFromPort('axes')
        inCanvas = self.forceGetInputFromPort('canvas')

        if axes!=None:
            try:
                kwargs = eval(axes)
            except:
                raise ModuleError(self, "Invalid 'axes' specification", axes)
            dataset = dataset(**kwargs)

        outCanvas = None
        if inCanvas!=None:
            inCanvas.plot(dataset, 'ASD', plotType)
            outCanvas = inCanvas
        else:
            ev = DisplayCellEvent()
            ev.vistrail = {'locator': None, 'version': -1, 'actions': []}
            ev.cellType = QCDATWidget
            ev.inputPorts = (dataset, 'ASD', plotType)
            
            QtCore.QCoreApplication.processEvents()
            spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()
            
            cdatWidget = spreadsheetWindow.displayCellEvent(ev)
            if cdatWidget!=None:
                outCanvas = cdatWidget.canvas
                
        self.setResult('dataset', dataset)
        self.setResult('canvas', outCanvas)
Example #17
0
    def compute(self):
        args = []
        if not self.hasInputFromPort('dataset'):
            raise ModuleError(self, "'dataset' is mandatory.")
        if not self.hasInputFromPort('plot'):
            raise ModuleError(self, "'plot' is mandatory.")

        dataset = self.getInputFromPort('dataset')
        plotType = self.getInputFromPort('plot')
        axes = self.forceGetInputFromPort('axes')
        inCanvas = self.forceGetInputFromPort('canvas')

        if axes != None:
            try:
                kwargs = eval(axes)
            except:
                raise ModuleError(self, "Invalid 'axes' specification", axes)
            dataset = dataset(**kwargs)

        outCanvas = None
        if inCanvas != None:
            inCanvas.plot(dataset, 'ASD', plotType)
            outCanvas = inCanvas
        else:
            ev = DisplayCellEvent()
            ev.vistrail = {'locator': None, 'version': -1, 'actions': []}
            ev.cellType = QCDATWidget
            ev.inputPorts = (dataset, 'ASD', plotType)

            QtCore.QCoreApplication.processEvents()
            spreadsheetWindow = spreadsheetController.findSpreadsheetWindow()

            cdatWidget = spreadsheetWindow.displayCellEvent(ev)
            if cdatWidget != None:
                outCanvas = cdatWidget.canvas

        self.setResult('dataset', dataset)
        self.setResult('canvas', outCanvas)
Example #18
0
    def __init__(self, name, server, serverPort, x, y, width, height):
        """__init__() -> None
        initializes the client class"""

        QtCore.QObject.__init__(self)

        self.timer = QtCore.QTimer(self)
        self.timer.setSingleShot(True)
        self.timer.setInterval(1000)
        self.timer.start()
        self.socket = QTcpSocket()
        self.current_pipeline = None
        self.current_config_function = None

        self.server = server  # os.environ.get( 'DV3D_HW_SERVER_NAME', server )
        self.serverPort = int(serverPort)

        self.buffer = ""
        self.pipelineQueue = []
        current_pipeline = None

        self.deviceName = name
        self.currentTab = None
        self.mainWindow = None
        print " Init VisClient, server=%s, serverPort=%s, name=%s " % (str(
            self.server), str(self.serverPort), str(name))

        self.spreadsheetWindow = spreadsheetController.findSpreadsheetWindow(
            False)
        self.spreadsheetWindow.setWindowFlags(
            self.spreadsheetWindow.windowFlags()
            | QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.Window)
        #        self.spreadsheetWindow.setWindowFlags( self.spreadsheetWindow.windowFlags() | QtCore.Qt.Window )
        self.spreadsheetWindow.activateWindow()
        self.spreadsheetWindow.showMaximized()

        self.dimensions = (x, y, width, height)
        self.connectSignals()
Example #19
0
 def embedSpreadsheet(self):
     self.spreadsheetWindow = spreadsheetController.findSpreadsheetWindow(show=False)
     self.setCentralWidget(self.spreadsheetWindow)
     self.spreadsheetWindow.setVisible(True)
Example #20
0
 def embedSpreadsheet(self):
     self.spreadsheetWindow = spreadsheetController.findSpreadsheetWindow(
         show=False)
     self.setCentralWidget(self.spreadsheetWindow)
     self.spreadsheetWindow.setVisible(True)
Example #21
0
    def compute(self):
        """ compute() -> None
        Dispatch the display event to the spreadsheet with images and labels
        
        """
        if self.hasInputFromPort("ModelWorkspace") and \
            utils.checkIfModelFinished(self.getInputFromPort("ModelWorkspace").name):
            window = spreadsheetController.findSpreadsheetWindow()
            model_workspace = self.getInputFromPort("ModelWorkspace").name

            model_dir_full = os.path.normcase(model_workspace)
            model_dir = os.path.split(model_dir_full)[1]
            model_name = model_dir[:model_dir.index('_')]
            auc_graph_path = self.findFile(model_dir_full, '_modelEvalPlot.jpg')#os.path.join(model_dir_full, model_name + '_modelEvalPlot.jpg')
            if os.path.exists(auc_graph_path):
                auc_graph = window.file_pool.make_local_copy(auc_graph_path)
            
            text_output_path = self.findFile(model_dir_full, '_output.txt')#os.path.join(model_dir_full, model_name + '_output.txt')
            if os.path.exists(text_output_path):
                text_output = window.file_pool.make_local_copy(text_output_path)
            
            response_directory = os.path.join(model_dir_full,'responseCurves')
            if os.path.exists(response_directory):
                responseCurveFiles = os.listdir(response_directory)
                response_curves = []
                for response_curve in responseCurveFiles:
                    if response_curve != "Thumbs.db":  #Windows grief
                        response_curves.append(os.path.join(response_directory, response_curve))
            else:
                response_curves = []
            
            calibration_graph_path = self.findFile(model_dir_full, '_CalibrationPlot.jpg')#os.path.join(model_dir_full, model_name + '_CalibrationPlot.jpg')
            if os.path.exists(calibration_graph_path):
                calibration_graph = window.file_pool.make_local_copy(calibration_graph_path)
            
            confusion_graph_path = self.findFile(model_dir_full, '.confusion.matrix.jpg')#os.path.join(model_dir_full, model_name + '.confusion.matrix.jpg')
            if os.path.exists(confusion_graph_path):
                confusion_graph = window.file_pool.make_local_copy(confusion_graph_path)
            
            residuals_graph_path = self.findFile(model_dir_full, '.resid.plot.jpg')#os.path.join(model_dir_full, model_name + '.resid.plot.jpg')
            if os.path.exists(residuals_graph_path):
                residuals_graph = window.file_pool.make_local_copy(residuals_graph_path)
            
            variable_imp_path = self.findFile(model_dir_full, '_variable.importance.jpg')#os.path.join(model_dir_full, model_name + '_variable.importance.jpg')
            if os.path.exists(variable_imp_path):
                variable_graph = window.file_pool.make_local_copy(variable_imp_path)
                
            model_label = model_dir.capitalize().replace('output', 'Output')
            
            
            if self.hasInputFromPort("row"):
                if not self.location:
                    self.location = CellLocation()
                self.location.row = self.getInputFromPort('row') - 1
            
            if self.hasInputFromPort("column"):
                if not self.location:
                    self.location = CellLocation()
                self.location.col = self.getInputFromPort('column') - 1
                
            if self.hasInputFromPort('InitialModelOutputDisplay'):
                initial_display = self.getInputFromPort('InitialModelOutputDisplay')
            else:
                initial_display = 'AUC'

            self.cellWidget = self.displayAndWait(SAHMOutputViewerCellWidget, (auc_graph, 
                                                                          text_output,
                                                                          response_curves,
                                                                          calibration_graph,
                                                                          confusion_graph,
                                                                          residuals_graph,
                                                                          variable_graph,
                                                                          model_label,
                                                                          initial_display))
        else:
            fileValue = None