imregister

Основанная на интенсивности регистрация изображений

Описание

пример

moving_reg = imregister(moving,fixed,transformType,optimizer,metric) преобразовывает 2D или 3-D изображение, moving, так, чтобы это было указано со ссылочным изображением, fixed. Оба moving и fixed изображения должны иметь ту же размерность, или 2D или 3-D. transformType строковый скаляр или вектор символов, который задает тип преобразования, чтобы выполнить. optimizer объект, который описывает метод для оптимизации метрики. metric объект, который задает количественные показатели подобия между изображениями, чтобы оптимизировать. Возвращает выровненное изображение, moving_reg.

[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric) преобразовывает изображение, на которое пространственно ссылаются, moving так, чтобы это было указано с изображением, на которое пространственно ссылаются, fixed. Rmoving и Rfixed пространственные объекты привязки, которые описывают пределы мировой координаты и разрешение moving и fixed.

___ = imregister(___,Name,Value) задает дополнительные опции с одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

Считайте два изображения. Этот пример использует два магнитных резонанса (MRI) изображения колена. Фиксированное изображение является двойным изображением вращения, в то время как движущееся изображение является двойным изображением вращения с восстановлением инверсии. Два стреловидных среза были получены одновременно, но немного неровно.

fixed = dicomread('knee1.dcm');
moving = dicomread('knee2.dcm');

Просмотрите неправильно выровненные изображения.

imshowpair(fixed, moving,'Scaling','joint')

Создайте оптимизатор и метрику, установив модальность на 'multimodal' поскольку изображения прибывают из различных датчиков.

[optimizer, metric] = imregconfig('multimodal')
optimizer = 
  registration.optimizer.OnePlusOneEvolutionary

  Properties:
         GrowthFactor: 1.050000e+00
              Epsilon: 1.500000e-06
        InitialRadius: 6.250000e-03
    MaximumIterations: 100
metric = 
  registration.metric.MattesMutualInformation

  Properties:
    NumberOfSpatialSamples: 500
     NumberOfHistogramBins: 50
              UseAllPixels: 1

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

optimizer.InitialRadius = 0.009;
optimizer.Epsilon = 1.5e-4;
optimizer.GrowthFactor = 1.01;
optimizer.MaximumIterations = 300;

Выполните регистрацию.

movingRegistered = imregister(moving, fixed, 'affine', optimizer, metric);

Просмотрите зарегистрированные изображения.

figure
imshowpair(fixed, movingRegistered,'Scaling','joint')

Входные параметры

свернуть все

Отобразите, чтобы быть указанными в виде 2D или 3-D полутонового изображения.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Пространственная информация о ссылке, сопоставленная с изображением, которое будет указано в виде imref2d или imref3d объект.

Ссылочное изображение в целевой ориентации в виде полутонового изображения.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Пространственная информация о ссылке сопоставлена со ссылкой (зафиксированное) изображение в виде imref2d или imref3d объект.

Геометрическое преобразование, которое будет применено к движущемуся изображению в виде одного из следующих значений:

ЗначениеОписание
'translation'Перевод (x,y) в 2D, или перевод (x,y,z) в 3-D.
'rigid'Твердое преобразование, состоящее из перевода и вращения.
'similarity'Неотражающее преобразование подобия, состоящее из перевода, вращения и шкалы.
'affine'Аффинное преобразование, состоящее из перевода, вращения, шкалы и сдвига.

'similarity' и 'affine' типы преобразования всегда включают неотражающие преобразования.

Типы данных: char | string

Метод для оптимизации метрики подобия в виде RegularStepGradientDescent или OnePlusOneEvolutionary объект оптимизатора.

Отобразите метрику подобия, которая будет оптимизирована во время регистрации в виде MeanSquares или MattesMutualInformation метрический объект.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'DisplayOptimization',1 включает многословный режим оптимизации.

Многословный флаг оптимизации в виде разделенной запятой пары, состоящей из 'DisplayOptimization', и логическое значение true или false. Средства управления, ли imregister информация об оптимизации отображений в командном окне во время процесса регистрации.

Типы данных: логический

Запуск геометрического преобразования в виде разделенной запятой пары, состоящей из 'InitialTransformation' и affine2d или affine3d объект.

Количество уровней пирамиды, используемых во время процесса регистрации в виде разделенной запятой пары, состоящей из 'PyramidLevels' и положительное целое число.

Пример: 'PyramidLevels',4 определяет номер уровней пирамиды к 4.

Типы данных: double

Выходные аргументы

свернуть все

Преобразованное изображение, возвращенное как матрица. Любые пиксели заливки ввели, которые не соответствуют местоположениям в оригинальном изображении, 0.

Пространственная информация о ссылке сопоставлена с выходным изображением, возвращенным как imref2d или imref3d объект.

Советы

  • Оба imregtform и imregister используйте тот же базовый регистрационный алгоритм. imregister выполняет дополнительный шаг передискретизации moving произвести зарегистрированное выходное изображение из оценки геометрического преобразования, вычисленной imregtform. Используйте imregtform когда это необходимо, доступ к геометрическому преобразованию, которое связывает moving к fixed. Используйте imregister когда это необходимо, зарегистрированное выходное изображение.

  • Создайте optimizer и metric с imregconfig функция прежде, чем вызвать imregister. Получение хороших результатов основанной на оптимизации регистрации изображений обычно требует оптимизатора изменения или метрических настроек для пары указываемых изображений. imregconfig функция обеспечивает настройку по умолчанию, которая должна только быть рассмотрена отправная точка. Например, если вы увеличиваете число итераций в оптимизаторе, уменьшаете размер шага оптимизатора или изменяете количество выборок в стохастической метрике, регистрация улучшается к точке, за счет производительности. Смотрите выход imregconfig для получения дополнительной информации о различных параметрах, которые можно изменить.

  • Если пространственное масштабирование ваших изображений отличается больше чем на 10%, измените размер их с imresize прежде, чем указать их.

  • Используйте imshowpair или imfuse визуализировать результаты регистрации.

  • Можно использовать imregister в автоматизированном рабочем процессе, чтобы указать несколько изображений.

  • Когда у вас будет пространственная информация о ссылке об изображении, которое будет указано, укажите информацию к imregister использование пространственных объектов привязки. Это помогает imregister сходитесь к лучшим результатам более быстро, потому что различия в шкале могут быть учтены.

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте