Giter Site home page Giter Site logo

pasaopasen / wave-animation-from-svd Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 47.44 MB

Unpack svd files and creating animation of running waves

MATLAB 11.57% Python 50.30% C# 20.84% VBA 5.35% C++ 11.59% C 0.34%
svd wave-animation polytec polytec-file psv unpack-svd-files dotnetcore csharp-app python russian

wave-animation-from-svd's Introduction

Wave animation from svd

Unpack svd files and creating animation of running waves.

Before running

  1. Download and install service tool Polytec Update

  2. Run it, check File Access and Scan Viewer and install

  3. Download and install .NET Core>=3.1

  4. Download Python, install with adding to PATH and so on

  5. Open cmd.exe and run these commands:

pip install numpy==1.18.4
pip install matplotlib==3.2.1
pip install pywin32==227

По поводу алгоритма

  1. Выбираются нужные директории для сохранения в целевой файл

  2. Туда копируются скрипты и вспомогательные файлы

  3. Запускается create.py. Если нужно поменять какие-то параметры изображений, в скрипте это легко делается (в том числе цветовая палитра). Суть скрипта:

    1. Сначала информация из целевого файла конвертируется в массивы numpy (может занять минуту)

    2. Выводится некоторое описание, после чего в окне скрипта надо указать шаг по времени (чтобы не делать рисунки для всех тысяч времён)

    3. Создаются рисунки со скоростью примерно 1.5 в секунду (при dpi = 350) на стандартном Python. На анаконде это работает раза в 2-3 быстрее, но ей тяжело пользоваться в рамках общего приложения + много весит. Параллелить здесь особо нечего, так как самих вычислений почти нет, время тратится либо на взаимодействие с COM-объектами, либо на графическую панель.

  4. После работы скрипта открывается форма, в неё загружаются созданные изображения.

    • При режиме скорость это может занять несколько секунд и около 8Гб оперативки для 500 изображений при dpi = 350 (это больше проблема .NET, так что от разрешения вряд ли есть особая зависимость, поэтому создавать больше 100-200 изображений в этом режиме не рекомендую), зато сам просмотр изображений работает очень быстро и симпатично.

    • При режиме экономия памяти изображения считываются по мере надобности + вызвается сборщик мусора. Очень рекомендую использовать этот вариант, так как потери в скорости незаметны.

Как (предположительно) этим следует пользоваться

Общая задача: от пьезоэлементов отходят "волны", которые при благоприятных условиях столкнутся и образуют сильный всплеск как раз в районе дефекта; это столкновение произойдёт в некоторый неизвестный заранее момент времени, который требуется выявить визуально (чтобы локализовать дефект). Для этого рекомендуется сначала проверить 200-500 временных отметок на достаточно большом диапазоне, потом сузить диапазон в 3 раза (взять тот кусок, где явно была активность) и проверить на нём 200-400 отметок; после этого можно ещё раз сузить диапазон и взять больше/меньше отметок уже для демонстрационных целей. В таком случае всего потребуется использовать не более 1500 временных отметок.

Examples

Start:

1

Release 1.0.0:

1

Release 1.1.0:

1

Release 2.0

Cut data:

1

See results:

1

Heatmaps

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

wave-animation-from-svd's People

Contributors

dependabot[bot] avatar pasaopasen avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

nadiwashere

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.