def make_psana_cfg_file_for_peds_aver(self):
        self.path_in = apputils.AppDataPath(
            'CorAna/scripts/psana-peds-aver.cfg').path()
        self.path_out = fnm.path_peds_aver_psana_cfg()
        self.d_subs = {
            'FNAME_XTC': fnm.path_dark_xtc_cond(),
            'SKIP': str(cp.bat_dark_start.value() - 1),
            'EVENTS':
            str(cp.bat_dark_end.value() - cp.bat_dark_start.value() + 1),
            'IMG_REC_MODULE': str(cp.bat_img_rec_mod.value()),
            'DETINFO': str(cp.bat_det_info.value()),
            'FNAME_PEDS_AVE': fnm.path_pedestals_ave(),
            'FNAME_PEDS_RMS': fnm.path_pedestals_rms()
        }

        self.d_subs['FNAME_HOTPIX_MASK'] = fnm.path_hotpix_mask()
        self.d_subs['HOTPIX_THRESHOLD_ADU'] = str(cp.mask_hot_thr.value())

        #if cp.mask_hot_is_used.value() :
        #    self.d_subs['FNAME_HOTPIX_MASK'   ] = fnm.path_hotpix_mask()
        #    self.d_subs['HOTPIX_THRESHOLD_ADU'] = str( cp.mask_hot_thr.value() )
        #else :
        #    self.d_subs['FNAME_HOTPIX_MASK'   ] = ''
        #    self.d_subs['HOTPIX_THRESHOLD_ADU'] = '10000'

        self.print_substitution_dict()
        self.make_cfg_file()
Ejemplo n.º 2
0
    def make_psana_cfg_file_for_peds_aver_v1 (self) :
        self.path_in  = apputils.AppDataPath('CorAna/scripts/psana-peds-aver.cfg').path()
        self.path_out = fnm.path_peds_aver_psana_cfg()
        self.d_subs   = {'FNAME_XTC'      : fnm.path_dark_xtc_cond(),
                         'SKIP'           : str( cp.bat_dark_start.value() - 1 ),
                         'EVENTS'         : str( cp.bat_dark_end.value() - cp.bat_dark_start.value() + 1 ),
                         'IMG_REC_MODULE' : str( cp.bat_img_rec_mod.value() ),
                         'DETINFO'        : str( cp.bat_det_info.value() ),
                         'FNAME_PEDS_AVE' : fnm.path_pedestals_ave(),
                         'FNAME_PEDS_RMS' : fnm.path_pedestals_rms()
                         }

        self.d_subs['FNAME_HOTPIX_MASK'   ] = fnm.path_hotpix_mask()
        self.d_subs['HOTPIX_THRESHOLD_ADU'] = str( cp.mask_hot_thr.value() )

        #if cp.mask_hot_is_used.value() : 
        #    self.d_subs['FNAME_HOTPIX_MASK'   ] = fnm.path_hotpix_mask()
        #    self.d_subs['HOTPIX_THRESHOLD_ADU'] = str( cp.mask_hot_thr.value() )
        #else :
        #    self.d_subs['FNAME_HOTPIX_MASK'   ] = ''
        #    self.d_subs['HOTPIX_THRESHOLD_ADU'] = '10000'

        #self.print_substitution_dict()
        #self.make_cfg_file()
        txt_cfg = self.text_for_section()
        self.save_cfg_file(txt_cfg, self.path_out)
Ejemplo n.º 3
0
 def on_cbx_all_chunks(self):
     #if self.cbx_all_chunks.hasFocus() :
     par = cp.use_dark_xtc_all
     par.setValue( self.cbx_all_chunks.isChecked() )
     msg = 'on_cbx - set status of parameter use_dark_xtc_all: ' + str(par.value())
     logger.info(msg, __name__ )
     self.setButtonState()
     self.edi_path.setText( fnm.path_dark_xtc_cond() )
Ejemplo n.º 4
0
    def make_psana_cfg_file_for_peds_scan (self) :
        self.path_in  = apputils.AppDataPath('CorAna/scripts/psana-peds-scan.cfg').path()
        self.path_out = fnm.path_peds_scan_psana_cfg()
        self.d_subs   = {'FNAME_XTC'            : fnm.path_dark_xtc_cond(),
                         'SKIP'                 : 'IS_NOT_USED',
                         'EVENTS'               : 'FOR_ALL_EVENTS',
                         'FNAME_TIMESTAMP_LIST' : fnm.path_peds_scan_tstamp_list()
                         }

        self.print_substitution_dict()
        self.make_cfg_file()
Ejemplo n.º 5
0
    def make_psana_cfg_file_for_peds_scan (self) :
        self.path_in  = apputils.AppDataPath('CorAna/scripts/psana-peds-scan.cfg').path()
        self.path_out = fnm.path_peds_scan_psana_cfg()
        self.d_subs   = {'FNAME_XTC'            : fnm.path_dark_xtc_cond(),
                         'SKIP'                 : 'IS_NOT_USED',
                         'EVENTS'               : 'FOR_ALL_EVENTS',
                         'FNAME_TIMESTAMP_LIST' : fnm.path_peds_scan_tstamp_list()
                         }

        self.print_substitution_dict()
        self.make_cfg_file()
Ejemplo n.º 6
0
    def make_psana_cfg_file_for_peds_aver (self) :
        self.path_in  = apputils.AppDataPath('CorAna/scripts/psana-peds-aver.cfg').path()
        self.path_out = fnm.path_peds_aver_psana_cfg()
        self.d_subs   = {'FNAME_XTC'      : fnm.path_dark_xtc_cond(),
                         'SKIP'           : str( cp.bat_dark_start.value() - 1 ),
                         'EVENTS'         : str( cp.bat_dark_end.value() - cp.bat_dark_start.value() + 1 ),
                         'IMG_REC_MODULE' : str( cp.bat_img_rec_mod.value() ),
                         'DETINFO'        : str( cp.bat_det_info.value() ),
                         'FNAME_PEDS_AVE' : fnm.path_pedestals_ave(),
                         'FNAME_PEDS_RMS' : fnm.path_pedestals_rms()
                         }

        self.print_substitution_dict()
        self.make_cfg_file()
Ejemplo n.º 7
0
    def make_psana_cfg_file_for_peds_aver (self) :
        self.path_in  = apputils.AppDataPath('CorAna/scripts/psana-peds-aver.cfg').path()
        self.path_out = fnm.path_peds_aver_psana_cfg()
        self.d_subs   = {'FNAME_XTC'      : fnm.path_dark_xtc_cond(),
                         'SKIP'           : str( cp.bat_dark_start.value() - 1 ),
                         'EVENTS'         : str( cp.bat_dark_end.value() - cp.bat_dark_start.value() + 1 ),
                         'IMG_REC_MODULE' : str( cp.bat_img_rec_mod.value() ),
                         'DETINFO'        : str( cp.bat_det_info.value() ),
                         'FNAME_PEDS_AVE' : fnm.path_pedestals_ave(),
                         'FNAME_PEDS_RMS' : fnm.path_pedestals_rms()
                         }

        self.print_substitution_dict()
        self.make_cfg_file()
Ejemplo n.º 8
0
    def on_but_path(self):
        logger.debug('Dark file browser', __name__ )
        path = str(self.edi_path.text())        
        path = str( QtGui.QFileDialog.getOpenFileName(self,'Select file',path) )
        dname, fname = os.path.split(path)

        if dname == '' or fname == '' :
            logger.info('Input directiry name or file name is empty... keep file path unchanged...')
            return

        cp.in_dir_dark .setValue(dname)
        cp.in_file_dark.setValue(fname)
        #self.edi_path.setText(path)
        self.edi_path.setText( fnm.path_dark_xtc_cond() )
        logger.info('selected file: ' + str(fnm.path_dark_xtc()), __name__ )
        self.set_default_pars()
        blp.parse_batch_log_peds_scan()
        self.set_fields()
