imregtform

Оцените геометрическое преобразование, которое выравнивает два 2-D или 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) оценивает геометрическое преобразование с использованием пар "имя-значение" для управления аспектами операции.

Примеры

свернуть все

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

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

Просмотрите несовпадающие изображения.

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

Figure contains an axes. The axes 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. The axes contains an object of type image.

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

свернуть все

Изображение для регистрации, заданное как 2-D или 3-D полутоновое изображение.

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

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

Эталонное изображение в целевой ориентации, заданное как 2-D или 3-D полутоновое изображение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Совет

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

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

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

Введенный в R2013a