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)
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
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
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()