В настоящее время я работаю с файлами DICOM-RT (которые содержат DICOM вместе с данными о доставке дозы и файлами набора структуры). В основном меня интересует файл «структурный набор» (то есть RTSS.dcm), который содержит набор точек контура для интересующей области интереса. В частности, точки контура окружают объем опухоли. Например, опухоль будет иметь набор из 5 контуров, каждый из которых будет набором точек, которые окружают этот срез опухоли.
Я пытаюсь использовать MatLab, чтобы использовать эти точки контура для построения объема опухоли в бинарной трехмерной матрице (0 = неопухоль, 1 = опухоль), и мне нужна помощь.
Один из возможных подходов - заполнить каждый набор контуров в виде двоичного среза, а затем интерполировать объем между срезами. До сих пор я использовал функцию fill или patch для создания двоичных сечений каждого среза контура, но мне трудно понять, как интерполировать эти двоичные срезы в Объем 3D. Кажется, что ни одна из встроенных функций не подходит для этой конкретной проблемы (хотя, может быть, я просто неправильно их использую?). Простая линейная интерполяция также не представляется подходящей, поскольку края одного контура должны сливаться со смежным контуром во всех направлениях.
Другим вариантом было бы взять точки и провести их тесселяцию (без предварительного среза). Тем не менее, я не знаю, как сделать так, чтобы MatLab тесселял только поверхность опухоли и не пересекал объем опухоли. В настоящее время, кажется, найти треугольники внутри опухоли. Если бы я мог получить это только на поверхности, я не уверен, как взять это и преобразовать это в объем двоичной трехмерной матрицы.
Есть ли у кого-нибудь опыт использования методов интерполяции трехмерных срезов ИЛИ тесселяции, которые могут здесь применяться? Или, может быть, существуют какие-либо соответствующие инструментарии? Я застрял ...: (
Я открыт для подходов и на других языках: я немного знаком с C # и Python, хотя я предполагал, что MatLab будет немного проще обрабатывать операции с матрицами.
Заранее спасибо!