imregtform

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

Синтаксис

tform = imregtform(moving,fixed,transformType,optimizer,metric)
tform = imregtform(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)
tform = imregtform(___,Name,Value)

Описание

пример

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