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')

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

    Dimensionality: 2
                 T: [3x3 double]

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

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

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

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

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

свернуть все

Отобразите, чтобы быть указанными, заданными как 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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