Цей інструмент для візуалізації та обробки даних вихрострумового контролю теплообмінних труб парогенераторів ВВЕР, розроблений із використанням PyQt5 та matplotlib, дозволяє:
- Завантажувати дані (формати CSV, DAT, TXT або файли з просторовим розділенням).
- Візуалізувати дані у вигляді пар графіків:
- Графіки «напруга проти індексу».
- Графіки «напруга на першому сенсорі проти другого».
- Інтерактивно виділяти діапазони даних за допомогою SpanSelector або через точне задання індексів.
- Копіювати та вставляти дані (з можливістю масштабування та випадкового розміщення вставок).
- Обчислювати амплітуду та фазу даних за допомогою зовнішньої функції
get_amp_phase
.
-
Завантаження даних:
Програма підтримує CSV-файли з заголовками, а також файли з просторовим розділенням (без заголовків). Дані автоматично реверсуються (якщо необхідно) та індексуються. -
Візуалізація:
Для кожної пари колонок формується два типи графіків: -
Інтерактивність:
- За допомогою SpanSelector можна виділити певний діапазон даних, що дозволяє обчислювати амплітуду та фазу для вибраних значень. Крім того, є можливість точного задання індексів для виділення.
- За допомогою кнопок matplotlib можна змінювати масштаб та відображення графіків
-
Копіювання та вставка:
Програма підтримує:- Копіювання виділеного діапазону даних (Ctrl+C).
- Вставку даних із зазначенням позиції та масштабування (Ctrl+V).
- Випадкове розміщення вставок із можливістю задати постійний або випадковий коефіцієнт масштабу (Ctrl+Shift+V).
-
Параметр запуску --num_pairs:
За допомогою командного рядка можна задати кількість пар колонок для візуалізації. Наприклад, для відображення лише 3 пар використовуйте:python main.py --num_pairs 3
- Python 3.x
- PyQt5
- matplotlib
- pandas
- numpy
- Модуль
phase.py
(повинен містити функціюget_amp_phase
)
-
Клонування репозиторію:
git clone https://github.com/postcanonical/analysis.git cd analysis
-
Встановлення залежностей: Спочатку створіть venv
python -m venv .venv source .venv/bin/activate
Використовуйте файл
requirements.txt
:pip install -r requirements.txt
-
Переконайтеся, що модуль
phase.py
знаходиться у вашому проєкті.
Запустіть програму, виконавши наступну команду:
python main.py
Щоб встановити заздалегідь визначену кількість пар колонок для відображення (наприклад, 3), запустіть програму так:
python main.py --num_pairs 3
Це дозволить обмежити кількість пар графіків, навіть якщо даних більше.
Після запуску відкривається головне вікно, що містить:
- Графічну область:
Ліва частина вікна, де відображаються графіки:- Графіки «колонка проти індексу».
- Графіки «колонка проти колонки».
- Бокове меню:
Права частина вікна з кнопками для доступу до функцій:-
Data Interference (Інтерференція даних):
Опції для копіювання, вставки та випадкового розміщення вставок. -
Precise Data Selection (Точний вибір даних):
Можливість вибрати діапазон даних за індексами. -
Save Data to File (Зберегти дані у файл):
Збереження обраного діапазону або всіх даних у CSV-файл. -
Load Data (Завантажити дані):
Завантаження нового файлу з даними.
-
- Інтерактивне виділення:
За допомогою SpanSelector (використовуйте мишу) виділіть потрібний діапазон.
Виділення також можна здійснювати через точне задання індексів у меню "Precise Data Selection".
-
Копіювання:
Після виділення даних натиснітьCtrl+C
або скористайтесь відповідною кнопкою в меню. -
Вставка:
Для вставки даних натиснітьCtrl+V
.
Якщо потрібно здійснити випадкову вставку, скористайтесь комбінацієюCtrl+Shift+V
або виберіть опцію "Randomize Paste Positions" у меню.
Після виділення даних програма автоматично обчислює амплітуду та фазу для кожної пари колонок з використанням функції get_amp_phase
. Результати відображаються у статус-барі в нижній частині бокового меню. Також корисно дивитись за інформацією в терміналі, яка теж оновлюється.
-
Консольні повідомлення:
Програма виводить інформацію про завантаження даних, копіювання, вставку та обчислення параметрів у консоль для налагодження. -
Обробка помилок:
У випадку виникнення помилок (наприклад, невірний формат файлу або проблеми з обчисленням) з’являться відповідні повідомлення. -
Відображення ймовірності дефекту:
Якщо датасет має колонки з назвоюdefect_proba_N
, то прогамма замалює червоним кольором ті значення, які ближче до 1 на графікахN
, деN
- це номер пари колонок.
Цей проєкт розповсюджується за ліцензією MIT.
- Контактна інформація: Telegram: postcanonical