Beispiel #1
0
 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
Beispiel #2
0
 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()