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

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


person sara_123    schedule 08.08.2015    source источник
comment
Даже если бы изображения имели одинаковое количество фрагментов, потребовалась бы некоторая форма интерполяции, потому что пиксели редко оказываются в точках сетки после преобразования изображения. Если для регистрации вы используете такую ​​библиотеку, как ITK, эта интерполяция выполняется автоматически. Используете ли вы для этого ITK или аналогичную библиотеку, или вы пытаетесь сами закодировать преобразование/интерполяцию?   -  person eigenchris    schedule 10.08.2015
comment
@eigenchris Спасибо за ваш ответ. Да, я собираюсь реализовать это сам в MATLAB. Знаете ли вы какие-либо документы или ресурсы, которые могут быть полезны для меня? Я прочитал много статей в этой области (регистрация объемных изображений), но ни в одной из них нет информации об этом шаге. У меня есть код, который работает для одного фрагмента и его повернутой версии. Но когда я хочу перейти к реальной проблеме и применить свой алгоритм ко всем срезам ПЭТ и МРТ, я не знаю, что делать. Буду признателен за любую помощь.   -  person sara_123    schedule 11.08.2015
comment
Вы точно знаете, что оба изображения занимают одно и то же физическое пространство? Знаете ли вы информацию о расстоянии между пикселями? Простые проблемы с регистрацией могут быть поучительны для написания кода, но регистрация может быстро усложниться, и я бы порекомендовал вам использовать код, написанный другими людьми для решения большинства проблем с регистрацией. Вы смотрели imregister.   -  person eigenchris    schedule 11.08.2015
comment
Да, у меня есть информация о промежутках, а также оба осевых изображения мозга. Собственно, я разрабатываю свой метод регистрации.   -  person sara_123    schedule 11.08.2015


Ответы (1)


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


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

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


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

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

  • imregister MATLAB (я никогда не использовал его, поэтому не могу прокомментируй это)
  • simpleITK для Python
  • ITK для C++ требует обучения, но дает полный контроль над процессом регистрации.
  • elastix — это программа командной строки, которая использует текстовый файл параметров для выполнения регистрации.
  • 3D-слайсер имеет графический пользовательский интерфейс для простой линейной регистрации.
person eigenchris    schedule 11.08.2015
comment
Я использую ANT для регистрации. Я столкнулся с проблемой при создании шаблона, проблема в том, что количество срезов, ширина и высота населения для построения шаблона различны, расстояние между вокселами у всех одинаковое, однако построенный шаблон выглядит плохо. Что ты посоветуешь? Спасибо - person S.EB; 18.02.2019
comment
@ S.EB, к сожалению, я больше не работаю в области регистрации изображений, и прошло много лет с тех пор, как я использовал ANT. Я бы посоветовал попробовать задать свой вопрос, а также поискать помощь в других местах в Интернете. - person eigenchris; 19.02.2019