Документация Engee

Инспектор данных

Инспектор данных — это приложение Engee, предназначенное для работы с результатами как одного моделирования, так и нескольких, то есть сравнительного анализа результатов нескольких запусков модели.

Два основных сценария использования Инспектора данных:

  1. Анализ разных сигналов одной модели, в том числе сравнительный (сравнение разных сигналов одной модели).

  2. Сравнительный анализ результатов разных запусков одной и той же модели (сравнение одного и того же сигнала, но при разных запусках модели).

Запуск Инспектора данных

Для запуска Инспектора данных откройте меню Приложения и выберите Инспектор данных:

data inspector 1

После этого откроется отдельное окно браузера с интерфейсом Инспектор данных.

Пользовательский интерфейс

Окно состоит из двух областей: сигналов (1) и графиков (2).

data inspector 2

Область сигналов

В области сигналов собраны все сигналы всех прогонов модели.

Для анализа сигнала после моделирования нужно еще до запуска модели пометить его как записываемый. Для этого нажмите по сигнальной линии и выберите значок записи signal logging 1:

graph logging 1

Инспектор позволяет работать с пользовательскими сессиями для упрощения анализа данных. Сессия — это набор параметров в формате .ngdat, который включает:

  • Конфигурацию окна графиков graphs icon 1 — сохранение расположения осей, количества строк и столбцов в сетке;

  • Отображение определенных сигналов на выбранных осях, включая цветовую схему;

  • Сохранение текущих прогонов и их сравнений для дальнейшего анализа.

В инспекторе можно сохранять и загружать сессии:

data inspector sessions

  1. Загрузка сессии session loading 1 — при загрузке сохраненной сессии инспектор данных полностью восстанавливает сохраненную ранее конфигурацию.

    session loading 2

    При загрузке сессии можно выбрать:

    • Полностью очистить текущие прогоны и заменить их данными из загруженной сессии;

    • Отправить текущий прогон в архив, сделав активным прогон из загруженной сессии. Архивные прогоны из сессии добавляются в общий архив.

      session loading 3

  2. Сохранение сессии session saving 1 — это процесс фиксации текущей конфигурации инспектора данных, включая настройки графиков, сигналов и прогонов.

    session saving 2

    Необходимо решить какие прогоны сохранить: все доступные или выбранные (отмеченные галочкой). По умолчанию сессия сохраняется в директории /user с именем sessionName. Сохраненные сессии будут доступны в файловом браузере file browser 7.

    session saving 3


В инспекторе сигналы сгруппированы по прогонам.

data inspector 4

Активный прогон показан в верхней части области сигналов, все остальные собраны ниже в Архиве. При нажатии по имени прогона разворачивается его окно свойств:

data inspector settings 1

На панели прогона доступны опции:

  1. Комментарий data inspector comment 1 — здесь можно описать особенности конкретного прогона, это поможет при сравнении с другими прогонами.

  2. Сохранить data inspector save 1 — все сигналы прогона можно сохранить в CSV-файл:

    save to csv 1

  3. Удалить data inspector delete 1 — удаление прогона из Инспектора данных.

Удалить все архивные прогоны можно кнопкой Очистить:

data inspector 5

Для каждого сигнала доступно изменение цвета и стиля линии. Для этого кликните мышью на цветной полоске справа от названия сигнала:

data inspector 6

Флажок слева от названия сигнала предназначен для вывода сигнала на выбранную координатную плоскость.

Область графиков

В области графиков отображаются выбранные сигналы. При наведении мыши на координатную плоскость появляется панель инструментов:

data inspector 7

  1. Масштабировать button 1 — осуществляет масштабирование координатной плоскости. Появляется возможность выделить область и увеличить ее содержимое. Чтобы вернуть масштаб по умолчанию, дважды кликните на координатной плоскости левой кнопкой мыши.

  2. Панорамировать button 2 — инструмент перемещения графика на координатной плоскости. Позволяет двигать график в любом направлении с помощью курсора мыши.

  3. Увеличить масштаб button 3 — увеличивает масштаб координатной плоскости.

  4. Уменьшить масштаб button 4 — уменьшает масштаб координатной плоскости.

  5. Масштабировать автоматически button 5 — возвращает значение масштаба координатной плоскости по умолчанию.

  6. Скачать график как PNG button 6 — сохраняет координатную плоскость в файл с форматом PNG.

  7. Один курсор button 7 — отображает на графике значения при наведении на него указателя мыши.

  8. Два курсора button 8 — отображает значения на всех графиках.

  9. Копировать в буфер обмена button 9 — копирует координатную плоскость в буфер обмена. Вы можете вставлять плоскость в Engee и другие сторонние программы.

  10. Очистить button 10 — удаляет график с координатной плоскости.

