def on_box_log_level(self):
        level_selected = self.box_log_level.currentText()
        self.geo_log_level.setValue(level_selected) 
        logger.info('on_box_log_level - selected level: ' + self.geo_log_level.value(), self.name)

        #self.box_txt.setText( logger.getLogContent() )

        self.set_command_window()
Beispiel #2
0
 def on_but_roi_img_nda(self):
     logger.info('Select file with ndarray for image', __name__)
     msg = 'Ok - continue to select file with ndarray\nCancel - use ndarray of ones'
     status = gu.confirm_or_cancel_dialog_box(parent=self, text=msg, title='Sele')
     if not status :
         self.fname_roi_img_nda.setValue('')
         self.edi_roi_img_nda.setText('')
     else :
         self.set_file_name(self.edi_roi_img_nda, self.fname_roi_img_nda, mode='open')
    def on_but_geo(self):
        #logger.info('Start geo', __name__)

        resp = gu.confirm_or_cancel_dialog_box(parent=self, text='Please confirm or cancel command', title='Confirm or cancel') 
        if resp :
            cmd = self.get_command()
            logger.info('Start app by the command: %s' % cmd, __name__)
            os.system(cmd)
        else :
            logger.info('Command is canceled', __name__)
Beispiel #4
0
    def on_but_roi_convert(self):

        self.setStatus(1, 'Convert image to ndarray')

        mcbits = self.sensor_mask_cbits.value()
        gfname = self.fname_geometry.value()
        ifname = self.fname_roi_mask_img.value()
        ofname = self.fname_roi_mask_nda.value()
        tfname = self.fname_roi_mask_nda_tst.value()

        msg = '\n  Convert ROI mask image: %s\n      to ndarray: %s\n    using geometry: %s' % \
             ( ifname, ofname, gfname )
        logger.info(msg, __name__)

        geometry = GeometryAccess(gfname, 0)
        iX, iY = geometry.get_pixel_coord_indexes()
        msg = 'Pixel index array iX, iY shapes: %s,  %s' % (str(
            iX.shape), str(iY.shape))
        logger.info(msg, __name__)

        ifext = os.path.splitext(ifname)[1]
        ofext = os.path.splitext(ofname)[1]

        mask_roi = np.load(ifname) if ifext == '.npy' else np.loadtxt(
            ifname, dtype=np.uint16)

        mask_nda = np.array([mask_roi[r, c]
                             for r, c in zip(iX, iY)])  # 155 msec
        if mcbits: mask_nda *= geometry.get_pixel_mask(mbits=mcbits)

        img_mask_test = img_from_pixel_arrays(iX, iY, W=mask_nda)

        if ofext == '.npy': np.save(ofname, mask_nda)
        else:
            mask_nda.shape = [iX.size / iX.shape[-1], iX.shape[-1]]
            logger.info(
                'Mask ndarray is re-shape for saving in txt to 2-d: %s' %
                str(mask_nda.shape), __name__)
            np.savetxt(ofname, mask_nda, fmt='%d', delimiter=' ')

        logger.info('Mask ndarray is saved in the file %s' % ofname, __name__)

        self.setStatus(1, 'Test: reconstruct image from mask ndarray...')

        tfext = os.path.splitext(tfname)[1]

        if tfext == '.npy': np.save(tfname, img_mask_test)
        else: np.savetxt(tfname, img_mask_test, fmt='%d', delimiter=' ')
        logger.info(
            'Test-image generated from mask ndarray is saved in file %s' %
            tfname, __name__)

        self.setStatus(0)
 def on_but_roi_img_nda(self):
     logger.info('Select file with ndarray for image', __name__)
     msg = 'Ok - continue to select file with ndarray\nCancel - use ndarray of ones'
     status = gu.confirm_or_cancel_dialog_box(parent=self,
                                              text=msg,
                                              title='Sele')
     if not status:
         self.fname_roi_img_nda.setValue('')
         self.edi_roi_img_nda.setText('')
     else:
         self.set_file_name(self.edi_roi_img_nda,
                            self.fname_roi_img_nda,
                            mode='open')
    def on_but_view(self):
        logger.info('on_but_view', __name__)

        try    :
            cp.guifilebrowser.close()

        except :            
            list_of_fnames = [ self.fname_geo_in.value() \
                             , self.fname_geo_out.value() \
                             , self.fname_geo_img_nda.value() \
                               ] 

            cp.guifilebrowser = GUIFileBrowser(None, list_of_fnames, list_of_fnames[0])
            cp.guifilebrowser.move(self.pos().__add__(QtCore.QPoint(880,40))) # open window with offset w.r.t. parent
            cp.guifilebrowser.show()
Beispiel #7
0
    def on_but_roi_convert (self):

        self.setStatus(1, 'Convert image to ndarray')

        mcbits = self.sensor_mask_cbits.value() 
        gfname = self.fname_geometry.value()
        ifname = self.fname_roi_mask_img.value()
        ofname = self.fname_roi_mask_nda.value()
        tfname = self.fname_roi_mask_nda_tst.value()
        
        msg = '\n  Convert ROI mask image: %s\n      to ndarray: %s\n    using geometry: %s' % \
             ( ifname, ofname, gfname )
        logger.info(msg, __name__)

        geometry = GeometryAccess(gfname, 0)
        iX, iY = geometry.get_pixel_coord_indexes()
        msg = 'Pixel index array iX, iY shapes: %s,  %s' % (str(iX.shape), str(iY.shape))
        logger.info(msg, __name__)

        ifext = os.path.splitext(ifname)[1]
        ofext = os.path.splitext(ofname)[1]

        mask_roi = np.load(ifname) if ifext == '.npy' else np.loadtxt(ifname, dtype=np.uint16)

        mask_nda = np.array( [mask_roi[r,c] for r,c in zip(iX, iY)] ) # 155 msec
        if mcbits : mask_nda *= geometry.get_pixel_mask(mbits=mcbits)

        img_mask_test = img_from_pixel_arrays(iX, iY, W=mask_nda) 

        if ofext == '.npy' : np.save(ofname, mask_nda)
        else               :
            mask_nda.shape = [iX.size/iX.shape[-1],iX.shape[-1]]
            logger.info('Mask ndarray is re-shape for saving in txt to 2-d: %s' % str(mask_nda.shape),  __name__) 
            np.savetxt(ofname, mask_nda, fmt='%d', delimiter=' ')

        logger.info('Mask ndarray is saved in the file %s' % ofname, __name__)

        self.setStatus(1, 'Test: reconstruct image from mask ndarray...')

        tfext = os.path.splitext(tfname)[1]
        
        if tfext == '.npy' : np.save(tfname, img_mask_test)
        else               : np.savetxt(tfname, img_mask_test, fmt='%d', delimiter=' ')
        logger.info('Test-image generated from mask ndarray is saved in file %s' % tfname, __name__)

        self.setStatus(0)
Beispiel #8
0
def test_log():

    # set level: 'debug','info','warning','error','critical'
    log.setLevel('warning')

    # print messages of all levels: 1,2,4,8,16 for 'debug','info',...
    log.setPrintBits(0377)

    log.debug('This is a test message 1', __name__)
    log.info('This is a test message 2', __name__)
    log.warning('This is a test message 3', __name__)
    log.error('This is a test message 4', __name__)
    log.critical('This is a test message 5', __name__)
    log.critical('This is a test message 6')

    print 'getLogContent():\n', log.getLogContent()
    print 'getLogContentTotal():\n', log.getLogContentTotal()
Beispiel #9
0
    def select_file_for_plot(self):

        list = [ self.fname_roi_img.value() \
               , self.fname_roi_mask_img.value() \
               , self.fname_roi_mask_nda.value() \
               , self.fname_roi_mask_nda_tst.value() \
                 ]
        fname = gu.selectFromListInPopupMenu(list)
        if fname is None :
            return None

        if not os.path.exists(fname) :
            logger.warning('File %s does not exist. There is nothing to plot...' % fname, __name__)
            return None

        logger.info('Selected file for plot: %s' % fname, __name__)

        return fname
Beispiel #10
0
    def select_file_for_plot(self):

        list = [ self.fname_roi_img.value() \
               , self.fname_roi_mask_img.value() \
               , self.fname_roi_mask_nda.value() \
               , self.fname_roi_mask_nda_tst.value() \
                 ]
        fname = gu.selectFromListInPopupMenu(list)
        if fname is None:
            return None

        if not os.path.exists(fname):
            logger.warning(
                'File %s does not exist. There is nothing to plot...' % fname,
                __name__)
            return None

        logger.info('Selected file for plot: %s' % fname, __name__)

        return fname
