exponenta event banner

OnePlusOneEvolutionary

Конфигурация эволюционного оптимизатора «один плюс один»

Описание

A OnePlusOneEvolutionary объект описывает конфигурацию эволюционной оптимизации «один плюс один», передаваемую функции imregister для решения проблем регистрации изображения.

Создание

Можно создать OnePlusOneEvolutionary объект с использованием следующих методов:

  • imregconfig - Возвращает OnePlusOneEvolutionary объект в паре с соответствующей метрикой для регистрации мультимодальных изображений

  • Вход

    metric = registration.optimizer.OnePlusOneEvolutionary;
    в командной строке создает OnePlusOneEvolutionary объект с настройками по умолчанию

Свойства

развернуть все

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

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

Минимальный размер радиуса поиска, заданный как положительный скаляр. Epsilon управляет точностью сходимости, регулируя минимальный размер радиуса поиска. Если установить Epsilon до небольшого значения оптимизация метрики более точна, но вычисление занимает больше времени. Если установить Epsilon до большой величины время вычисления уменьшается за счет точности.

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

Начальный размер радиуса поиска, заданный как положительный скаляр. Если установить InitialRadius до большого значения время вычисления уменьшается. Однако слишком большие значения InitialRadius может привести к оптимизации, которая не может сойтись.

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

Максимальное число итераций оптимизатора, указанное как положительный целочисленный скаляр. MaximumIterations определяет максимальное количество итераций, выполняемых оптимизатором на любом заданном уровне пирамиды. Регистрация может сходиться до достижения оптимизатором максимального количества итераций.

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

Примеры

свернуть все

Создать OnePlusOneEvolutionary объект и использовать его для регистрации двух МРТ-изображений колена, которые были получены с использованием различных протоколов.

Считывание изображений в рабочую область. Изображения мультимодальны, потому что имеют различную яркость и контрастность.

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

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

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

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

Создайте объект конфигурации оптимизатора, подходящий для регистрации мультимодальных изображений.

optimizer = registration.optimizer.OnePlusOneEvolutionary
optimizer = 
  registration.optimizer.OnePlusOneEvolutionary

  Properties:
         GrowthFactor: 1.050000e+00
              Epsilon: 1.500000e-06
        InitialRadius: 6.250000e-03
    MaximumIterations: 100

Создайте объект конфигурации метрики, подходящий для регистрации мультимодальных изображений.

metric = registration.metric.MattesMutualInformation;

Настройте свойства оптимизатора так, чтобы проблема сходилась на глобальных максимумах. Увеличьте число итераций, которые оптимизатор будет использовать для решения проблемы.

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.

Алгоритмы

Эволюционный алгоритм итерирует, чтобы найти набор параметров, которые дают наилучший возможный результат регистрации. Это происходит путем возмущения или изменения параметров последней итерации (родителя). Если новые (дочерние) параметры дают лучший результат, то потомок становится новым родителем, параметры которого возмущены, возможно, более агрессивно. Если родитель дает лучший результат, он остается родителем, и следующее возмущение менее агрессивно.

Ссылки

[1] Стайнер, М., К. Брехбюлер, Г. Секели и Г. Гериг. «Параметрическая оценка неоднородностей интенсивности, применяемых к МРТ». Транзакции IEEE по медицинской визуализации. Том 19, номер 3, 2000, стр. 153-165.

Представлен в R2012a