exponenta event banner

imregister

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

Описание

пример

moving_reg = imregister(moving,fixed,transformType,optimizer,metric) преобразует 2-D или 3-D полутоновое изображение, moving, так что он зарегистрирован на ссылку изображении, fixed. transformType определяет тип выполняемого преобразования. metric определяет количественную меру подобия между изображениями для оптимизации. optimizer описывает метод оптимизации метрики. Функция возвращает зарегистрированное изображение, moving_reg.

[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric) преобразует пространственно-ссылочное изображение moving так, чтобы он был зарегистрирован на пространственно привязанном изображении fixed. Rmoving и Rfixed являются пространственными объектами привязки, которые описывают мировые пределы координат и разрешение moving и fixed.

___ = imregister(___,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;

Выполните регистрацию.

movingRegistered = imregister(moving, fixed, 'affine', optimizer, metric);

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

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

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

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

свернуть все

Изображение, которое будет зарегистрировано, заданное как числовая матрица, представляющая 2-D полутоновое изображение или 3-D числовой массив, представляющий 3-D полутоновый объем.

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

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

Эталонное изображение в целевой ориентации, заданное как числовая матрица, представляющая 2-D полутоновое изображение или 3-D числовой массив, представляющий 3-D полутоновый объем. Эталонное изображение должно иметь ту же размерность, что и изображение, которое должно быть зарегистрировано moving.

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

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

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

ЗначениеОписание
'translation'(x, y) перевод в 2-D, или (x, y, z) перевод в 3-D.
'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.

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

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

свернуть все

Зарегистрированное изображение, возвращенное как 2-D числовая матрица, представляющая 2-D полутоновое изображение или 3-D числовой массив, представляющий 3-D полутоновый объем. Любые введенные пиксели заливки, которые не соответствуют местоположениям в оригинальное изображение, 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