3D Slicer ( Slicer ) — это бесплатный и открытый исходный программный пакет для анализа изображений [1] [2] и научной визуализации . Slicer используется в различных медицинских приложениях, включая аутизм , рассеянный склероз , системную красную волчанку , рак простаты , рак легких , рак молочной железы , шизофрению , ортопедическую биомеханику , ХОБЛ , сердечно-сосудистые заболевания и нейрохирургию . [3]
3D Slicer — это бесплатное программное обеспечение с открытым исходным кодом (лицензия в стиле BSD), представляющее собой гибкую модульную платформу для анализа и визуализации изображений. 3D Slicer расширен для разработки как интерактивных, так и пакетных инструментов обработки для различных приложений. [4]
3D Slicer обеспечивает регистрацию изображений , обработку DTI (диффузионной трактографии) , интерфейс для внешних устройств для поддержки управления изображениями и объемный рендеринг с поддержкой GPU , среди прочих возможностей. 3D Slicer имеет модульную организацию, которая позволяет добавлять новые функции и предоставляет ряд общих функций, недоступных в конкурирующих инструментах. [ необходима цитата ]
Возможности интерактивной визуализации 3D Slicer включают возможность отображения произвольно ориентированных срезов изображения, построение моделей поверхности из меток изображения и аппаратное ускорение объемного рендеринга. [ требуется ссылка ] 3D Slicer также поддерживает богатый набор функций аннотации ( опорные точки и виджеты измерений, настраиваемые цветовые карты). [ требуется ссылка ]
Возможности Slicer включают в себя: [5]
Slicer скомпилирован для использования на нескольких вычислительных платформах, включая Windows , Linux и macOS .
Slicer распространяется по свободной лицензии с открытым исходным кодом в стиле BSD . Лицензия не имеет ограничений на использование программного обеспечения в академических или коммерческих проектах. Однако не делается никаких заявлений о том, что программное обеспечение будет полезно для какой-либо конкретной задачи. Пользователь несет полную ответственность за обеспечение соответствия местным правилам и нормам. Slicer не был официально одобрен для клинического использования FDA в США или каким-либо другим регулирующим органом в другом месте.
Slicer начинался как магистерский проект между лабораторией хирургического планирования в больнице Brigham and Women's Hospital и лабораторией искусственного интеллекта Массачусетского технологического института в 1998 году. [6] 3D Slicer версии 2 был загружен несколько тысяч раз. В 2007 году была выпущена полностью переработанная версия 3 Slicer. Следующий крупный рефакторинг Slicer был начат в 2009 году, в результате чего графический интерфейс Slicer был переведен с использования KWWidgets на Qt . Версия 4 Slicer с поддержкой Qt была выпущена в 2011 году. [7] По состоянию на 2022 год Slicer 4 был загружен более миллиона раз пользователями по всему миру. [8]
Программное обеспечение Slicer позволило провести множество исследовательских публикаций , все из которых направлены на улучшение анализа изображений. [9]
Этот значительный программный проект стал возможным благодаря участию нескольких крупномасштабных финансируемых NIH усилий, включая сообщества NA-MIC, NAC, BIRN , CIMIT, Harvard Catalyst и NCIGT. Финансовая поддержка поступает из нескольких федеральных источников финансирования, включая NCRR , NIBIB , NIH Roadmap, NCI , NSF и DOD .
Платформа Slicer предоставляет функциональные возможности для сегментации, регистрации и трехмерной визуализации мультимодальных данных изображений, а также расширенные алгоритмы анализа изображений для диффузионно-тензорной визуализации, функциональной магнитно-резонансной томографии и лучевой терапии под визуальным контролем . Поддерживаются стандартные форматы файлов изображений , а приложение интегрирует возможности интерфейса с программным обеспечением для биомедицинских исследований.
Slicer использовался в различных клинических исследованиях . В исследованиях терапии с визуальным контролем Slicer часто используется для создания и визуализации наборов данных МРТ, которые доступны до и во время операции, чтобы обеспечить получение пространственных координат для отслеживания инструментов. [10] Фактически, Slicer уже сыграл такую ключевую роль в терапии с визуальным контролем, что его можно считать развивающимся вместе с этой областью, с более чем 200 публикациями, ссылающимися на Slicer с 1998 года.
Помимо создания 3D-моделей из обычных изображений МРТ, Slicer также использовался для представления информации, полученной из фМРТ (использование МРТ для оценки кровотока в мозге, связанного с активностью нейронов или спинного мозга ), [11] DTI (использование МРТ для измерения ограниченной диффузии воды в визуализируемой ткани), [12] и электрокардиографии . [13] Например, пакет DTI Slicer позволяет преобразовывать и анализировать изображения DTI. Результаты такого анализа можно интегрировать с результатами анализа морфологической МРТ, МР- ангиограмм и фМРТ. Другие области применения Slicer включают палеонтологию [14] и планирование нейрохирургии. [15]
На сервере Slicer's Discourse существует активное сообщество . [16]
Ориентация разработчиков Slicer предлагает ресурсы для разработчиков, впервые использующих платформу. Разработка Slicer координируется на форуме Slicer Discourse, а сводка статистики разработки доступна на Ohloh. [17]
3D Slicer построен на VTK , графической библиотеке на основе конвейера, которая широко используется в научной визуализации, и ITK , фреймворке, широко используемом для разработки сегментации изображений и регистрации изображений . В версии 4 основное приложение реализовано на C++ , а API доступен через оболочку Python для облегчения быстрой итеративной разработки и визуализации в прилагаемой консоли Python. Пользовательский интерфейс реализован на Qt и может быть расширен с использованием C++ или Python. [18]
Slicer поддерживает несколько типов модульной разработки. Полностью интерактивные, пользовательские интерфейсы могут быть написаны на C++ или Python. Командные программы на любом языке могут быть упакованы с использованием легкой спецификации XML , из которой автоматически генерируется графический интерфейс.
Для модулей, которые не распространяются в приложении ядра Slicer, доступна система для автоматической сборки и распространения для выборочной загрузки из Slicer. Этот механизм облегчает включение кода с различными лицензионными требованиями из разрешительной лицензии в стиле BSD, используемой для ядра Slicer.
Процесс сборки Slicer использует CMake для автоматической сборки предварительных и дополнительных библиотек (за исключением Qt). Основной цикл разработки включает автоматическое тестирование, а также инкрементальные и ночные сборки на всех платформах, контролируемые с помощью онлайн-панели управления.
Разработка Slicer в основном осуществляется через репозиторий GitHub. [19]