From 88003f4f0286b81780daf0206935eff9b0d1f76b Mon Sep 17 00:00:00 2001 From: Titov Leonid Date: Thu, 5 Dec 2024 13:18:53 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=20src?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- params/system_params.json | 2 +- src/OptAlgorithm/ConstantCalculator.py | 2 +- src/OptAlgorithm/OptAlgorithm.py | 8 ++++---- src/OptAlgorithm/OptTimeCalculator.py | 4 ++-- src/controller/controller.py | 2 +- src/controller/converter.py | 2 +- src/controller/mediator.py | 2 +- src/controller/monitor.py | 2 +- src/controller/passportFormer.py | 2 +- src/gui/mainGui.py | 8 ++++---- src/gui/plotter.py | 2 +- src/gui/settings_window.py | 7 ++++--- src/main.py | 14 +++++++------- src/utils/base/base.py | 12 ++++++++++-- 14 files changed, 39 insertions(+), 30 deletions(-) diff --git a/params/system_params.json b/params/system_params.json index 5060aa8..c7d6949 100644 --- a/params/system_params.json +++ b/params/system_params.json @@ -1,5 +1,5 @@ { - "trace_storage_path": ["D:/downloads/a22"], + "trace_storage_path": ["/home/leonid/WorkUM/DevUFC/diagramm/performance"], "monitor_update_period": [100], "a_max_1": [5.41], "v_max_1": [0.278], diff --git a/src/OptAlgorithm/ConstantCalculator.py b/src/OptAlgorithm/ConstantCalculator.py index 24c5714..6d073bb 100644 --- a/src/OptAlgorithm/ConstantCalculator.py +++ b/src/OptAlgorithm/ConstantCalculator.py @@ -1,4 +1,4 @@ -from src.OptAlgorithm.AutoConfigClass import AutoConfigClass +from OptAlgorithm.AutoConfigClass import AutoConfigClass from numpy import sqrt class ConstantCalculator(AutoConfigClass): diff --git a/src/OptAlgorithm/OptAlgorithm.py b/src/OptAlgorithm/OptAlgorithm.py index e0e8108..4299069 100644 --- a/src/OptAlgorithm/OptAlgorithm.py +++ b/src/OptAlgorithm/OptAlgorithm.py @@ -1,7 +1,7 @@ -from src.OptAlgorithm.PhaseCalc import PhaseCalc -from src.OptAlgorithm.OptTimeCalculator import OptTimeCalculator -from src.OptAlgorithm.AutoConfigClass import AutoConfigClass -from src.OptAlgorithm.ConstantCalculator import ConstantCalculator +from OptAlgorithm.PhaseCalc import PhaseCalc +from OptAlgorithm.OptTimeCalculator import OptTimeCalculator +from OptAlgorithm.AutoConfigClass import AutoConfigClass +from OptAlgorithm.ConstantCalculator import ConstantCalculator from numpy import cos, sin, sqrt, cbrt, arcsin diff --git a/src/OptAlgorithm/OptTimeCalculator.py b/src/OptAlgorithm/OptTimeCalculator.py index d5b93af..0cf738e 100644 --- a/src/OptAlgorithm/OptTimeCalculator.py +++ b/src/OptAlgorithm/OptTimeCalculator.py @@ -1,7 +1,7 @@ from numpy import sqrt, arcsin, arccos, cos, sin -from src.OptAlgorithm.AutoConfigClass import AutoConfigClass -from src.OptAlgorithm.ConstantCalculator import ConstantCalculator +from OptAlgorithm.AutoConfigClass import AutoConfigClass +from OptAlgorithm.ConstantCalculator import ConstantCalculator class OptTimeCalculator(AutoConfigClass): diff --git a/src/controller/controller.py b/src/controller/controller.py index 2538061..bdb6207 100644 --- a/src/controller/controller.py +++ b/src/controller/controller.py @@ -1,7 +1,7 @@ from PyQt5.QtWidgets import QWidget from PyQt5.QtCore import pyqtSignal -from src.utils.base.base import BaseController +from utils.base.base import BaseController class Controller(BaseController): diff --git a/src/controller/converter.py b/src/controller/converter.py index f281298..58dbcbc 100644 --- a/src/controller/converter.py +++ b/src/controller/converter.py @@ -3,7 +3,7 @@ import pandas as pd #FIXME: костыль для выключения предупреждения "replace deprecated". Потом надо поправить. pd.set_option('future.no_silent_downcasting', True) -from src.utils.base.base import BaseDataConverter +from utils.base.base import BaseDataConverter class DataConverter(BaseDataConverter): diff --git a/src/controller/mediator.py b/src/controller/mediator.py index d7cd6ef..02e6d69 100644 --- a/src/controller/mediator.py +++ b/src/controller/mediator.py @@ -3,7 +3,7 @@ import pandas as pd from typing import Union from PyQt5.QtWidgets import QWidget -from src.utils.base.base import BaseMediator, BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BasePointPassportFormer +from utils.base.base import BaseMediator, BaseDirectoryMonitor, BaseDataConverter, BasePlotWidget, BasePointPassportFormer class Mediator(BaseMediator): diff --git a/src/controller/monitor.py b/src/controller/monitor.py index bb3f9fc..533ed45 100644 --- a/src/controller/monitor.py +++ b/src/controller/monitor.py @@ -3,7 +3,7 @@ import os from loguru import logger -from src.utils.base.base import BaseDirectoryMonitor +from utils.base.base import BaseDirectoryMonitor class DirectoryMonitor(BaseDirectoryMonitor): diff --git a/src/controller/passportFormer.py b/src/controller/passportFormer.py index 5b58fc6..1ec2efb 100644 --- a/src/controller/passportFormer.py +++ b/src/controller/passportFormer.py @@ -1,4 +1,4 @@ -from src.utils.base.base import BasePointPassportFormer, BaseIdealDataBuilder +from utils.base.base import BasePointPassportFormer, BaseIdealDataBuilder import pandas as pd class idealDataBuilder(BaseIdealDataBuilder): diff --git a/src/gui/mainGui.py b/src/gui/mainGui.py index 0f076aa..4949ca5 100644 --- a/src/gui/mainGui.py +++ b/src/gui/mainGui.py @@ -3,8 +3,8 @@ from typing import Optional from PyQt5 import QtWidgets from PyQt5.QtCore import Qt -from src.utils.base.base import BaseMainWindow, BaseController -from src.gui.settings_window import settingsWindow +from utils.base.base import BaseMainWindow, BaseController +from gui.settings_window import settingsWindow class MainWindow(BaseMainWindow): def __init__(self, @@ -14,8 +14,8 @@ class MainWindow(BaseMainWindow): self.initUI() self.set_style(self) self.settings_button.clicked.connect(self._show_settings) - self.operSettings = settingsWindow("params\operator_params.json", 'Operator', self._updater_trigger) - self.sysSettings = settingsWindow("params\system_params.json", 'System', self._updater_trigger) + self.operSettings = settingsWindow("params/operator_params.json", 'Operator', self._updater_trigger) + self.sysSettings = settingsWindow("params/system_params.json", 'System', self._updater_trigger) def initUI(self) -> None: self.tabWidget = QtWidgets.QTabWidget() diff --git a/src/gui/plotter.py b/src/gui/plotter.py index 22138a3..5c0a894 100644 --- a/src/gui/plotter.py +++ b/src/gui/plotter.py @@ -5,7 +5,7 @@ import numpy as np from numpy import floating from typing import Optional, Any, NamedTuple -from src.utils.base.base import BasePlotWidget +from utils.base.base import BasePlotWidget class ProcessStage(NamedTuple): mean_value: floating[Any] diff --git a/src/gui/settings_window.py b/src/gui/settings_window.py index f0576b2..b80a9f4 100644 --- a/src/gui/settings_window.py +++ b/src/gui/settings_window.py @@ -4,8 +4,8 @@ from PyQt5.QtCore import Qt from PyQt5.QtGui import QIntValidator -from src.utils.json_tools import read_json, write_json -from src.gui import qt_settings as qts +from utils.json_tools import read_json, write_json +from gui import qt_settings as qts class settingsWindow(QWidget): def __init__(self, path: str, name: str, upd_func): @@ -78,7 +78,8 @@ class settingsWindow(QWidget): def _restore(self) -> None: self._param_table.setRowCount(len(self._data)) - self._param_table.setColumnCount(len(self._data)+1) + keys = self._data.keys() + self._param_table.setColumnCount(len(self._data[keys[0]])+1) for i, (key, items) in enumerate(self._data.items()): self._param_table.setColumnCount(len(self._data[key])+1) self._param_table.setItem(i, 0, QTableWidgetItem(key)) diff --git a/src/main.py b/src/main.py index d3ed19d..239d28f 100644 --- a/src/main.py +++ b/src/main.py @@ -1,13 +1,13 @@ import sys from PyQt5 import QtWidgets -from src.gui.mainGui import MainWindow -from src.controller.monitor import DirectoryMonitor -from src.controller.mediator import Mediator -from src.controller.converter import DataConverter -from src.gui.plotter import PlotWidget -from src.controller.controller import Controller -from src.controller.passportFormer import PassportFormer +from gui.mainGui import MainWindow +from controller.monitor import DirectoryMonitor +from controller.mediator import Mediator +from controller.converter import DataConverter +from gui.plotter import PlotWidget +from controller.controller import Controller +from controller.passportFormer import PassportFormer def main(): diff --git a/src/utils/base/base.py b/src/utils/base/base.py index 6867c2b..88ddea0 100644 --- a/src/utils/base/base.py +++ b/src/utils/base/base.py @@ -6,7 +6,7 @@ from typing import Optional, Union import pandas as pd from PyQt5.QtCore import QThread, QObject, QTimer from PyQt5.QtWidgets import QWidget, QTabWidget -from src.OptAlgorithm import OptAlgorithm +from OptAlgorithm import OptAlgorithm import pandas as pd import pandas as pd import numpy as np @@ -170,7 +170,7 @@ class BasePlotWidget: "pen": {'color': 'g', 'width':3}, }, { - "name": "Posicion ME", + "name": "Posicion FE", "pen": {'color': 'b', 'width':3}, } ] @@ -367,6 +367,7 @@ class BasePointPassportFormer: start_idx, finish_idx = self._find_indexes(signal, dataframe) start_list = times.loc[start_idx].tolist() end_list = times.loc[finish_idx].tolist() + #if start_idx[0] > finish_idx[0]: if len(start_list) - len(end_list) == 1: end_list.append(float(times[len(times)-1])) return start_list, end_list @@ -380,7 +381,14 @@ class BasePointPassportFormer: point_quantity = len(start_list) for stage in self._stages: start_list, end_list = self._find_events(stage, times, dataframe) + temp = min([len(start_list), len(end_list)]) + if temp < point_quantity: + for i in range(temp, point_quantity): + print ("cant find enough", stage) + start_list.append(0) + end_list.append(1) events[stage] = [start_list[:point_quantity], end_list[:point_quantity]] + #print(events, point_quantity) return events, point_quantity def _build_ideal_data(self,