Unpack svd files and creating animation of running waves.
-
Download and install service tool Polytec Update
-
Run it, check File Access and Scan Viewer and install
-
Download and install .NET Core>=3.1
-
Download Python, install with adding to PATH and so on
-
Open cmd.exe and run these commands:
pip install numpy==1.18.4
pip install matplotlib==3.2.1
pip install pywin32==227
-
Выбираются нужные директории для сохранения в целевой файл
-
Туда копируются скрипты и вспомогательные файлы
-
Запускается create.py. Если нужно поменять какие-то параметры изображений, в скрипте это легко делается (в том числе цветовая палитра). Суть скрипта:
-
Сначала информация из целевого файла конвертируется в массивы numpy (может занять минуту)
-
Выводится некоторое описание, после чего в окне скрипта надо указать шаг по времени (чтобы не делать рисунки для всех тысяч времён)
-
Создаются рисунки со скоростью примерно 1.5 в секунду (при dpi = 350) на стандартном Python. На анаконде это работает раза в 2-3 быстрее, но ей тяжело пользоваться в рамках общего приложения + много весит. Параллелить здесь особо нечего, так как самих вычислений почти нет, время тратится либо на взаимодействие с COM-объектами, либо на графическую панель.
-
-
После работы скрипта открывается форма, в неё загружаются созданные изображения.
-
При режиме скорость это может занять несколько секунд и около 8Гб оперативки для 500 изображений при dpi = 350 (это больше проблема .NET, так что от разрешения вряд ли есть особая зависимость, поэтому создавать больше 100-200 изображений в этом режиме не рекомендую), зато сам просмотр изображений работает очень быстро и симпатично.
-
При режиме экономия памяти изображения считываются по мере надобности + вызвается сборщик мусора. Очень рекомендую использовать этот вариант, так как потери в скорости незаметны.
-
Общая задача: от пьезоэлементов отходят "волны", которые при благоприятных условиях столкнутся и образуют сильный всплеск как раз в районе дефекта; это столкновение произойдёт в некоторый неизвестный заранее момент времени, который требуется выявить визуально (чтобы локализовать дефект). Для этого рекомендуется сначала проверить 200-500 временных отметок на достаточно большом диапазоне, потом сузить диапазон в 3 раза (взять тот кусок, где явно была активность) и проверить на нём 200-400 отметок; после этого можно ещё раз сузить диапазон и взять больше/меньше отметок уже для демонстрационных целей. В таком случае всего потребуется использовать не более 1500 временных отметок.
Start:
Release 1.0.0:
Release 1.1.0:
Release 2.0
Cut data:
See results: