imregtform

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

Описание

пример

tform = imregtform(moving,fixed,transformType,optimizer,metric) оценивает геометрическое преобразование, которое выравнивает движущееся изображение moving с фиксированным изображением fixed. transformType строковый скаляр или вектор символов, который задает тип преобразования, чтобы оценить. optimizer объект, который описывает метод для оптимизации метрики. metric объект, который задает количественные показатели подобия между изображениями, чтобы оптимизировать. Выход tform объект геометрического преобразования, который сопоставляет moving к fixed.

tform = imregtform(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric) оценивает геометрическое преобразование где Rmoving и Rfixed задайте пространственные объекты привязки, сопоставленные с moving и fixed изображения. Выход tform объект геометрического преобразования в модулях, заданных пространственными объектами привязки Rmoving и Rfixed.

tform = imregtform(___,Name,Value) оценивает геометрическое преобразование с помощью пар "имя-значение", чтобы управлять аспектами операции.

Примеры

свернуть все

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

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

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

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

Figure contains an axes object. The axes object contains an object of type image.

Создайте оптимизатор и метрику, установив модальность на '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;

Найдите геометрическое преобразование, которое сопоставляет изображение, которое будет указано (moving) к ссылочному изображению (fixed).

tform = imregtform(moving, fixed, 'affine', optimizer, metric)
tform = 
  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

Примените преобразование к указываемому изображению (moving) использование imwarp функция. Пример использует 'OutputView' параметр, чтобы сохранить мировые пределы и разрешение ссылочного изображения при формировании преобразованного изображения.

movingRegistered = imwarp(moving,tform,'OutputView',imref2d(size(fixed)));

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

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

Figure contains an axes object. The axes object contains an object of type image.

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

Аргументы name-value

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

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

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

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

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

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

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

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

свернуть все

Геометрическое преобразование, возвращенное как affine2d или affine3d объект. Если входные матрицы 3-D, imregtform возвращает affine3d объект.

Советы

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

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

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

Введенный в R2013a