Beispiel #11
0
    def reco_image_from_ndarray(self, gfname, afname):

        #mcbits = self.sensor_mask_cbits.value()

        msg = 'Reconstruct image from\n      geometry: %s\n     and ndarray: %s' % \
             ( gfname, afname )
        logger.info(msg, __name__)

        geometry = GeometryAccess(gfname, 0)
        iX, iY = geometry.get_pixel_coord_indexes()

        afext = '' if afname is None else os.path.splitext(afname)[1]

        nda = np.ones(iX.shape, dtype=np.uint16) if afname is None else \
              np.load(afname) if afext == '.npy' else \
              np.loadtxt(afname) #, dtype=np.uint16)
        nda.shape = iX.shape

        #if mcbits :  nda *= geometry.get_pixel_mask(mbits=mcbits)

        return img_from_pixel_arrays(iX, iY, W=nda)
Beispiel #12
0
    def reco_image_from_ndarray (self, gfname, afname):

        #mcbits = self.sensor_mask_cbits.value() 

        msg = 'Reconstruct image from\n      geometry: %s\n     and ndarray: %s' % \
             ( gfname, afname )
        logger.info(msg, __name__)

        geometry = GeometryAccess(gfname, 0)
        iX, iY = geometry.get_pixel_coord_indexes()

        afext = '' if afname is None else os.path.splitext(afname)[1]

        nda = np.ones(iX.shape, dtype=np.uint16) if afname is None else \
              np.load(afname) if afext == '.npy' else \
              np.loadtxt(afname) #, dtype=np.uint16)
        nda.shape = iX.shape 

        #if mcbits :  nda *= geometry.get_pixel_mask(mbits=mcbits)
 
        return img_from_pixel_arrays(iX, iY, W=nda) 
Beispiel #13
0
    def set_file_name(self, edi, par, mode='save', filter='*.txt *.npy *.dat *.data\nAll files (*)'):
        #logger.debug('set_file_name', __name__)

        self.setStatus(1, 'Waiting for input of the file name...')
        
        path = str( edi.displayText() )
        dname, fname = os.path.split(path)
        msg = 'Current dir: %s   file: %s' % (dname, fname)
        logger.info(msg, __name__)
        
        path = str( QtGui.QFileDialog.getSaveFileName(self, 'Save file', path, filter=filter) ) \
               if mode == 'save' else \
               str( QtGui.QFileDialog.getOpenFileName(self, 'Open file', path, filter=filter) )

        dname, fname = os.path.split(path)

        if dname == '' or fname == '' :
            logger.info('Input directiry name or file name is empty... use default values', __name__)
            return
        else :
            edi.setText(path)
            par.setValue(path)
            logger.info('Selected file:\n' + path, __name__)

        self.setStatus(0)
Beispiel #14
0
    def set_file_name(self,
                      edi,
                      par,
                      mode='save',
                      filter='*.txt *.npy *.dat *.data\nAll files (*)'):
        #logger.debug('set_file_name', __name__)

        self.setStatus(1, 'Waiting for input of the file name...')

        path = str(edi.displayText())
        dname, fname = os.path.split(path)
        msg = 'Current dir: %s   file: %s' % (dname, fname)
        logger.info(msg, __name__)

        path = str( QtGui.QFileDialog.getSaveFileName(self, 'Save file', path, filter=filter) ) \
               if mode == 'save' else \
               str( QtGui.QFileDialog.getOpenFileName(self, 'Open file', path, filter=filter) )

        dname, fname = os.path.split(path)

        if dname == '' or fname == '':
            logger.info(
                'Input directiry name or file name is empty... use default values',
                __name__)
            return
        else:
            edi.setText(path)
            par.setValue(path)
            logger.info('Selected file:\n' + path, __name__)

        self.setStatus(0)
Beispiel #15
0
    def on_but_reco_image(self):

        self.setStatus(1, 'Reconstruct image from ndarray')

        gfname = self.fname_geometry.value()
        afname = self.fname_roi_img_nda.value()
        ofname = self.fname_roi_img.value()

        msg = 'Reconstruct image from\n      geometry: %s\n         ndarray: %s\n and save it in: %s' % \
             ( gfname, afname, ofname )

        img = self.reco_image_from_ndarray(gfname, afname)

        ofext = '' if ofname is None else os.path.splitext(ofname)[1]

        if ofext == '.npy': np.save(ofname, img)
        else: np.savetxt(ofname, img, fmt='%d', delimiter=' ')

        msg = 'Image is saved in the file %s' % ofname
        logger.info(msg, __name__)

        self.setStatus(0)
