from PyQt5 import QtWidgets
from gui.ui.Resample import Ui_Form
from gui.util.Modules import Modules
[docs]
class Resample(Ui_Form, Modules):
"""
Interpolates two datasets
"""
[docs]
def setupUi(self, Form):
super().setupUi(Form)
Modules.setupUi(self, Form)
[docs]
def run(self):
datakey_to_interp = self.resampleDataComboBox.currentText()
datakey_ref = self.referenceDataComboBox.currentText()
print(self.data[datakey_ref].df.columns.levels[0])
tmplbl = self.data[datakey_ref].spect_label
self.data[datakey_to_interp].interp(
self.data[datakey_ref].df[tmplbl].columns
)
nan_cols = self.data[datakey_to_interp].df[
self.data[datakey_ref].spect_label].columns[
self.data[datakey_to_interp].df[
self.data[datakey_ref].spect_label].isna().any()]
print('Dropping the following wavelengths (no data):')
for i in nan_cols:
print(str(i))
nan_cols = [(self.data[datakey_ref].spect_label, i) for i in nan_cols]
self.data[datakey_to_interp].df = self.data[datakey_to_interp].df.drop(
nan_cols, axis=1
)
self.data[datakey_ref].df = self.data[datakey_ref].df.drop(
nan_cols,
axis=1
)
pass
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Resample()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())