imregdemons

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

Описание

пример

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

Опционально можно оценить поле смещения с помощью графического процессора (требует Parallel Computing Toolbox™).

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

пример

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

Примеры

свернуть все

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

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

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

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

fixed  = rgb2gray(fixed);
moving = rgb2gray(moving);

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

imshowpair(fixed,moving,'montage')

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

imshowpair(fixed,moving)

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

moving = imhistmatch(moving,fixed);

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

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

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

imshowpair(fixed,movingReg)

imshowpair(fixed,movingReg,'montage')

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

свернуть все

Отобразите, чтобы быть указанными, заданными как 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