OnePlusOneEvolutionary

Один плюс один эволюционная настройка оптимизатора

Описание

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

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

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

Просмотрите неправильно выровненные изображения.

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

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

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');

Алгоритмы

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

Ссылки

[1] Styner, M., К. Бречбуехлер, Г. Сзекели и Г. Джериг. "Параметрическая оценка неоднородности интенсивности применилась к MRI". Транзакции IEEE на Медицинской Обработке изображений. Издание 19, Номер 3, 2000, стр 153-165.

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