Beispiel #16
0
    def on_but_reco_image (self):

        self.setStatus(1, 'Reconstruct image from ndarray')

        gfname = self.fname_geometry.value()
        afname = self.fname_roi_img_nda.value()
        ofname = self.fname_roi_img.value()

        msg = 'Reconstruct image from\n      geometry: %s\n         ndarray: %s\n and save it in: %s' % \
             ( gfname, afname, ofname )

        img = self.reco_image_from_ndarray(gfname, afname)

        ofext = '' if ofname is None else os.path.splitext(ofname)[1]

        if ofext == '.npy' : np.save(ofname, img)
        else               : np.savetxt(ofname, img, fmt='%d', delimiter=' ')

        msg = 'Image is saved in the file %s' % ofname
        logger.info(msg, __name__)

        self.setStatus(0)
Beispiel #17
0
 def on_but_geo_img_nda(self):
     logger.info('Select file with ndarray for image', __name__)
     self.set_file_name(self.edi_geo_img_nda, self.fname_geo_img_nda, mode='open')
 def on_but_plot(self):
     logger.info('TBD: on_but_plot', __name__)
Beispiel #19
0
 def on_but_roi_mask_nda(self):
     logger.info('Set/select the file for mask ndarray', __name__)
     self.set_file_name(self.edi_roi_mask_nda, self.fname_roi_mask_nda)
Beispiel #20
0
 def on_but_roi_mask_img(self):
     logger.info('Set/select the file for image of the mask', __name__)
     self.set_file_name(self.edi_roi_mask_img, self.fname_roi_mask_img)
Beispiel #21
0
 def on_but_roi_mask_nda(self):
     logger.info('Set/select the file for mask ndarray', __name__)
     self.set_file_name(self.edi_roi_mask_nda, self.fname_roi_mask_nda)
Beispiel #22
0
 def on_but_roi_img_nda(self):
     logger.info('Select file with ndarray for image', __name__)
     self.set_file_name(self.edi_roi_img_nda,
                        self.fname_roi_img_nda,
                        mode='open')
Beispiel #23
0
 def on_but_geometry(self):
     logger.info('Select the "geometry" file', __name__)
     self.set_file_name(self.edi_geometry, self.fname_geometry, mode='open')
Beispiel #24
0
 def on_edi_mask_cbits(self):
     str_value = str( self.edi_mask_cbits.displayText() )
     self.sensor_mask_cbits.setValue(int(str_value))  
     logger.info('Set sensor mask control bitword: %s' % str_value, __name__ )
 def set_command_window(self):
     cmd = self.get_command()
     logger.info('command: %s' % cmd, __name__)
     self.edi_geo.clear()
     self.edi_geo.setText(cmd)
Beispiel #26
0
 def on_but_geometry(self):
     logger.info('Select the "geometry" file', __name__)
     self.set_file_name(self.edi_geometry, self.fname_geometry, mode='open')
Beispiel #27
0
 def on_but_roi_img(self):
     logger.info('Set/select the file with image', __name__)
     #prefix = self.fname_prefix.value()
     #filter = 'Text files (' + prefix + '*.txt ' + prefix + '*.dat)\nAll files (*)'
     self.set_file_name(self.edi_roi_img, self.fname_roi_img) #, filter)
 def on_but_geo_out(self):
     logger.info('Select the "geometry" output file', __name__)
     self.set_file_name(self.edi_geo_out, self.fname_geo_out, mode='save')
Beispiel #29
0
 def on_but_roi_img(self):
     logger.info('Set/select the file with image', __name__)
     #prefix = self.fname_prefix.value()
     #filter = 'Text files (' + prefix + '*.txt ' + prefix + '*.dat)\nAll files (*)'
     self.set_file_name(self.edi_roi_img, self.fname_roi_img)  #, filter)
Beispiel #30
0
 def on_edi_mask_cbits(self):
     str_value = str(self.edi_mask_cbits.displayText())
     self.sensor_mask_cbits.setValue(float(str_value))
     logger.info('Set sensor mask control bitword: %s' % str_value,
                 __name__)
Beispiel #31
0
 def on_but_roi_mask_img(self):
     logger.info('Set/select the file for image of the mask', __name__)
     self.set_file_name(self.edi_roi_mask_img, self.fname_roi_mask_img)