def add_saving_panel(self, row): """ Saving/Export panel """ self.save_data_panel = QGroupBox() self.save_data_layout = QGridLayout() self.export_button = add_button( "To brainrender", self.save_data_layout, self.export_to_brainrender, 0, 0, visibility=False, ) self.save_button = add_button("Save", self.save_data_layout, self.save, 0, 1, visibility=False) self.save_data_layout.setColumnMinimumWidth(1, COLUMN_WIDTH) self.save_data_panel.setLayout(self.save_data_layout) self.layout.addWidget(self.save_data_panel, row, 0, 1, 2) self.save_data_panel.setVisible(False)
def add_loading_panel(self, row, column=0): """ Loading panel: - Load project (sample space) - Load project (atlas space) - Atlas chooser """ self.load_data_panel = QGroupBox("Load data") self.load_data_layout = QGridLayout() self.load_data_layout.setSpacing(15) self.load_data_layout.setContentsMargins(10, 10, 10, 10) self.load_data_layout.setAlignment(QtCore.Qt.AlignBottom) self.load_button = add_button( "Load project (sample space)", self.load_data_layout, self.load_brainreg_directory_sample, 0, 0, visibility=False, minimum_width=COLUMN_WIDTH, alignment=LOADING_PANEL_ALIGN, ) self.load_button_standard = add_button( "Load project (atlas space)", self.load_data_layout, self.load_brainreg_directory_standard, 1, 0, visibility=False, minimum_width=COLUMN_WIDTH, alignment=LOADING_PANEL_ALIGN, ) self.add_atlas_menu(self.load_data_layout) self.load_data_layout.setColumnMinimumWidth(0, COLUMN_WIDTH) self.load_data_panel.setLayout(self.load_data_layout) self.load_data_panel.setVisible(True) self.layout.addWidget(self.load_data_panel, row, column, 1, 1) # buttons made visible after adding to main widget, preventing them # from briefly appearing in a separate window self.load_button.setVisible(True) self.load_button_standard.setVisible(True)
def add_loading_panel(self, row, column=0): """ Loading panel: - Load project (sample space) - Load project (atlas space) - Atlas chooser """ self.load_data_panel = QGroupBox("Load data") self.load_data_layout = QGridLayout() self.load_data_layout.setSpacing(15) self.load_data_layout.setContentsMargins(10, 10, 10, 10) self.load_data_layout.setAlignment(QtCore.Qt.AlignBottom) self.load_button = add_button( "Load project (sample space)", self.load_data_layout, self.load_brainreg_directory_sample, 0, 0, minimum_width=COLUMN_WIDTH, alignment=LOADING_PANEL_ALIGN, ) self.load_button_standard = add_button( "Load project (atlas space)", self.load_data_layout, self.load_brainreg_directory_standard, 1, 0, minimum_width=COLUMN_WIDTH, alignment=LOADING_PANEL_ALIGN, ) self.add_atlas_menu(self.load_data_layout) self.load_data_layout.setColumnMinimumWidth(0, COLUMN_WIDTH) self.load_data_panel.setLayout(self.load_data_layout) self.load_data_panel.setVisible(True) self.layout.addWidget(self.load_data_panel, row, column, 1, 1)
def add_segmentation_methods_panel(self, row, column=1): """ Segmentation methods chooser panel: Toggle visibility of segmentation methods """ self.toggle_methods_panel = QGroupBox("Segmentation") self.toggle_methods_layout = QGridLayout() self.toggle_methods_layout.setContentsMargins(10, 10, 10, 10) self.toggle_methods_layout.setSpacing(5) self.toggle_methods_layout.setAlignment(QtCore.Qt.AlignBottom) self.show_trackseg_button = add_button( "Track tracing", self.toggle_methods_layout, self.track_seg.toggle_track_panel, 0, 1, minimum_width=COLUMN_WIDTH, alignment=SEGM_METHODS_PANEL_ALIGN, ) self.show_trackseg_button.setEnabled(False) self.show_regionseg_button = add_button( "Region segmentation", self.toggle_methods_layout, self.region_seg.toggle_region_panel, 1, 1, minimum_width=COLUMN_WIDTH, alignment=SEGM_METHODS_PANEL_ALIGN, ) self.show_regionseg_button.setEnabled(False) self.toggle_methods_layout.setColumnMinimumWidth(1, COLUMN_WIDTH) self.toggle_methods_panel.setLayout(self.toggle_methods_layout) self.toggle_methods_panel.setVisible(True) self.layout.addWidget(self.toggle_methods_panel, row, column, 1, 1)
def add_region_panel(self, row): self.region_panel = QGroupBox("Region analysis") region_layout = QGridLayout() add_button( "Add region", region_layout, self.add_region, 2, 0, ) add_button( "Analyse regions", region_layout, self.run_region_analysis, 2, 1, ) self.calculate_volumes_checkbox = add_checkbox( region_layout, self.calculate_volumes_default, "Calculate volumes", 0, ) self.summarise_volumes_checkbox = add_checkbox( region_layout, self.summarise_volumes_default, "Summarise volumes", 1, ) region_layout.setColumnMinimumWidth(1, COLUMN_WIDTH) self.region_panel.setLayout(region_layout) self.parent.layout.addWidget(self.region_panel, row, 0, 1, 2) self.region_panel.setVisible(False)
def add_track_panel(self, row): self.track_panel = QGroupBox("Track tracing") track_layout = QGridLayout() add_button( "Add surface points", track_layout, self.add_surface_points, 5, 1, ) add_button( "Add track", track_layout, self.add_track, 6, 0, ) add_button( "Trace tracks", track_layout, self.run_track_analysis, 6, 1, ) self.summarise_track_checkbox = add_checkbox( track_layout, self.summarise_track_default, "Summarise", 0, ) self.fit_degree = add_int_box( track_layout, self.fit_degree_default, 1, 5, "Fit degree", 1, ) self.spline_smoothing = add_float_box( track_layout, self.spline_smoothing_default, 0, 1, "Spline smoothing", 0.1, 2, ) self.spline_points = add_int_box( track_layout, self.spline_points_default, 1, 10000, "Spline points", 3, ) track_layout.setColumnMinimumWidth(1, COLUMN_WIDTH) self.track_panel.setLayout(track_layout) self.parent.layout.addWidget(self.track_panel, row, 0, 1, 2) self.track_panel.setVisible(False)
def add_loading_panel(self, row, column=0): """ Loading panel: - Load project (sample space) - Load project (atlas space) - Atlas chooser """ self.load_data_panel = QGroupBox("Load data") self.load_data_layout = QGridLayout() self.load_data_layout.setSpacing(15) self.load_data_layout.setContentsMargins(10, 10, 10, 10) self.load_data_layout.setAlignment(QtCore.Qt.AlignBottom) # self.load_cellfinder_dir_button = add_button( # "Load cellfinder project", # self.load_data_layout, # self.get_cellfinder_directory, # 0, # 0, # minimum_width=COLUMN_WIDTH, # ) # self.load_background_button = add_button( # "Load background", # self.load_data_layout, # self.get_background, # 1, # 0, # minimum_width=COLUMN_WIDTH, # ) self.load_signal_button = add_button( "Load signal", self.load_data_layout, self.get_signal, 2, 0, minimum_width=COLUMN_WIDTH, ) self.add_cells_button = add_button( "Add cell count", self.load_data_layout, self.add_cell_count, 3, 0, minimum_width=COLUMN_WIDTH, ) self.add_cells_button = add_button( "Load cell count", self.load_data_layout, self.load_cells, 4, 0, minimum_width=COLUMN_WIDTH, ) self.save_cells_button = add_button( "Save cells", self.load_data_layout, self.save_cell_count, 5, 0, minimum_width=COLUMN_WIDTH, ) self.analyse_cells_button = add_button( "Analyse cells", self.load_data_layout, self.analyse_cells, 6, 0, minimum_width=COLUMN_WIDTH, ) self.load_data_layout.setColumnMinimumWidth(0, COLUMN_WIDTH) self.load_data_panel.setLayout(self.load_data_layout) self.load_data_panel.setVisible(True) self.layout.addWidget(self.load_data_panel, row, column, 1, 1)