imregdemons

Оцените поле смещения, которое выравнивает два 2D или 3-D изображения

Описание

пример

[D,moving_reg] = imregdemons(moving,fixed) оценивает поле D смещения это выравнивает изображение, которое будет указано, moving, со ссылочным изображением, fixed. Векторы смещения в каждом пиксельном местоположении сопоставляют местоположения от fixed отобразите сетку к соответствующему местоположению в moving изображение. moving_reg деформированная версия moving отобразите, который деформирован согласно полю D смещения и передискретизируемая линейная интерполяция использования.

[D,moving_reg] = imregdemons(moving,fixed,N) задает количество итераций, которые будут вычислены. Эта функция не использует критерий сходимости и поэтому, как всегда гарантируют, запустится для заданного или количества по умолчанию итераций.

пример

[D,moving_reg] = imregdemons(___,Name,Value) указывает движущееся изображение с помощью пар "имя-значение", чтобы управлять аспектами расчета веса.

Примеры

свернуть все

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

Считайте два изображения в рабочую область.

fixed  = imread('hands1.jpg');
moving = imread('hands2.jpg');

Преобразуйте изображения в шкалу полутонов для обработки.

fixed  = im2gray(fixed);
moving = im2gray(moving);

Наблюдайте начальное неточное совмещение. Пальцы находятся в различных положениях.

imshowpair(fixed,moving,'montage')

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

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

imshowpair(fixed,moving)

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

Правильные различия в освещении между moving и fixed изображения с помощью соответствия гистограммы. Это - общий шаг предварительной обработки.

moving = imhistmatch(moving,fixed);

Оцените, что преобразование должно было принести два изображения в выравнивание.

[~,movingReg] = imregdemons(moving,fixed,[500 400 200],...
    'AccumulatedFieldSmoothing',1.3);

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

imshowpair(fixed,movingReg)

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

imshowpair(fixed,movingReg,'montage')

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

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

свернуть все

Отобразите, чтобы быть указанными в виде 2D или 3-D полутонового изображения.

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

Ссылочное изображение в целевой ориентации в виде 2D или 3-D полутонового изображения.

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

Количество итераций в виде положительного целочисленного скаляра или вектора.

Когда вы задаете вектор, N количество итераций на уровень пирамиды (уровень разрешения). Например, если существует 3 уровня пирамиды, то можно задать векторный [100,50,25], где imregdemons выполняет 100 итераций на самом низком уровне разрешения, 50 итераций на следующем уровне пирамиды и 25 итераций на последнем уровне итерации — уровень с полным разрешением. Поскольку требуется меньше времени, чтобы обработать более низкие уровни разрешения, запуская больше итераций в низком разрешении, и меньше итераций в более высоких разрешениях пирамиды может помочь эффективности.

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

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

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

Пример: [D,movingReg] = imregdemons(moving,fixed,[500 400 200],'AccumulatedFieldSmoothing',1.5);

Сглаживание примененного в каждой итерации в виде разделенной запятой пары, состоящей из 'AccumulatedFieldSmoothing' и числовое значение. Этот параметр управляет объемом подобной диффузии регуляризации. imregdemons применяет стандартное отклонение Гауссова сглаживания, чтобы упорядочить накопленное поле в каждой итерации. Большие значения приводят к более сглаженным выходным полям смещения. Меньшие значения приводят к более локализованной деформации в выходном поле смещения. Значения обычно находятся в области значений [0.5, 3.0]. Когда вы задаете несколько PyramidLevels, стандартное отклонение, используемое в Гауссовом сглаживании, остается то же самое на каждом уровне пирамиды.

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

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

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

Отобразите waitbar, чтобы указать на прогресс в виде разделенной запятой пары, состоящей из 'DisplayWaitbar' и значение true или false. Когда установлено в true, imregdemons отображает waitbar, чтобы указать на прогресс для продолжительных операций. Предотвратить imregdemons от отображения waitbar, набор DisplayWaitbar к false.

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

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

свернуть все

Поле Displacement в виде числового массива. Значения смещения находятся в модулях пикселей.

  • Если fixed 2D полутоновое изображение размера m-by-n, затем полевым массивом смещения является m-by-n-by-2. D(:,:,1) содержит смещения вдоль x - ось и D(:,:,2) содержит смещения вдоль y - ось.

  • Если fixed 3-D полутоновое изображение размера m-by-n-by-p, затем полевым массивом смещения является m-by-n-by-p-by-3. D(:,:,:,1) содержит смещения вдоль x - ось, D(:,:,:,2) содержит смещения вдоль y - ось. и D(:,:,:,3) содержит смещения вдоль z - ось.

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

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

Советы

  • Преобразовать изображение с помощью поля D смещенияИспользование imwarp.

Ссылки

[1] Thirion, J.-P. "Отобразите соответствие как диффузионный процесс: аналогия с демонами Максвелла". Медицинский Анализ изображения. Издание 2, Номер 3, 1998, стр 243–260.

[2] Vercauteren, T., Кс. Пеннек, А. Перчант, Н. Аяч, "Диффеоморфные Демоны: Эффективная Непараметрическая Регистрация Изображений", NeuroImage. Издание 45, Номер 1, Приложение 1, март 2009, стр 61–72.

Расширенные возможности

Смотрите также

Приложения

Функции

Введенный в R2014b