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

С тех пор мы разработали новую версию нашего веб-сайта и новый видеоурок о том, как использовать клиент TOMAAT через 3D Slicer для обработки медицинских изображений в облаке.

Мы решили продолжить пошаговое руководство по использованию интеграции TOMAAT 3D Slicer.

Шаг 1: Установите 3D-слайсер

3D Slicer — это популярный инструмент визуализации медицинских изображений с открытым исходным кодом, который можно использовать на платформах Windows, Linux и Mac. Он построен на базе ITK/VTK и может быть легко расширен. Он имеет встроенный интерпретатор Python, который упрощает разработку расширений.

Чтобы установить Slicer, вам нужно посетить их веб-сайт и скачать установочный пакет, наиболее подходящий для ваших нужд и платформы. Если вы предприимчивы, вы можете выбрать ночную версию, а если вам не нравятся сюрпризы, вы можете загрузить стабильную версию. Расширение клиента TOMAAT доступно для обеих версий.

Откройте загруженный файл и запустите 3D-слайсер в первый раз! Некоторые операционные системы попросят вас разрешить запуск 3D-слайсера, что вызовет предупреждение системы безопасности. На Mac необходимо перейти на панель «Системные настройки» > «Безопасность и конфиденциальность» и вручную разрешить запуск 3D-слайсера. В случае возникновения проблем кратко ищите в Google.

Шаг 2: Установите расширение TOMAAT

После того, как вы откроете слайсер, вы увидите такой интерфейс:

Используя кнопку «Менеджер расширений», которая находится в правой части панели инструментов, вы можете установить TOMAAT.

Выскочит главное окно «Менеджера расширений»:

Нам нужно искать TOMAAT среди множества модулей, которые были разработаны и опубликованы для 3D-Slicer. Мы можем воспользоваться удобным окном поиска в верхней правой части окна «Менеджер расширений». Как только мы найдем TOMAAT, мы можем нажать «установить» и, наконец, «перезапустить», чтобы перезапустить Slicer. Это показано на картинке (действие 1: поиск; действие 2: установка; действие 3: перезапуск слайсера):

Шаг 3: Перейдите к TOMAAT

После перезапуска слайсера мы можем получить доступ к модулю TOMAAT, перемещаясь по меню слайсера, как показано на рисунке. Важное примечание: пользователям, устанавливающим tomaat в местах с привилегированным доступом (доступ администратора), потребуется ненадолго запустить Slicer с привилегиями. Например, в Windows многие пользователи сочли необходимым запустить Slicer с привилегиями в первый раз после установки TOMAAT. Это связано с тем, что для расширения TOMAAT требуются дополнительные пакеты, установленные во внутреннем интерпретаторе Python Slicer. На сегодняшний день эти два пакета — requests и requests_toolbelt, которые устанавливаются при первом запуске TOMAAT и необходимы для того, чтобы клиент мог делать HTTP-запросы. Вы можете найти это в коде здесь (строка 5, строка 13).

Нажмите TOMAAT, чтобы загрузить расширение и начать с ним работать. Вы увидите этот интерфейс:

Шаг 4: Загрузите медицинские данные в Slicer

Вы можете загружать медицинские изображения в любом из наиболее распространенных медицинских форматов. Slicer совместим с большинством форматов, включая DICOM, Nifty и другие форматы ITK. Вам просто нужно перетащить файлы в окно Slicer, чтобы они были загружены и отображены в пользовательском интерфейсе.

Шаг 5: Обработка медицинских изображений

В этом примере мы ограничимся случаем, когда мы хотим использовать общедоступную модель, такую ​​как те, что перечислены здесь, чтобы сделать вывод на нашем недавно загруженном медицинском изображении.

В качестве первого шага мы нажимаем кнопку обнаружить службы, которая запросит список общедоступных серверов, размещенных на http://tomaat.cloud, и получит информацию обо всех службах, которые в настоящее время доступны и зарегистрированы на нашей платформе. Любой, у кого есть работающая модель, размещенная на любом компьютере с подключением к Интернету, может бесплатно добавить свою модель в этот список после получения от нас ключа API. Также можно запускать независимые (неофициальные) общедоступные списки серверов внутри частных организаций или в качестве альтернативы текущему централизованному списку, размещенному на наших серверах.

После нажатия кнопки «Обнаружить сервисы» мы получаем список доступных конечных точек прогнозов, отсортированных по модальности, анатомии и задаче.

Поскольку мы загрузили МРТ простаты, в этом конкретном примере мы идем дальше и выбираем соответствующую услугу. Другие сервисы, на самом деле, не будут работать с этими данными, поскольку они обучены для других видов задач.

Как только мы нажмем на службу, выделенную на этом рисунке, расширение слайсера TOMAAT создаст графический интерфейс в соответствии с интерфейсом этого конкретного сервера. Каждому серверу для работы требуется собственный набор параметров, TOMAAT может учесть это, внедрив механизм изменения пользовательского интерфейса, представляемого пользователям, чтобы позволить им взаимодействовать с любым сервером.

В этом случае пользовательский интерфейс, выделенный красным, был создан. Важным действием пользователя здесь является выбор входного тома (в данном случае он называется «пример» и уже выбран) и нажатие кнопки «Обработать».

В этот момент появится предупреждение, если пользователь согласен с тем, что указано в предупреждении, следует нажать кнопку «Отправить», чтобы загрузить данные в удаленную конечную точку прогнозирования и получить ответ.

Через несколько мгновений получается окончательный результат. Он визуализируется в трехмерном представлении, предлагаемом Slicer, а также накладывается поверх изображения в аксиальной, коронарной и сагиттальной проекциях.

На этом мы завершаем наш урок, который также доступен в видео здесь. Не забудьте посетить наш сайт http://tomaat.cloud