Ejemplo n.º 9
0
    def __init__ ( self, parent=None ) :
        QtGui.QWidget.__init__(self, parent)
        self.setGeometry(200, 400, 530, 30)
        self.setWindowTitle('Dark run processing')
        self.setFrame()

        self.cbx_dark = QtGui.QCheckBox('Use dark correction', self)
        self.cbx_dark.setChecked( cp.bat_dark_is_used.value() )

        self.cbx_all_chunks = QtGui.QCheckBox('Use all xtc chunks', self)
        self.cbx_all_chunks.setChecked( cp.use_dark_xtc_all.value() )

        self.edi_path    = QtGui.QLineEdit( fnm.path_dark_xtc_cond() )        
        self.edi_path.setReadOnly( True )  

        self.lab_status  = QtGui.QLabel('Status')
        self.lab_batch   = QtGui.QLabel('Batch')
        self.lab_start   = QtGui.QLabel('Start')
        self.lab_end     = QtGui.QLabel('End')
        self.lab_total   = QtGui.QLabel('Total')
        self.lab_time    = QtGui.QLabel(u'\u0394t(sec)')

        self.edi_bat_start  = QtGui.QLineEdit ( str( cp.bat_dark_start.value() ) )        
        self.edi_bat_end    = QtGui.QLineEdit ( str( cp.bat_dark_end  .value() ) )        
        self.edi_bat_total  = QtGui.QLineEdit ( str( cp.bat_dark_total.value() ) )        
        self.edi_bat_time   = QtGui.QLineEdit ( str( cp.bat_dark_time .value() ) )        
 
        self.but_path    = QtGui.QPushButton('File:')
        self.but_status  = QtGui.QPushButton('Check status')
        self.but_aver    = QtGui.QPushButton('Pedestal')
        self.but_scan    = QtGui.QPushButton('Scanner')
        self.but_browse  = QtGui.QPushButton('Browse')
        self.but_plot    = QtGui.QPushButton('Plot')
        self.but_remove  = QtGui.QPushButton('Remove')

        self.table_scan = GUIFilesStatusTable (parent=None, list_of_files=fnm.get_list_of_files_peds_scan())
        self.table_aver = GUIFilesStatusTable (parent=None, list_of_files=fnm.get_list_of_files_peds_aver())

        self.grid = QtGui.QGridLayout()
        self.grid_row = 0
        #self.grid.addWidget(self.tit_path,     self.grid_row,   0)
        self.grid.addWidget(self.cbx_dark,      self.grid_row,   0, 1, 6)
        self.grid.addWidget(self.but_path,      self.grid_row+1, 0)
        self.grid.addWidget(self.edi_path,      self.grid_row+1, 1, 1, 7)
        self.grid.addWidget(self.cbx_all_chunks,self.grid_row+2, 1, 1, 6)
        self.grid.addWidget(self.lab_batch,     self.grid_row+3, 0)
        self.grid.addWidget(self.lab_status,    self.grid_row+3, 1, 1, 2)
        self.grid.addWidget(self.lab_start,     self.grid_row+3, 3)
        self.grid.addWidget(self.lab_end,       self.grid_row+3, 4)
        self.grid.addWidget(self.lab_total,     self.grid_row+3, 5)
        self.grid.addWidget(self.lab_time,      self.grid_row+3, 6)
        self.grid.addWidget(self.but_scan,      self.grid_row+4, 0)
        self.grid.addWidget(self.but_status,    self.grid_row+4, 1, 2, 2)
        self.grid.addWidget(self.edi_bat_start, self.grid_row+4, 3)
        self.grid.addWidget(self.edi_bat_end,   self.grid_row+4, 4)
        self.grid.addWidget(self.edi_bat_total, self.grid_row+4, 5)
        self.grid.addWidget(self.edi_bat_time,  self.grid_row+4, 6, 1, 2)
        self.grid.addWidget(self.but_aver,      self.grid_row+5, 0)
        self.grid.addWidget(self.but_browse,    self.grid_row+5, 3) #, 1, 2)
        self.grid.addWidget(self.but_plot,      self.grid_row+5, 4)
        self.grid.addWidget(self.but_remove,    self.grid_row+5, 7)
        self.grid.addWidget(self.table_scan,    self.grid_row+6, 0, 4, 8)
        self.grid.addWidget(self.table_aver,    self.grid_row+10,0, 4, 8)

        #self.grid.setRowMinimumHeight(self.grid_row+3, 5)

        self.connect(self.but_path,      QtCore.SIGNAL('clicked()'),          self.on_but_path      )
        self.connect(self.but_status,    QtCore.SIGNAL('clicked()'),          self.on_but_status    )
        self.connect(self.but_aver,      QtCore.SIGNAL('clicked()'),          self.on_but_aver    )
        self.connect(self.but_scan,      QtCore.SIGNAL('clicked()'),          self.on_but_scan   )
        self.connect(self.but_browse,    QtCore.SIGNAL('clicked()'),          self.on_but_browse    )
        self.connect(self.but_plot,      QtCore.SIGNAL('clicked()'),          self.on_but_plot      )
        self.connect(self.but_remove,    QtCore.SIGNAL('clicked()'),          self.on_but_remove    )
        self.connect(self.edi_bat_start, QtCore.SIGNAL('editingFinished()'),  self.on_edi_bat_start )
        self.connect(self.edi_bat_end,   QtCore.SIGNAL('editingFinished()'),  self.on_edi_bat_end   )
        self.connect(self.cbx_dark,      QtCore.SIGNAL('stateChanged(int)'),  self.on_cbx           ) 
        self.connect(self.cbx_all_chunks,QtCore.SIGNAL('stateChanged(int)'),  self.on_cbx_all_chunks) 
 
        self.setLayout(self.grid)

        self.showToolTips()
        self.setStyle()
        self.setButtonState()
Ejemplo n.º 10
0
 def cfg_file_header_for_peds_aver (self) :
     self.cfg_file_header(fnm.path_dark_xtc_cond(), \
                          cp.bat_dark_start.value() - 1, \
                          cp.bat_dark_end.value() - cp.bat_dark_start.value() + 1 )
Ejemplo n.º 11
0
 def cfg_file_header_for_peds_aver(self):
     self.cfg_file_header(fnm.path_dark_xtc_cond(), \
                          cp.bat_dark_start.value() - 1, \
                          cp.bat_dark_end.value() - cp.bat_dark_start.value() + 1 )