Рассмотрим остальные виджеты. Они имеют свои уникальные возможности для их применения. Мы также продемонстрируем их на примере того же проекта
"Image Processing". Прежде рекомендуется ознакомиться с разделом
создание интерфейса для управления проектом.
Виджет "Node packages" показывает все пакеты и все экземпляры (инстансы) для выбранного узла. Создадим новую вкладку для "Workspace" ImgProc. Для этого кликните на кнопку . Появится вкладка "Tab 2", которую вы можете переименовать. Назовите ее, например "Next Work".
Кликните на виджет "Node packages" , выберите узел "median" и нажмите ОК.
Обратите внимание на кнопки в левой нижней части панели. Кнопка позволяет вам добавить дополнительные кнопки с определенным функционалом на данный виджет. Кнопка для данного виджета позволяет выбрать , тем самым добавив возможность просмотра и изменения параметров выбранного узла. Если вы не добавляли дополнительных кнопок для данного виджета и не отображали параметры, то виджет будет выглядеть так:
Данный виджет очень информативный, но в то же время занимает очень много места. Использовать его удобно, когда вам необходимо одновременно знать информацию о всех пакетах узла и о всех его экземплярах (инстансах). Также данный виджет обладает гибкостью, позволяя его настраивать под ваши нужды с помощью добавления дополнительных кнопок для отображения интересующей вас информации.
Виджет "Node Instances" предназначен для отображения экземпляров (инстансов) узла, которые в свою очередь необходимы для контроля расчёта пакетов в узле. Напомним, что экземпляры позволяют смотреть информацию об обработке пакета, такую как: работа программного модуля, входные и выходные пакеты узла и сопутствующая им информация и т.д.
Аналогичным образом создайте новую вкладку и кликните на виджет "Node Instances". В появившемся окне выберите узел "median" и нажмите "ОК".
Виджет "Project Status" является удобным инструментом для отображения статуса проекта. Он показывает количество пакетов в узлах, обрабатываемых пакетов, и также количество упавших пакетов. Является очень удобным виджетом для контроля проекта и подходит для продвинутых пользователей платформы, которые уже знакомы с обработкой и отладкой графа.
Аналогичным образом создайте новую вкладку и кликните на виджет "Node Instances". В появившемся окне выделите все узлы и нажмите "ОК".
Вы видите виджет в виде таблицы. Столбец Node - названия узлов, Total - количество пакетов в узлах, Running - количество пакетов на обработке в узлах, Errors - упавшие пакеты в узлах. Обычно узел, в котором есть упавшие пакеты, подсвечивается красным в Project Status.
Виджет "Interactive" предназначен для ручного запуска пакета в узле на вычислительном кластере. Демонстрация запуска узла была показана в разделе
"Как запустить узел ?"
. Если вы уже ознакомились с данным разделом, то вам в целом уже должно быть понятно, что делает данный виджет.
Также создайте новую вкладку и кликните на виджет "Interactive" и в появившемся окне выберите узел "median" и нажмите "ОК".
Чтобы перейти в меню запуска пакета узла нажмите или кликните двойным щелчком мыши по пакету. Появится уже знакомое для вас окно
запуска узла
:
Виджет "Interactive" удобно располагать вместе с виджетом "Package" в одной вкладке, чтобы соответственно запускать расчёт в каком-либо узле, и выводить результирующую информацию из какого-либо другого узла.
Возникают ситуации, когда вам необходимо отображать только изображения, хранящиеся в пакетах определенного узла. Виджет "Package Image" как раз предназначен для таких ситуаций.
Также создайте новую вкладку и кликните на виджет "Package Image" и в появившемся окне выберите узел "Result" и нажмите "ОК". Результат получится таким:
Как видите отображаются только изображения, хранящиеся в пакете узла "Result".
Данный виджет отображает электронные отчеты, хранящиеся в узле. Виджет очень удобен, если вы хотите презентовать ваш проект и отображать в интерфейсе информацию в виде красивого, структурированного отчёта.
Добавьте в узле "median" следующие строки в скрипт для импорта необходимых библиотек:
import base64
import io # дополнительные библиотеки для корректной работы электронного отчета
Добавьте следующие строки кода для формирования электронного отчета:
report=f"""
Обработанное изображение после медианной фильтрации выглядит следующим образом:
{fig_to_html(fig_out)}
"""
Не забудьте в функции bfj.save_package сохранить электронный отчет:
bfj.save_package(label='result',
data=dict(input=data_in, output=data_out),
meta=dict(last_filter='median', params=dict(radius=radius, mode=mode)),
image=dict(input=fig_in, output=fig_out),
# строка скрипта, необходимая для сохранения электронного отчета
files={"Processed_data_report.md": lambda f: f.write(report.encode())})
Электронный отчет для узла "median" готов! Теперь произведите
расчет скрипта в узле
"median", чтобы в "Result" появился электронный отчет.
Теперь также создайте новую вкладку и выберите виджет "Markdown Report" и в появившемся окне выберите узел "Result" и нажмите "ОК".
Результат получится таким:
Поздравляем, вы изучили все виджеты, необходимые для создания интерфейса проекта!!