exponenta event banner

extractsigroi

Извлекать интересующие области на основе маски сигнала

Описание

пример

sigroi = extractsigroi(msk,x) извлекает интересующие области вектора входного сигнала x на основе источника и свойств в msk.

пример

sigroi = extractsigroi(msk,x,Name,Value) задает дополнительные параметры с использованием аргументов пары «имя-значение». Можно выбрать конкатенацию извлеченных областей и выбрать количество областей для извлечения по категории.

[sigroi,limits] = extractsigroi(___) возвращает массив с расположениями конечных точек извлеченной области.

[sigroi,limits,numroi,cats] = extractsigroi(___) также возвращает numroiвектор, содержащий число областей, найденных для каждой из категорий, перечисленных в cats.

Примеры

свернуть все

Рассмотрим таблицу области интересов (ROI) с тремя областями A и два региона с маркировкой B. Используйте таблицу для создания signalMask объект.

roiTbl = table([2 5; 7 10; 12 13; 15 25; 28 30],["A","B","A","B","A"]');

m = signalMask(roiTbl);

Создайте массив с простыми числами меньше 150. Используйте signalMask объект для извлечения простых чисел, указанных в таблице ROI. Отображение первого набора A простые числа и первый набор B простые числа.

prm = primes(150);

rgs = extractsigroi(m,prm);

AB = [rgs{1}{1} rgs{2}{1}]
AB = 4×2

     3    17
     5    19
     7    23
    11    29

Повторите операцию, но теперь объедините области, представляющие интерес для каждой категории. Отображение первых шести A простые числа и последние шесть B простые числа.

rgs = extractsigroi(m,prm,'ConcatenateRegions',true);

AB = [rgs{1}(1:6) rgs{2}(end-5:end)]
AB = 6×2

     3    71
     5    73
     7    79
    11    83
    37    89
    41    97

Повторите операцию, но теперь игнорируйте области с двумя выборками или меньше. Отображение первых шести A простые числа и последние шесть B простые числа.

m.MinLength = 3;

rgs = extractsigroi(m,prm,'ConcatenateRegions',true);

AB = [rgs{1}(1:6) rgs{2}(end-5:end)]
AB = 6×2

     3    71
     5    73
     7    79
    11    83
   107    89
   109    97

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

свернуть все

Маска сигнала, указанная как signalMask объект.

Пример: signalMask(table([2 4;6 7],["male" "female"]')) задает маску сигнала с тремя образцами male область и два образца female регион.

Пример: signalMask(categorical(["" "male" "male" "male" "" "female" "female" ""]',["male" "female"])) задает маску сигнала с тремя образцами male область и два образца female регион.

Пример: signalMask([0 1 1 1 0 0 0 0;0 0 0 0 0 1 1 0]','Categories',["male" "female"]) задает маску сигнала с тремя образцами male область и два образца female регион.

Входной сигнал, заданный как вектор.

Пример: chirp(0:1/1e3:1,25,1,50) определяет чирп, дискретизированный на частоте 1 кГц.

Типы данных: single | double
Поддержка комплексного номера: Да

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

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

Пример: 'ConcatenateRegions',true,'SelectedRegions',[2 4] указывает, что функция извлекает вторую и четвертую области каждой категории и объединяет их.

Опция для конкатенации выделенных областей сигнала, заданная как разделенная запятыми пара, состоящая из 'ConcatenateRegions' и логическое значение.

  • Если для этого аргумента задано значение false, то каждая ячейка sigroi - матрица ячеек, соответствующая отдельной сигнальной области.

  • Если для этого аргумента задано значение true, то каждая ячейка sigroi является вектором конкатенированных выделенных сигнальных областей для каждой категории, содержащейся в msk.

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

Области, выбранные для извлечения, указанные как разделенная запятыми пара, состоящая из 'SelectedRegions' и вектор целых чисел.

  • Если для этого аргумента задано значение 1, то extractsigroi извлекает только первую область каждой категории и возвращает ее в sigroi.

  • Если для этого аргумента задано значение [i j k ...], то extractsigroi извлекает ith, jth, kи последовательные области каждой категории и возвращает их в sigroi.

Функция игнорирует индексы, превышающие количество областей, присутствующих для данной категории.

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

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

свернуть все

Области сигнала, представляющие интерес, возвращаемые в виде массива ячеек. Каждая ячейка sigroi содержит массив ячеек с областями сигнала, извлеченными для каждой категории в msk.

  • Если 'ConcatenateRegions' имеет значение false, то каждая ячейка sigroi - матрица ячеек, соответствующая отдельной сигнальной области.

  • Если 'ConcatenateRegions' имеет значение true, то каждая ячейка sigroi является вектором конкатенированных выделенных сигнальных областей для каждой категории, содержащейся в msk.

Выделенные пределы области, возвращаемые в виде массива ячеек из двухколонных матриц. Если msk задает SampleRate, пределы области выражаются в секундах. Если msk не указывает частоту дискретизации, пределы области являются целыми числами, соответствующими индексам дискретизации сигнала.

Количество регионов, найденных для каждой из категорий в cats, возвращается как вектор целых чисел.

Список категорий, возвращаемый как вектор строк.

Представлен в R2020b