Регистрация изображений двух томов с разным количеством срезов

Я пытаюсь зарегистрировать два объемных изображения из мозга (ПЭТ и КТ или даже ПЭТ и МР). Каждое из этих объемных изображений содержит различное количество 2D-изображений (срезов). Например, CT имеет 150 ломтики и PET имеет 100 дольки. Я думал об использовании метода интерполяции для вычисления и уменьшения количества срезов КТ до 100. Это правильный подход? Кто-нибудь знает какие-либо ресурсы, которые могут быть полезны для меня? как псевдокод, или шаги, которые я должен пройти для регистрации двух объемных изображений. Спасибо:)

1 ответ

Если вам известна информация о расстоянии между срезами 150 CT и 100 PET, вы можете посмотреть в MATLAB interp1 функция для интерполяции вдоль одной оси, чтобы масштабировать изображения к тому же числу пикселей. Отсюда можно использовать MATLAB imregister выполнить регистрацию.


Если вы хотите узнать, как работает внутренняя регистрация (преобразование между пиксельными и физическими координатами, преобразование / повторная выборка изображений и т. Д.), Я могу направить вас к одному из ресурсов - Руководству по программному обеспечению ITK, pdf.

В частности, попробуйте прочитать Раздел 4.1.4 Книги 1 (страница 41 из pdf) о представлении изображений и Раздел 3.9 Книги 2 (страница 532 из pdf) о преобразованиях.


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

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

  • от Matlab imregister (Я никогда не использовал это, поэтому я не могу комментировать это)
  • simpleITK для Python
  • ITK для C++ имеет кривую обучения, но дает полный контроль над процессом регистрации
  • elastix - это программа командной строки, которая использует текстовый файл параметров для регистрации.
  • 3D-слайсер имеет графический пользовательский интерфейс для простой линейной регистрации
Другие вопросы по тегам