imsegkmeans3

K-средние-значения, кластеризирующие базирующуюся сегментацию объема

Синтаксис

L = imsegkmeans3(V,k)
[L,centers] = imsegkmeans3(V,k)
L = imsegkmeans3(V,k,Name,Value)

Описание

пример

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

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

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

Примеры

свернуть все

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

load mristack
volshow(mristack);

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

L = imsegkmeans3(mristack,3);

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

figure
volshow(L);

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

свернуть все

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

Примечание

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

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

Количество кластеров, чтобы создать, заданный в виде числа.

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

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

Пример: L = imsegkmeans3(V,5,'NumAttempts',5);

Нормируйте входные данные, чтобы обнулить среднее значение и модульное отклонение, заданное как пара, разделенная запятой, состоящая из 'NormalizeInput' и true или 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] Артур, D. и С. Вэссильвитский. "k-средние-значения ++: Преимущества Тщательного Отбора". SODA '07: Продолжения Восемнадцатого Ежегодного Симпозиума ACM-SIAM по Дискретным Алгоритмам. Новый Орлеан, LA, январь 2007, стр 1027–1035.

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

Приложения

Функции

Введенный в R2018b