def _fcn_build_roi_list(self): """Build a list of checkable ROIs.""" # Select volume : selected_roi = str(self._roiDiv.currentText()) # Mist : if 'mist' in selected_roi.lower(): self._roiLevel.setEnabled('mist' in selected_roi) level = str(self._roiLevel.currentText()) selected_roi += '_%s' % level if self.roi.name != selected_roi: self.roi(selected_roi) # Clear widget list and add ROIs : self._roiToAdd.reset() df = self.roi.get_labels() if 'mist' in selected_roi.lower(): df = df[['index', 'name_%s' % level]] col_names = list(df.keys()) col_names.pop(col_names.index('index')) cols = [list(df[k]) for k in col_names if k not in ['', 'index']] # Build the table with the filter : self._roiModel = fill_pyqt_table(self._roiToAdd, col_names, cols, filter=self._roiFilter, check=0, filter_col=0) # By default, uncheck items : self._fcn_reset_roi_list()
def __init__(self, ): """Init.""" # ====================== SOURCES ====================== self._s_grp.clicked.connect(self._fcn_source_visible) self._s_select.currentIndexChanged.connect(self._fcn_source_select) self._s_symbol.currentIndexChanged.connect(self._fcn_source_symbol) self._s_radiusmin.valueChanged.connect(self._fcn_source_radius) self._s_radiusmax.valueChanged.connect(self._fcn_source_radius) self._s_edge_color.editingFinished.connect(self._fcn_source_edgecolor) self._s_edge_color_p.clicked.connect(self._fcn_source_edgecolor_p) self._s_edge_width.valueChanged.connect(self._fcn_source_edgewidth) self._s_alpha.valueChanged.connect(self._fcn_source_alpha) # ====================== TEXT ====================== self._st_font_size.valueChanged.connect(self._fcn_text_fontsize) self._st_color.editingFinished.connect(self._fcn_text_color) self._st_color_p.clicked.connect(self._fcn_text_color_p) self._st_dx.valueChanged.connect(self._fcn_text_translate) self._st_dy.valueChanged.connect(self._fcn_text_translate) self._st_dz.valueChanged.connect(self._fcn_text_translate) # ====================== TABLE ====================== if self.sources.name is not None: # Get position / text : xyz, txt = self.sources._xyz, self.sources._text col = np.c_[txt, xyz].T.tolist() col_names = ['Text', 'X', 'Y', 'Z'] fill_pyqt_table(self._s_table, col_names, col) self._s_table.setEnabled(True) self._s_analyse_run.clicked.connect(self._fcn_analyse_sources) self._s_show_cs.clicked.connect(self._fcn_goto_cs) # ====================== PROJECTION ====================== self._s_proj_mask_color.editingFinished.connect( self._fcn_proj_mask_color) self._s_proj_mask_color_p.clicked.connect(self._fcn_mask_color_p) self._s_proj_apply.clicked.connect(self._fcn_source_proj)
def __init__(self,): """Init.""" # ====================== SOURCES ====================== self._s_grp.clicked.connect(self._fcn_source_visible) self._s_select.currentIndexChanged.connect(self._fcn_source_select) self._s_symbol.currentIndexChanged.connect(self._fcn_source_symbol) self._s_radiusmin.valueChanged.connect(self._fcn_source_radius) self._s_radiusmax.valueChanged.connect(self._fcn_source_radius) self._s_edge_color.editingFinished.connect(self._fcn_source_edgecolor) self._s_edge_color_p.clicked.connect(self._fcn_source_edgecolor_p) self._s_edge_width.valueChanged.connect(self._fcn_source_edgewidth) self._s_alpha.valueChanged.connect(self._fcn_source_alpha) # ====================== TEXT ====================== self._st_font_size.valueChanged.connect(self._fcn_text_fontsize) self._st_color.editingFinished.connect(self._fcn_text_color) self._st_color_p.clicked.connect(self._fcn_text_color_p) self._st_dx.valueChanged.connect(self._fcn_text_translate) self._st_dy.valueChanged.connect(self._fcn_text_translate) self._st_dz.valueChanged.connect(self._fcn_text_translate) # ====================== TABLE ====================== if self.sources.name is not None: # Get position / text : xyz, txt = self.sources._xyz, self.sources._text col = np.c_[txt, xyz].T.tolist() col_names = ['Text', 'X', 'Y', 'Z'] fill_pyqt_table(self._s_table, col_names, col) self._s_table.setEnabled(True) self._s_analyse_run.clicked.connect(self._fcn_analyse_sources) self._s_show_cs.clicked.connect(self._fcn_goto_cs) # ====================== PROJECTION ====================== self._s_proj_mask_color.editingFinished.connect( self._fcn_proj_mask_color) self._s_proj_mask_color_p.clicked.connect(self._fcn_mask_color_p) self._s_proj_apply.clicked.connect(self._fcn_source_proj)
def _fcn_analyse_sources(self): """Analyse sources locations.""" roi = self._s_analyse_roi.currentText() logger.info("Analyse source's locations using %s ROI" % roi) df = self.sources.analyse_sources(roi.lower()) fill_pyqt_table(self._s_table, df=df)