添加了<数据预处理>的重采样

This commit is contained in:
Yorusora
2025-05-21 09:33:30 +08:00
parent 6215399cf7
commit 4f150300fb
2 changed files with 28 additions and 2 deletions

View File

@ -309,6 +309,17 @@ class MainWindow_preprocess(QMainWindow):
else: else:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_INFO) PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_INFO)
# 重采样
PublicFunc.progressbar_update(self, 2, 2, Constants.RESAMPLING_DATA, 0)
result = self.data.resample()
if not result.status:
PublicFunc.text_output(self.ui, "(2/2)" + result.info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
PublicFunc.finish_operation(self, ButtonState)
return
else:
PublicFunc.text_output(self.ui, "(2/2)" + result.info, Constants.TIPS_TYPE_INFO)
self.__reset__() self.__reset__()
PublicFunc.finish_operation(self, ButtonState) PublicFunc.finish_operation(self, ButtonState)
@ -419,15 +430,29 @@ class Data:
return Result().success(info=Constants.INPUT_FINISHED) return Result().success(info=Constants.INPUT_FINISHED)
def preprocess(self): def resample(self):
if self.raw_data is None: if self.raw_data is None:
Result().failure(info=Constants.PREPROCESS_FAILURE + Constants.FAILURE_REASON["Data_Not_Exist"]) Result().failure(info=Constants.RESAMPLE_FAILURE + Constants.FAILURE_REASON["Data_Not_Exist"])
try: try:
if Config["InputConfig"]["Freq"] != Config["OutputConfig"]["Freq"]: if Config["InputConfig"]["Freq"] != Config["OutputConfig"]["Freq"]:
self.raw_data = resample(self.raw_data, self.raw_data = resample(self.raw_data,
int(len(self.raw_data) * int(len(self.raw_data) *
(Config["OutputConfig"]["Freq"] / Config["InputConfig"]["Freq"]))) (Config["OutputConfig"]["Freq"] / Config["InputConfig"]["Freq"])))
else:
return Result().success(info=Constants.RESAMPLE_NO_NEED)
except Exception as e:
Result().failure(info=Constants.RESAMPLE_FAILURE +
Constants.FAILURE_REASON["Resample_Exception"] + "\n" + format_exc())
return Result().success(info=Constants.RESAMPLE_FINISHED)
def preprocess(self):
if self.raw_data is None:
Result().failure(info=Constants.PREPROCESS_FAILURE + Constants.FAILURE_REASON["Data_Not_Exist"])
try:
if Config["Mode"] == "BCG": if Config["Mode"] == "BCG":
self.processed_data = Butterworth_for_BCG_PreProcess(self.raw_data, type='bandpass', self.processed_data = Butterworth_for_BCG_PreProcess(self.raw_data, type='bandpass',
low_cut=Config["Filter"]["BCGBandPassLow"], low_cut=Config["Filter"]["BCGBandPassLow"],

View File

@ -26,6 +26,7 @@ class Constants:
RESAMPLING_DATA: str = "正在数据重采样" RESAMPLING_DATA: str = "正在数据重采样"
RESAMPLE_FINISHED: str = "重采样完成" RESAMPLE_FINISHED: str = "重采样完成"
RESAMPLE_FAILURE: str = "重采样失败" RESAMPLE_FAILURE: str = "重采样失败"
RESAMPLE_NO_NEED: str = "无需进行重采样"
LOADING_ARCHIVE: str = "正在获取历史存档" LOADING_ARCHIVE: str = "正在获取历史存档"
ARCHIVE_EXIST: str = "找到历史存档,成功读取" ARCHIVE_EXIST: str = "找到历史存档,成功读取"