Помимо основного набора инструментов вам доступны две кнопки:

  • Расположение осей preset button — позволяет настроить поле вывода графиков. Предлагается выбор шаблонов расположения графиков из базовых пресетов или их самостоятельная настройка.

    button 12

  • Отображение легенды button 11 — включает/отключает отображение легенды имени сигналов на координатной плоскости.

Хранение/загрузка прогонов

Результаты, полученные с помощью инспектора данных, можно сохранить в файл формата CSV:

data inspector wa 3

Файл будет сохранен по пути /user/run_data. Рекомендуется сохранять результаты всех важных прогонов, чтобы иметь возможность восстановить их при необходимости. Если прогоны были удалены из архива или недоступны для повторного анализа в инспекторе, их можно снова загрузить и воспроизвести с помощью WorkspaceArray:

  1. Используйте функцию для очистки заголовков CSV-файла и записи в WorkspaceArray. Функция удалит лишние префиксы, цифры и пробелы (заголовок файла, предназначенный для экспорта в WorkspaceArray, должен содержать только названия столбцов time и value без пробелов):

    function clean_csv_header(file_path::String)
        # Читаем строки из файла
        lines = readlines(file_path)
    
        # проверка целостности CSV-файла
        if !isempty(lines)
            # Удаляем префиксы, цифры и лишние пробелы из заголовка
            cleaned_header = join([strip(replace(split(col, ".") |> last, r"\d+" => "")) for col in split(lines[1], '\t')], '\t')
    
            # перезапись файла
            open(file_path, "w") do file
                write(file, cleaned_header * "\n")
                write(file, join(lines[2:end], "\n"))
            end
        else
            error("Файл пустой.")
        end
    end
    
    file_path = "/user/run_data/my_file.csv" #путь к CSV-файлу
    
    
    clean_csv_header(file_path) #очищение заголовка
    
    workspacecsv = WorkspaceArray("workspacearray_csv", "/user/run_data/my_file.csv") #запись в WorkspaceArray
  2. Откройте инспектор данных, где в последнем прогоне отобразится переменная WorkspaceArray, содержащая данные симуляции или прогона:

    data inspector wa 1

Примеры использования

Анализ результатов одного моделирования

Рассмотрим для примера следующую модель:

data inspector 8

Выходные сигналы блоков Sine Wave и Bias помечены как отслеживаемые. После завершения симуляции модели их можно увидеть в Инспекторе данных:

data inspector 9

Чтобы добавить график сигнала на координатную плоскость, установите флажок рядом с именем сигнала:

data inspector 11

Опционально можно настроить поле вывода графиков. Нажмите кнопку расположения осей preset button и выберите шаблон с двумя уменьшенными графиками слева и одним большим справа:

preset example 1

Значения сигналов видны при наведении мыши на график. Можно сравнить сигналы на одном графике. Для этого:

  1. Установим флажки у тех сигналов, которые желаем сравнить.

  2. Включим сравнение данных при наведении button 8.

При наведении мыши отображаются значения обоих сигналов:

data inspector 12

Сравнение нескольких прогонов модели

Инспектор данных позволяет сравнивать несколько прогонов модели между собой. Это удобно, например, для анализа влияния отдельного параметра (или группы параметров) на поведение модели в целом.

Изменим значение параметра в блоке Bias и запустим моделирование. После завершения симуляции в Инспекторе данных актуальным стал новый прогон, а предыдущий доступен в списке Архив:

data inspector 13

Сигналы из разных прогонов можно сравнить между собой так же, как и сигналы одной модели:

data inspector 14

Прогоны и сигналы можно сравнить через вкладку Сравнения. Прогоны сравниваются в рамках одной модели:

data inspector run comparison

Сигналы могут сравниваться с разных моделей и прогонов:

data inspector signals comparison