imsegkmeans3

K-образная кластеризация, основанная на сегментации томов

Описание

пример

L = imsegkmeans3(V,k) объемные V в k кластеры путем выполнения k-средних значений кластеризации и возвраты сегментированный маркированный выход в L.

[L,centers] = imsegkmeans3(V,k) также возвращает положения центроида кластера, centers.

L = imsegkmeans3(V,k,Name,Value) использует пары "имя-значение" для управления аспектами алгоритма кластеризации k-средних значений.

Примеры

свернуть все

Загрузите 3-D полутоновый объем МРТ и отобразите его с помощью volshow.

load mristack
volshow(mristack);

Сегментируйте объем в три кластера.

L = imsegkmeans3(mristack,3);

Отображение сегментированного объема с помощью volshow. Чтобы исследовать срезы сегментированного тома, используйте приложение Volume Viewer.

figure
volshow(L);

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

свернуть все

Объем, чтобы делиться на сегменты, определенный как 3D объем оттенков серого размера m n p или 3D многоспектральным объемом размера m n p c, где p количество самолетов и c, является количеством каналов.

Примечание

imsegkmeans3 обрабатывает 2-D цветные изображения, такие как 3-D объемы размера m -by- n -by-3. Если вы хотите 2-D поведения, используйте imsegkmeans функция.

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

Количество создаваемых кластеров, заданное как положительное целое число.

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

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

Пример: 'NumAttempts',5

Нормализуйте входные данные до нуля среднего и единичного отклонения, заданной как разделенная разделенными запятой парами, состоящая из 'NormalizeInput' и числовое или логическое 1 (true) или 0 (false).. Если вы задаете true, затем imsegkmeans3 нормализует каждый канал входа индивидуально.

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

Максимальное количество итераций, заданное как разделенная разделенными запятой парами, состоящая из 'MaxIterations' и положительное целое число.

Порог точности, заданный как разделенная разделенными запятой парами, состоящая из 'Threshold' и положительное число. Алгоритм останавливается, когда каждый из центров кластеров перемещается меньше, чем пороговое значение в последовательных итерациях.

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

свернуть все

Матрица меток, заданная как матрица положительных целых чисел. Пиксели с меткой 1 относятся к первому кластеру, метка 2 - ко второму кластеру и так далее для каждого из k кластеры. L имеет те же первые три размерности, что и объем V. Класс L зависит от количества кластеров.

Класс LКоличество кластеров
'uint8'k <= 255
'uint16'256 <= k <= 65535
'uint32'65536 <= k <= 2^32-1
'double'2^32 <= k

Расположения центроида кластера, возвращенные как числовая матрица размера k -by - c, где k - количество кластеров, а c - количество каналов. centers - тот же класс, что и изображение I.

Совет

  • Функция приводит к воспроизводимым результатам. Выходные выходы не изменяются при нескольких запусках, учитывая одни и те же входные параметры.

Ссылки

[1] Артур, Д. и С. Васильвицкий. «k-средних значений + +: Преимущества тщательного посева». SODA '07: Материалы восемнадцатого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам. New Orleans, LA, January 2007, pp. 1027-1035.

См. также

Приложения

Функции

Введенный в R2018b