Пример #1
0
    def init_ui(self):
        
        # Window creation ==================================================================
        self.setWindowTitle("MRI_GUI")
        self.setWindowIcon(QIcon(os.path.join(self.iconsDir, 'brain.png')))
        self.statusBar().showMessage('ready')

        # Menu Bar =========================================================================
        act_exit = QAction('&Exit', self)
        act_exit.setShortcut('Ctrl+Q')
        act_exit.setStatusTip('Exit application')
        act_exit.triggered.connect(self.quit_menu)

        brainsuite = QAction('&BrainSuite', self)
        brainsuite.triggered.connect(self.open_external_gui)

        dsi_studio = QAction('&dsi_studio', self)
        dsi_studio.triggered.connect(self.open_external_gui)

        freesurfer = QAction('&freeview', self)
        freesurfer.triggered.connect(self.open_external_gui)

        slicer = QAction('&Slicer', self)
        slicer.triggered.connect(self.open_external_gui)

        trackvis = QAction('&trackvis', self)
        slicer.triggered.connect(self.open_external_gui)

        menubar = self.menuBar()
        
        file_menu = menubar.addMenu('&File')
        file_menu.addAction(act_exit)

        file_menu = menubar.addMenu('&External GUIs')
        file_menu.addAction(brainsuite)
        file_menu.addAction(dsi_studio)
        file_menu.addAction(freesurfer)
        file_menu.addAction(slicer)
        file_menu.addAction(trackvis)

        # GUI layout =======================================================================
        # Base widget is the parent of each sub-widget within the GUI, it holds the files info
        self.baseWidget = BaseWidget(self)
        
        # Show Main Window
        self.setCentralWidget(self.baseWidget)

        self.resize(1600, 900)
        self.show()
Пример #2
0
    def __init__(self):
        super().__init__()

        # Subdirectories of MRI_GUI ========================================================
        # instance directory of sub-folders, they will be modifiable through the GUI
        self.dir_dic = dict()

        self.dir_dic['base_dir'] = os.path.dirname(os.path.realpath(__file__))
        self.dir_dic['icons_dir'] = os.path.join(self.dir_dic['base_dir'],
                                                 'icons')

        self.dir_dic['data_dir'] = '/mnt/data'
        self.dir_dic['templates_dir'] = '/mnt/data/templates'

        # when functions don't accept output files as options we will output by
        # default to a temporary directory and move the files
        # self.dir_dic['temp_dir'] = os.path.join('/tmp', 'MRI_temp')
        self.dir_dic['temp_dir'] = os.path.join('/mnt/data', 'MRI_temp')
        if not os.path.isdir(self.dir_dic['temp_dir']):
            os.mkdir(self.dir_dic['temp_dir'])

        # Bids Parser initialization =======================================================
        self.bids = Parser()
        self.bids.walk_path(self.dir_dic['data_dir'])

        # UI Initialization ================================================================
        # Window creation
        self.setWindowTitle("MRI_GUI")
        self.setWindowIcon(
            QIcon(os.path.join(self.dir_dic['icons_dir'], 'brain.png')))
        self.statusBar().showMessage('ready')

        # Menu Bar
        act_exit = QAction('&Exit', self)
        act_exit.setShortcut('Ctrl+Q')
        act_exit.setStatusTip('Exit application')
        act_exit.triggered.connect(self.quit_menu)

        slicer = QAction('&Slicer', self)
        slicer.triggered.connect(self.open_external_gui)

        trackvis = QAction('&trackvis', self)
        trackvis.triggered.connect(self.open_external_gui)

        menu_bar = self.menuBar()

        file_menu = menu_bar.addMenu('&File')
        file_menu.addAction(act_exit)

        file_menu = menu_bar.addMenu('&External GUIs')
        file_menu.addAction(slicer)
        file_menu.addAction(trackvis)

        # GUI layout
        # Base widget is the parent of each sub-widget within the GUI: ToolsMenu, ToolsInterface and FileNav
        # passing the directory dictionary and the bids parser handle
        self.base_widget = BaseWidget(self, self.dir_dic, self.bids)

        # Show Main Window
        self.setCentralWidget(self.base_widget)

        self.resize(1600, 900)
        self.setFixedSize(self.size())
        self.show()