def get_mask_roi(sp) : #return sp.get_random_binomial_img(p=0.50) if sp.mask_roi != None : return sp.mask_roi if cp.ana_mask_type.value() == 'from-file': sp.mask_roi = gu.get_array_from_file(fnm.path_roi_mask()) logger.info('ROI mask is taken from file ' + fnm.path_roi_mask(), __name__) else : logger.info('ROI mask is turned off', __name__) sp.mask_roi = np.ones((sp.rows,sp.cols), dtype=np.uint8) #np.savetxt(fnm.path_blem()+'-all-ones', sp.mask_blemish, fmt='%1d', delimiter=' ') return sp.mask_roi
def onButFile(self): logger.info('onButFile', __name__) path = fnm.path_roi_mask() #print 'path_roi_mask()', path if path == None: dname, fname = cp.ana_mask_fname.value_def( ), cp.ana_mask_dname.value_def() else: dname, fname = os.path.split(path) path = str(QtGui.QFileDialog.getOpenFileName(self, 'Select file', path)) dname, fname = os.path.split(path) if dname == '' or fname == '': logger.warning( 'Input directiry name or file name is empty... keep file name unchanged...', __name__) return self.edi_mask_file.setText(path) cp.ana_mask_fname.setValue(fname) cp.ana_mask_dname.setValue(dname) logger.info( 'selected file for mask: ' + str(cp.ana_mask_fname.value()), __name__)
def onButBrowser(self): logger.info('onButBrowser', __name__) path = fnm.path_roi_mask() #print 'path_roi_mask()', path if path == None : dname, fname = '.', 'roi-mask.txt' else : dname, fname = os.path.split(path) path = str( QtGui.QFileDialog.getOpenFileName(self,'Select file',path) ) dname, fname = os.path.split(path) if dname == '' or fname == '' : logger.warning('Input directiry name or file name is empty... keep file name unchanged...', __name__) return self.edi_mask_file.setText(path) cp.ana_mask_fname.setValue(fname) cp.ana_mask_dname.setValue(dname) logger.info('selected file for mask: ' + str(cp.ana_mask_fname.value()), __name__ )
def __init__ ( self, parent=None ) : QtGui.QWidget.__init__(self, parent) self.setGeometry(20, 40, 390, 30) self.setWindowTitle('Analysis Settings Right') self.setFrame() self.list_mask_types = ['no-mask', 'from-file'] self.tit_lld = QtGui.QLabel('Low Level Discrimination (LLD):') self.edi_lld_adu = QtGui.QLineEdit( str( cp.lld_adu.value() ) ) self.edi_lld_rms = QtGui.QLineEdit( str( cp.lld_rms.value() ) ) self.rad_lld_none = QtGui.QRadioButton('no LLD') self.rad_lld_adu = QtGui.QRadioButton('ADU threshold:') self.rad_lld_rms = QtGui.QRadioButton('dark RMS threshold:') self.rad_lld_grp = QtGui.QButtonGroup() self.rad_lld_grp.addButton(self.rad_lld_none) self.rad_lld_grp.addButton(self.rad_lld_adu ) self.rad_lld_grp.addButton(self.rad_lld_rms ) self.list_lld_types = ['NONE', 'ADU', 'RMS'] if cp.lld_type.value() == self.list_lld_types[1] : self.rad_lld_adu .setChecked(True) elif cp.lld_type.value() == self.list_lld_types[2] : self.rad_lld_rms .setChecked(True) else : self.rad_lld_none.setChecked(True) self.tit_mask_set = QtGui.QLabel('Mask Settings:') self.rad_mask_none = QtGui.QRadioButton('no mask (use all pixels)') self.rad_mask_file = QtGui.QRadioButton('from existing file') self.rad_mask_grp = QtGui.QButtonGroup() self.rad_mask_grp.addButton(self.rad_mask_none) self.rad_mask_grp.addButton(self.rad_mask_file) if cp.ana_mask_type.value() == self.list_mask_types[0] : self.rad_mask_none.setChecked(True) if cp.ana_mask_type.value() == self.list_mask_types[1] : self.rad_mask_file.setChecked(True) self.but_mask_poly = QtGui.QPushButton('ROI Mask Editor') self.but_browser = QtGui.QPushButton('Browser') self.edi_mask_file = QtGui.QLineEdit( fnm.path_roi_mask() ) self.edi_mask_file.setReadOnly( True ) self.tit_res_sets = QtGui.QLabel('Result saving settings:') self.cbx_res_ascii_out = QtGui.QCheckBox('ASCII output', self) self.cbx_res_fit1 = QtGui.QCheckBox('Perform Fit1', self) self.cbx_res_fit2 = QtGui.QCheckBox('Perform Fit2', self) self.cbx_res_fit_cust = QtGui.QCheckBox('Perform Custom Fit', self) self.cbx_res_png_out = QtGui.QCheckBox('Create PNG Files', self) self.cbx_res_save_log = QtGui.QCheckBox('Save Log-file', self) self.cbx_res_ascii_out.setChecked( cp.res_ascii_out.value() ) self.cbx_res_fit1 .setChecked( cp.res_fit1 .value() ) self.cbx_res_fit2 .setChecked( cp.res_fit2 .value() ) self.cbx_res_fit_cust .setChecked( cp.res_fit_cust .value() ) self.cbx_res_png_out .setChecked( cp.res_png_out .value() ) self.cbx_res_save_log .setChecked( cp.res_save_log .value() ) self.grid = QtGui.QGridLayout() self.grid_row = 0 self.grid.addWidget(self.tit_lld, self.grid_row+1, 0, 1, 8) self.grid.addWidget(self.rad_lld_none, self.grid_row+2, 1, 1, 4) self.grid.addWidget(self.rad_lld_adu, self.grid_row+3, 1, 1, 4) self.grid.addWidget(self.edi_lld_adu, self.grid_row+3, 5) self.grid.addWidget(self.rad_lld_rms, self.grid_row+4, 1, 1, 4) self.grid.addWidget(self.edi_lld_rms, self.grid_row+4, 5) self.grid_row = 4 self.grid.addWidget(self.tit_mask_set, self.grid_row+1, 0, 1, 9) self.grid.addWidget(self.rad_mask_none, self.grid_row+2, 1, 1, 6) self.grid.addWidget(self.rad_mask_file, self.grid_row+3, 1, 1, 6) self.grid.addWidget(self.but_mask_poly, self.grid_row+3, 7, 1, 3) self.grid.addWidget(self.but_browser, self.grid_row+4, 7, 1, 3) self.grid.addWidget(self.edi_mask_file, self.grid_row+5, 1, 1, 9) self.grid_row = 9 self.grid.addWidget(self.tit_res_sets, self.grid_row+1, 0, 1, 8) self.grid.addWidget(self.cbx_res_fit1, self.grid_row+2, 1, 1, 4) self.grid.addWidget(self.cbx_res_fit2, self.grid_row+3, 1, 1, 4) self.grid.addWidget(self.cbx_res_fit_cust, self.grid_row+4, 1, 1, 4) self.grid.addWidget(self.cbx_res_ascii_out, self.grid_row+2, 6, 1, 3) self.grid.addWidget(self.cbx_res_png_out, self.grid_row+3, 6, 1, 3) self.grid.addWidget(self.cbx_res_save_log, self.grid_row+4, 6, 1, 3) self.vbox = QtGui.QVBoxLayout() self.vbox.addLayout(self.grid) self.vbox.addStretch(1) self.setLayout(self.vbox) self.connect(self.rad_lld_none, QtCore.SIGNAL('clicked()'), self.onRadioLLD ) self.connect(self.rad_lld_adu, QtCore.SIGNAL('clicked()'), self.onRadioLLD ) self.connect(self.rad_lld_rms, QtCore.SIGNAL('clicked()'), self.onRadioLLD ) self.connect(self.edi_lld_adu , QtCore.SIGNAL('editingFinished()'), self.onEdit ) self.connect(self.edi_lld_rms , QtCore.SIGNAL('editingFinished()'), self.onEdit ) self.connect(self.cbx_res_ascii_out , QtCore.SIGNAL('stateChanged(int)'), self.onCBox ) self.connect(self.cbx_res_fit1 , QtCore.SIGNAL('stateChanged(int)'), self.onCBox ) self.connect(self.cbx_res_fit2 , QtCore.SIGNAL('stateChanged(int)'), self.onCBox ) self.connect(self.cbx_res_fit_cust , QtCore.SIGNAL('stateChanged(int)'), self.onCBox ) self.connect(self.cbx_res_png_out , QtCore.SIGNAL('stateChanged(int)'), self.onCBox ) self.connect(self.cbx_res_save_log , QtCore.SIGNAL('stateChanged(int)'), self.onCBox ) self.connect( self.rad_mask_none, QtCore.SIGNAL('clicked()'), self.onMaskRadioGrp ) self.connect( self.rad_mask_file, QtCore.SIGNAL('clicked()'), self.onMaskRadioGrp ) self.connect( self.but_mask_poly, QtCore.SIGNAL('clicked()'), self.onMaskPoly ) self.connect( self.but_browser, QtCore.SIGNAL('clicked()'), self.onButBrowser ) self.showToolTips() self.setStyle()
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setGeometry(20, 40, 390, 30) self.setWindowTitle('Analysis Settings Right') self.setFrame() self.list_mask_types = ['no-mask', 'from-file'] self.tit_lld = QtGui.QLabel('Low Level Discrimination (LLD):') self.edi_lld_adu = QtGui.QLineEdit(str(cp.lld_adu.value())) self.edi_lld_rms = QtGui.QLineEdit(str(cp.lld_rms.value())) self.rad_lld_none = QtGui.QRadioButton('no LLD') self.rad_lld_adu = QtGui.QRadioButton('ADU threshold:') self.rad_lld_rms = QtGui.QRadioButton('dark RMS threshold:') self.rad_lld_grp = QtGui.QButtonGroup() self.rad_lld_grp.addButton(self.rad_lld_none) self.rad_lld_grp.addButton(self.rad_lld_adu) self.rad_lld_grp.addButton(self.rad_lld_rms) self.list_lld_types = ['NONE', 'ADU', 'RMS'] if cp.lld_type.value() == self.list_lld_types[1]: self.rad_lld_adu.setChecked(True) elif cp.lld_type.value() == self.list_lld_types[2]: self.rad_lld_rms.setChecked(True) else: self.rad_lld_none.setChecked(True) self.tit_mask_set = QtGui.QLabel('Mask Settings:') self.rad_mask_none = QtGui.QRadioButton('no mask (use all pixels)') self.rad_mask_file = QtGui.QRadioButton('from existing file') self.rad_mask_grp = QtGui.QButtonGroup() self.rad_mask_grp.addButton(self.rad_mask_none) self.rad_mask_grp.addButton(self.rad_mask_file) if cp.ana_mask_type.value() == self.list_mask_types[0]: self.rad_mask_none.setChecked(True) if cp.ana_mask_type.value() == self.list_mask_types[1]: self.rad_mask_file.setChecked(True) self.but_mask_poly = QtGui.QPushButton('ROI Mask Editor') self.but_file = QtGui.QPushButton('File:') self.edi_mask_file = QtGui.QLineEdit(fnm.path_roi_mask()) self.edi_mask_file.setReadOnly(True) self.tit_res_sets = QtGui.QLabel('Result saving settings:') self.cbx_res_ascii_out = QtGui.QCheckBox('ASCII output', self) self.cbx_res_fit1 = QtGui.QCheckBox('Perform Fit1', self) self.cbx_res_fit2 = QtGui.QCheckBox('Perform Fit2', self) self.cbx_res_fit_cust = QtGui.QCheckBox('Perform Custom Fit', self) self.cbx_res_png_out = QtGui.QCheckBox('Create PNG Files', self) self.cbx_res_save_log = QtGui.QCheckBox('Save Log-file', self) self.cbx_res_ascii_out.setChecked(cp.res_ascii_out.value()) self.cbx_res_fit1.setChecked(cp.res_fit1.value()) self.cbx_res_fit2.setChecked(cp.res_fit2.value()) self.cbx_res_fit_cust.setChecked(cp.res_fit_cust.value()) self.cbx_res_png_out.setChecked(cp.res_png_out.value()) self.cbx_res_save_log.setChecked(cp.res_save_log.value()) self.grid = QtGui.QGridLayout() self.grid_row = 0 self.grid.addWidget(self.tit_lld, self.grid_row + 1, 0, 1, 8) self.grid.addWidget(self.rad_lld_none, self.grid_row + 2, 1, 1, 4) self.grid.addWidget(self.rad_lld_adu, self.grid_row + 3, 1, 1, 4) self.grid.addWidget(self.edi_lld_adu, self.grid_row + 3, 5) self.grid.addWidget(self.rad_lld_rms, self.grid_row + 4, 1, 1, 4) self.grid.addWidget(self.edi_lld_rms, self.grid_row + 4, 5) self.grid_row = 4 self.grid.addWidget(self.tit_mask_set, self.grid_row + 1, 0, 1, 9) self.grid.addWidget(self.rad_mask_none, self.grid_row + 2, 1, 1, 6) self.grid.addWidget(self.rad_mask_file, self.grid_row + 3, 1, 1, 6) self.grid.addWidget(self.but_mask_poly, self.grid_row + 3, 7, 1, 3) self.grid.addWidget(self.but_file, self.grid_row + 4, 0, 1, 2) self.grid.addWidget(self.edi_mask_file, self.grid_row + 4, 2, 1, 8) self.grid_row = 9 self.grid.addWidget(self.tit_res_sets, self.grid_row + 1, 0, 1, 8) self.grid.addWidget(self.cbx_res_fit1, self.grid_row + 2, 1, 1, 4) self.grid.addWidget(self.cbx_res_fit2, self.grid_row + 3, 1, 1, 4) self.grid.addWidget(self.cbx_res_fit_cust, self.grid_row + 4, 1, 1, 4) self.grid.addWidget(self.cbx_res_ascii_out, self.grid_row + 2, 6, 1, 3) self.grid.addWidget(self.cbx_res_png_out, self.grid_row + 3, 6, 1, 3) self.grid.addWidget(self.cbx_res_save_log, self.grid_row + 4, 6, 1, 3) self.vbox = QtGui.QVBoxLayout() self.vbox.addLayout(self.grid) self.vbox.addStretch(1) self.setLayout(self.vbox) self.connect(self.rad_lld_none, QtCore.SIGNAL('clicked()'), self.onRadioLLD) self.connect(self.rad_lld_adu, QtCore.SIGNAL('clicked()'), self.onRadioLLD) self.connect(self.rad_lld_rms, QtCore.SIGNAL('clicked()'), self.onRadioLLD) self.connect(self.edi_lld_adu, QtCore.SIGNAL('editingFinished()'), self.onEdit) self.connect(self.edi_lld_rms, QtCore.SIGNAL('editingFinished()'), self.onEdit) self.connect(self.cbx_res_ascii_out, QtCore.SIGNAL('stateChanged(int)'), self.onCBox) self.connect(self.cbx_res_fit1, QtCore.SIGNAL('stateChanged(int)'), self.onCBox) self.connect(self.cbx_res_fit2, QtCore.SIGNAL('stateChanged(int)'), self.onCBox) self.connect(self.cbx_res_fit_cust, QtCore.SIGNAL('stateChanged(int)'), self.onCBox) self.connect(self.cbx_res_png_out, QtCore.SIGNAL('stateChanged(int)'), self.onCBox) self.connect(self.cbx_res_save_log, QtCore.SIGNAL('stateChanged(int)'), self.onCBox) self.connect(self.rad_mask_none, QtCore.SIGNAL('clicked()'), self.onMaskRadioGrp) self.connect(self.rad_mask_file, QtCore.SIGNAL('clicked()'), self.onMaskRadioGrp) self.connect(self.but_mask_poly, QtCore.SIGNAL('clicked()'), self.onMaskPoly) self.connect(self.but_file, QtCore.SIGNAL('clicked()'), self.onButFile) self.showToolTips() self.setStyle()