Beispiel #1
0
    def __init__(self, calib_dict=None, parent = None):
        super(widgetCalibrate, self).__init__(parent) ### EDIT ###
        self.ui = Ui_Calibrate_Form() ### EDIT ###
        self.ui.setupUi(self)     ### EDIT ###

        if calib_dict is None:
            self.calib_dict = self.CALIB_DICT
        else:
            self.calib_dict = calib_dict
        if isinstance(self.calib_dict['a_vec'], tuple):
            self.calib_dict['a_vec'] = list(self.calib_dict['a_vec'])

        self.new_calib_dict = _copy.deepcopy(self.calib_dict)

        self.updateUI()
        self.WN, _ = _calib_pix_wn(self.calib_dict)
        self.WN_2, _ = _calib_pix_wn(self.new_calib_dict)
        
#        self.WN, self.WL, _ = _make_freq_vector(self.calib_dict)
#        self.WN_2, self.WL_2, _ = _make_freq_vector(self.new_calib_dict)

        self.ui.spinBoxMeas.setValue(self.DEFAULT_MEAS)
        self.ui.spinBoxCorrect.setValue(self.DEFAULT_MEAS)

        self.meas = self.DEFAULT_MEAS
        self.correct = self.DEFAULT_MEAS

        self.ui.spinBoxCorrect.editingFinished.connect(self.calcCalibDict)
        self.ui.spinBoxMeas.editingFinished.connect(self.calcCalibDict)
Beispiel #2
0
    def fcn(self, data_in):
        """
        Returns a shifted version of the input spectrum to mimic the effect
        of calibration. (Real calibration doesn't shift the spectrum, but 
        rather the independent variable)

        """
        orig_wn = _calib_pix_wn(self.parameters['orig_calib_dict'])[0]
        new_wn = _calib_pix_wn(self.parameters['new_calib_dict'])[0]

        if data_in.ndim == 1:
            spl = _UnivariateSpline(new_wn, data_in, s=0, ext=0)
            output = spl(orig_wn)
        elif data_in.ndim == 2:
            output = _np.zeros(data_in.shape)
            for num, spect in enumerate(data_in):
                spl = _UnivariateSpline(new_wn, spect, s=0, ext=0)
                output[num, :] = spl(orig_wn)
        return output
Beispiel #3
0
    def fcn(self, data_in):
        """
        Returns a shifted version of the input spectrum to mimic the effect
        of calibration. (Real calibration doesn't shift the spectrum, but 
        rather the independent variable)

        """
        orig_wn = _calib_pix_wn(self.parameters['orig_calib_dict'])[0]
        new_wn = _calib_pix_wn(self.parameters['new_calib_dict'])[0]
        
        if data_in.ndim == 1:
            spl = _UnivariateSpline(new_wn, data_in, s=0, ext=0)
            output = spl(orig_wn)
        elif data_in.ndim == 2:
            output = _np.zeros(data_in.shape)
            for num, spect in enumerate(data_in):
                spl = _UnivariateSpline(new_wn, spect, s=0, ext=0)
                output[num,:] = spl(orig_wn)
        return output
Beispiel #4
0
    def calcCalibDict(self):
        """
        (Re)-Calculate calibration dictionary components and recalculate \
        wavenumber/wavelength vector
        """
        self.meas = self.ui.spinBoxMeas.value()
        self.correct = self.ui.spinBoxCorrect.value()

        delta_lambda = 1/(((self.correct)/1e7) + 1/self.calib_dict['probe']) - \
                        1/(((self.meas)/1e7) + 1/self.calib_dict['probe'])

        self.new_calib_dict['a_vec'][1] = self.calib_dict['a_vec'][1] + delta_lambda

        self.WN_2, _ = _calib_pix_wn(self.new_calib_dict)

        self.updateUI()
        self.changed.emit()