imregister

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

Синтаксис

moving_reg = imregister(moving,fixed,transformType,optimizer,metric)
[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric)
___ = imregister(___,Name,Value)

Описание

пример

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

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