Jump to content

SimpleITK

Разработчик(и) Консорциум программного обеспечения Insight
Стабильная версия
2.3.0 / 13 сентября 2023 г .; 10 месяцев назад ( 13.09.2023 )
Написано в C++ , Python , R , Java , C# , Lua , Ruby , Tcl
Операционная система Кросс-платформенный
Тип Библиотека для анализа изображений
Лицензия Апач 2.0
Веб-сайт www .simpletk .org

SimpleITK  — это упрощенный интерфейс с открытым исходным кодом для набора инструментов Insight Segmentation and Registration Toolkit (ITK). Библиотека анализа изображений SimpleITK доступна на нескольких языках программирования, включая C++ , Python , R , [1] Java , C# , Lua , Ruby и Tcl . Бинарные дистрибутивы доступны для всех трёх основных операционных систем ( Linux , macOS и Microsoft Windows ).

Разработанный Национальными институтами здравоохранения (NIH) как открытый ресурс, его основная цель — сделать алгоритмы, доступные в библиотеке ITK, доступными для самого широкого круга ученых, чья работа включает анализ изображений , независимо от их навыков разработки программного обеспечения. [2] Как следствие, интерфейс SimpleITK предоставляет только наиболее часто изменяемые алгоритмические настройки компонентов ITK. Кроме того, библиотека предоставляет как объектно-ориентированный , так и процедурный интерфейс для большинства фильтров обработки изображений. Последний обеспечивает рабочие процессы анализа изображений с кратким синтаксисом. Вторичная цель библиотеки — продвижение воспроизводимых рабочих процессов анализа изображений. [3] с помощью библиотеки SimpleITK в сочетании с современными инструментами для воспроизводимых вычислительных рабочих процессов, доступными на языках программирования Python ( блокноты Jupyter ) и R ( пакет Knitr ).

Разработка программного обеспечения сосредоточена на GitHub с использованием модели fork and pull . Проект создается с помощью инструмента CMake , а ночные сборки публикуются на панели мониторинга качества проекта .

Многие приложения и библиотеки для анализа медицинских изображений включают SimpleITK в качестве ключевого строительного блока, поскольку он обеспечивает широкий спектр компонентов фильтрации изображений и ввода-вывода изображений с удобным пользовательским интерфейсом. Примеры включают pyOsirix [4] инструмент написания сценариев для популярного приложения Osirix , пакета Python pyradiomics для извлечения радиомических характеристик из медицинских изображений, [5] приложение для анализа изображений 3DSlicer , библиотека регистрации медицинских изображений SimpleElastix, [6] и библиотека глубокого обучения NiftyNet для медицинской визуализации. [7]

Первоначальная разработка SimpleITK финансировалась Национальной медицинской библиотекой США в рамках программы Закона о восстановлении и реинвестировании Америки (ARRA) в результате сотрудничества клиники Мэйо, Kitware Inc, Университета Айовы и очной программы NLM. Первый крупный релиз инструментария был анонсирован в апреле-мае 2017 года . Второй крупный релиз был анонсирован в сентябре 2020 года.

В период с 2013 по 2019 год разработка SimpleITK в основном осуществлялась в рамках очной исследовательской программы Национальной медицинской библиотеки с сотрудниками Университета Айовы и Университета Монаша. С 2019 года разработка SimpleITK в основном ведется Управлением киберинфраструктуры и вычислительной биологии Национального института аллергии и инфекционных заболеваний . В апреле 2020 года инструментарий сменил логотип на более современный дизайн.

Гауссово сглаживание

[ редактировать ]

Короткие скрипты Python, иллюстрирующие чтение, размытие и запись изображений. Используя объектно-ориентированный интерфейс:

import SimpleITK as sitk
import sys

if len(sys.argv) < 4:
    print("Usage: SimpleGaussian <input> <sigma> <output>")
    sys.exit(1)

reader = sitk.ImageFileReader()
reader.SetFileName(sys.argv[1])
image = reader.Execute()

pixelID = image.GetPixelID()

gaussian = sitk.SmoothingRecursiveGaussianImageFilter()
gaussian.SetSigma(float(sys.argv[2]))
image = gaussian.Execute(image)

caster = sitk.CastImageFilter()
caster.SetOutputPixelType(pixelID)
image = caster.Execute(image)

writer = sitk.ImageFileWriter()
writer.SetFileName(sys.argv[3])
writer.Execute(image)

Более краткая версия с использованием процедурного интерфейса:

import SimpleITK as sitk
import sys

if len(sys.argv) < 4:
    print("Usage: SimpleGaussian <input> <sigma> <output>")
    sys.exit(1)

image = sitk.ReadImage(sys.argv[1])
pixelID = image.GetPixelID()
image = sitk.Cast(sitk.SmoothingRecursiveGaussian(image, float(sys.argv[2])), pixelID)
sitk.WriteImage(image, sys.argv[3])

Мультимодальная жесткая регистрация

[ редактировать ]

Короткий скрипт R, иллюстрирующий использование библиотеки регистрации для жесткой регистрации. из двух 3D-изображений:

library(SimpleITK)

args = commandArgs( trailingOnly=TRUE )
if( length( args ) < 2 )
{
	cat( "Usage: registration <fixed_image> <moving_image> <output_transform>\n" )
	quit( save="no", status=1 )
}
fixed_image <- ReadImage( args[1], "sitkFloat32" )
moving_image <- ReadImage( args[2], "sitkFloat32" )

initial_transform <- CenteredTransformInitializer( fixed_image,
                                                   moving_image,
                                                   Euler3DTransform(),
                                                   "GEOMETRY" )
reg <- ImageRegistrationMethod()
reg$SetMetricAsMattesMutualInformation( numberOfHistogramBins=50 )
reg$SetMetricSamplingStrategy( "RANDOM" )
reg$SetMetricSamplingPercentage( 0.01 )
reg$SetInterpolator( "sitkLinear" )
reg$SetOptimizerAsGradientDescent( learningRate=1.0,
numberOfIterations=100 )
reg$SetOptimizerScalesFromPhysicalShift()
reg$SetInitialTransform( initial_transform, inPlace=FALSE )
final_transform <- reg$Execute( fixed_image, moving_image )

WriteTransform( final_transform, "final_transform.tfm" )
  1. ^ Р. Беар, BC Ловекамп, З. Янив, «Сегментация, регистрация и характеристика изображений в R с помощью SimpleITK», J Stat Softw, 86 (8), 2018, doi: 10.18637/jss.v086.i08.
  2. ^ BC Лоукемп, Д.Т. Чен, Л. Ибаньес, Д. Блезек, «Дизайн SimpleITK», Фронт. Нейроинформ., 7:45, 2013, doi:10.3389/fninf.2013.00045.
  3. ^ З. Янив, Б. К. Лоукемп, Х. Дж. Джонсон, Р. Бир, «Блокноты для анализа изображений SimpleITK: среда для совместной работы для образования и воспроизводимых исследований», J Digit Imaging., 31 (3): 290-303, 2018, doi: 10.1007/с10278-017-0037-8.
  4. ^ MD Blackledge, DJCollins, DM Koh, MO Leach, «Быстрая разработка инструментов исследования для анализа изображений: преодоление разрыва между исследователями и клиницистами с помощью pyOsiriX», Comput Biol Med., 69:203-212, 2016, doi: 10.1016/j .compbiomed.2015.12.002
  5. ^ JJM ван Гритуйсен, А. Федоров, К. Пармар, А. Хосни, Н. Аукойн, В. Нараян, Р. Г. Битс-Тан, Дж. К. Фийон-Робин, С. Пипер, HJWL Аэртс, «Система вычислительной радиомики для декодирования рентгенографических изображений». Фенотип», Cancer Research, 77(21): e104–e107, 2017, doi: 10.1158/0008-5472.CAN-17-0339.
  6. ^ К. Марстал, Ф. Берендсен, М. Старинг, С. Кляйн, «SimpleElastix: удобная для пользователя многоязычная библиотека для регистрации медицинских изображений», Конференция IEEE по семинарам по компьютерному зрению и распознаванию образов (CVPRW), 574- 582, 2016, doi:10.1109/CVPRW.2016.78
  7. ^ Э. Гибсон, В. Ли, К. Судре, Л. Фидон, Д. И. Шакир, Г. Ван, З. Итон-Розен, Р. Грей, Т. Доул, Ю. Ху, Т. Уинти, П. Начев, М. Модат, Д.С. Барратт, С. Урселин, М.Дж. Кардосо, Т. Веркаутерен, «NiftyNet: платформа глубокого обучения для медицинской визуализации», Comput Methods Programs Biomed., 158:113-122, 2018, doi: 10.1016/j .cmpb.2018.01.025
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 511167046618e47728b8b60ad357a592__1717089000
URL1:https://arc.ask3.ru/arc/aa/51/92/511167046618e47728b8b60ad357a592.html
Заголовок, (Title) документа по адресу, URL1:
SimpleITK - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)