Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

signalLabelDefinition

Crear definición de etiqueta de señal

Descripción

Se utiliza para crear definiciones de etiquetas de señal para conjuntos de datos.signalLabelDefinition Las etiquetas pueden corresponder a atributos, regiones o puntos de interés. Utilice un vector de objetos para crear un archivo .signalLabelDefinitionlabeledSignalSet

Creación

Descripción

sld = signalLabelDefinition(name) crea un objeto de definición de etiqueta de señal, , con la propiedad establecida en y otras propiedades establecidas en valores predeterminados.sldNamename

ejemplo

sld = signalLabelDefinition(name,Name,Value) establece utilizando pares nombre-valor.Propiedades Puede especificar varios pares nombre-valor. Incluya cada nombre de propiedad entre comillas.

Argumentos de entrada

expandir todo

Nombre de etiqueta, especificado como vector de caracteres o escalar de cadena.

Tipos de datos: char | string

Propiedades

expandir todo

Nombre de la etiqueta, especificado como vector de caracteres o escalar de cadena.

Tipos de datos: char | string

Tipo de etiqueta, especificado como uno de los siguientes:

  • — Definir las características de la señal.'attribute'

  • — Definir las características de la señal sobre las regiones de interés.'roi'

  • — Definir las características de la señal sobre los puntos de interés.'point'

Tipos de datos: char | string

Tipo de datos de etiqueta, especificado como , , , , o .'logical''categorical''numeric''string''table''timetable' Utilice la propiedad para especificar la matriz de categorías cuando esta propiedad se establece en .Categories'categorical'

Tipos de datos: char | string

Nombres de categoría de etiqueta, especificados como una matriz de cadenas o una matriz de celdas de vectores de caracteres. La matriz debe tener elementos únicos. Esta propiedad solo se aplica cuando la propiedad se establece en .LabelDataType'categorical'

Ejemplo: 'LabelDataType','categorical','Categories',["apple","orange"]

Tipos de datos: char | string

Tipo de datos de límites de ROI, especificados como cualquiera o .'double''duration' Esta propiedad solo se aplica cuando se establece en .LabelType'roi'

Tipos de datos: char | string

Tipo de datos de ubicaciones de puntos, especificadocomo cualquiera o .'double''duration' Esta propiedad solo se aplica cuando se establece en .LabelType'point'

Tipos de datos: char | string

Función de validación, especificada como un identificador de función y utilizada al establecer valores de etiqueta en un objeto.labeledSignalSet Esta propiedad solo se aplica cuando se establece en , , , , o .LabelDataType'categorical''logical''numeric''table''timetable' Si no se especifica, la función comprueba únicamente que sus valores de entrada son del tipo de datos correcto. Si se establece en , la función comprueba que la entrada es uno de los valores especificados mediante .LabelDataType'categorical'Categories La función toma un valor de entrada y devuelve si el valor es válido y si el valor no es válido.truefalse

Ejemplo: 'LabelDataType','numeric','DefaultValue',1,'ValidationFunction',@(x)x<2

Tipos de datos: function_handle

Valor predeterminado de label, especificado como un valor del tipo especificado mediante .LabelDataType Si se establece en , debe ser uno de los valores especificados mediante .LabelDataType'categorical'DefaultValueCategories

Ejemplo: 'LabelDataType','categorical','Categories',["apple","orange"],'DefaultValue',"apple"

Tipos de datos: char | double | logical | string | table

Descripción de la etiqueta, especificada como vector de caracteres o escalar de cadena.

Ejemplo: 'Description','Patient is asleep'

Tipos de datos: char | string

Identificador de etiqueta de etiqueta, especificado como vector de caracteres o escalar de cadena. Utilice esta propiedad para identificar la misma etiqueta en un esquema de etiquetado más grande o un conjunto de etiquetado público.

Ejemplo: 'Tag','Peak1'

Tipos de datos: char | string

Matriz de subetiquetas, especificada como un objeto de definición de etiqueta de señal. Para especificar más de una subetiqueta, establezca esta propiedad en un vector de objetos de definición de etiqueta de señal. Utilice esta propiedad para crear una relación entre una etiqueta primaria y sus elementos secundarios.

Nota

Las subetiquetas no pueden tener subetiquetas.

Ejemplo: 'Sublabels',[signalLabelDefinition("negative"),signalLabelDefinition("positive")]

Funciones del objeto

labelDefinitionsHierarchyObtener una lista jerárquica de nombres de etiquetas y subetiquetas
labelDefinitionsSummaryObtener una tabla resumida de las definiciones de etiquetas de señal

Ejemplos

contraer todo

Considere un conjunto de grabaciones de sonido de ballenas. Los sonidos de ballenagrabados consisten en trinos y gemidos. Desea ver cada señal y etiquetarla para identificar el tipo de ballena, las regiones de trino y las regiones de gemidos. Para cada región de trino, también desea etiquetar los picos de señal superiores a un determinado umbral.

Definiciones de etiquetas de señal

Defina una etiqueta de atributo para almacenar tipos de ballena. Las categorías posibles son ballena azul, ballena jorobada y ballena blanca.

dWhaleType = signalLabelDefinition('WhaleType',...    'LabelType','attribute',...    'LabelDataType','categorical',...    'Categories', ["blue" "humpback" "white"],...    'Description','Whale type'); 

Defina una etiqueta de región de interés (ROI) para capturar regiones de gemidos. Defina otra etiqueta de ROI para capturar regiones de trino.

dMoans = signalLabelDefinition('MoanRegions',...    'LabelType','roi',...    'LabelDataType','logical',...    'Description','Regions where moans occur');  dTrills = signalLabelDefinition('TrillRegions',...    'LabelType','roi',...    'LabelDataType','logical',...    'Description','Regions where trills occur');        

Por último, defina una etiqueta de punto para capturar los picos de trino. Establezca esta etiqueta como una subetiqueta de la definición.dTrills

dTrillPeaks = signalLabelDefinition('TrillPeaks',...    'LabelType','point',...    'LabelDataType','numeric',...    'Description','Trill peaks');  dTrills.Sublabels = dTrillPeaks;

Conjunto de señales etiquetadas

Cree un con las señales de ballena y las definiciones de etiqueta.labeledSignalSet Agregue valores de etiqueta para identificar el tipo de ballena, las regiones de gemido y trino, y los picos de los trinos.

load labelwhalesignals lbldefs = [dWhaleType dMoans dTrills];  lss = labeledSignalSet({whale1 whale2},lbldefs,...    'SampleRate',Fs,'Description','Characterize wave song regions');     

Visualice la jerarquía de etiquetas y las propiedades de etiqueta mediante y .labelDefinitionsHierarchylabelDefinitionsSummary

labelDefinitionsHierarchy(lss)
ans =      'WhaleType        Sublabels: []      MoanRegions        Sublabels: []      TrillRegions        Sublabels: TrillPeaks      '  
labelDefinitionsSummary(lss)
ans=3×9 table
      LabelName        LabelType     LabelDataType     Categories     ValidationFunction    DefaultValue             Sublabels             Tag            Description         
    ______________    ___________    _____________    ____________    __________________    ____________    ___________________________    ___    ____________________________

    "WhaleType"       "attribute"    "categorical"    {3x1 string}       {["N/A"   ]}       {0x0 double}    {0x0 double               }    ""     "Whale type"                
    "MoanRegions"     "roi"          "logical"        {["N/A"   ]}       {0x0 double}       {0x0 double}    {0x0 double               }    ""     "Regions where moans occur" 
    "TrillRegions"    "roi"          "logical"        {["N/A"   ]}       {0x0 double}       {0x0 double}    {1x1 signalLabelDefinition}    ""     "Regions where trills occur"

Las señales en los datos cargados corresponden a canciones de dos ballenas azules. Establezca los valores para ambas señales.'WhaleType'

setLabelValue(lss,1,'WhaleType','blue'); setLabelValue(lss,2,'WhaleType','blue');

Visualice la propiedad.'Labels' La tabla tiene los valores recién agregados para ambas señales.'WhaleType'

lss.Labels      
ans=2×3 table
                 WhaleType    MoanRegions    TrillRegions
                 _________    ___________    ____________

    Member{1}      blue       {0x2 table}    {0x3 table} 
    Member{2}      blue       {0x2 table}    {0x3 table} 

Visualizar regiones y puntos

Visualiza las canciones de ballenas para identificar las regiones de trino y gemidos.

subplot(2,1,1) plot((0:length(whale1)-1)/Fs,whale1) ylabel('Whale 1') hold on  subplot(2,1,2) plot((0:length(whale2)-1)/Fs,whale2) ylabel('Whale 2') hold on

Agregue las regiones gemido y trino al conjunto etiquetado. Para las etiquetas de ROI, especifique los límites de ROI en segundos y los valores de etiqueta. Etiquete las diferentes regiones de los trazados utilizando una función auxiliar.

moanRegionsWhale1 = [6.1 7.7; 11.4 13.1; 16.5 18.1]; setLabelValue(lss,1,'MoanRegions',moanRegionsWhale1,[true true true]);  trillRegionWhale1 = [1.4 3.1]; setLabelValue(lss,1,'TrillRegions',trillRegionWhale1,true);  subplot(2,1,1) labelIntervals([moanRegionsWhale1;trillRegionWhale1])  moanRegionsWhale2 = [2.5 3.5; 5.8 8; 15.4 16.7]; setLabelValue(lss,2,'MoanRegions',moanRegionsWhale2,[true true true]);  trillRegionWhale2 = [11.1 13]; setLabelValue(lss,2,'TrillRegions',trillRegionWhale2,true);  subplot(2,1,2) labelIntervals([moanRegionsWhale2;trillRegionWhale2])

Etiquete tres picos para cada región de trino. Para las etiquetas de punto, especifique las ubicaciones de punto y los valores de etiqueta. En este ejemplo, las ubicaciones de puntos están en segundos.

peakLocsWhale1 = [1.553 1.626 1.7]; peakValsWhale1 = [0.211 0.254 0.211];  setLabelValue(lss,1,["TrillRegions" "TrillPeaks"],...    peakLocsWhale1,peakValsWhale1,'LabelRowIndex',1);  subplot(2,1,1) plot(peakLocsWhale1,peakValsWhale1,'v') hold off  peakLocsWhale2 = [11.214 11.288 11.437]; peakValsWhale2 = [0.119 0.14 0.15];  setLabelValue(lss,2,["TrillRegions" "TrillPeaks"],...    peakLocsWhale2,peakValsWhale2,'LabelRowIndex',1);  subplot(2,1,2) plot(peakLocsWhale2,peakValsWhale2,'v') hold off

Explorar valores de etiquetas

Explore los valores de etiqueta utilizando .getLabelValues

getLabelValues(lss)
ans=2×3 table
                 WhaleType    MoanRegions    TrillRegions
                 _________    ___________    ____________

    Member{1}      blue       {3x2 table}    {1x3 table} 
    Member{2}      blue       {3x2 table}    {1x3 table} 

Recupere las regiones de gemidos para el primer miembro del conjunto etiquetado.

getLabelValues(lss,1,'MoanRegions')
ans=3×2 table
     ROILimits      Value
    ____________    _____

     6.1     7.7    {[1]}
    11.4    13.1    {[1]}
    16.5    18.1    {[1]}

Utilice un segundo argumento de salida para enumerar las subetiquetas de una etiqueta.

[value,valueWithSublabel] = getLabelValues(lss,1,'TrillRegions')
value=1×2 table
    ROILimits     Value
    __________    _____

    1.4    3.1    {[1]}

valueWithSublabel=1×3 table
    ROILimits     Value     Sublabels 
                           TrillPeaks 
    __________    _____    ___________

    1.4    3.1    {[1]}    {3x2 table}

Para recuperar los valores de una subetiqueta, exprese el nombre de la etiqueta como una matriz de dos elementos.

getLabelValues(lss,1,["TrillRegions" "TrillPeaks"])
ans=3×2 table
    Location      Value   
    ________    __________

     1.553      {[0.2110]}
     1.626      {[0.2540]}
       1.7      {[0.2110]}

Encuentre el valor del tercer pico de trino correspondiente al segundo miembro del conjunto.

getLabelValues(lss,2,["TrillRegions" "TrillPeaks"], ...     'LabelRowIndex',1,'SublabelRowIndex',3)
ans=1×2 table
    Location      Value   
    ________    __________

     11.437     {[0.1500]}

function labelIntervals(moansTrills) % Auxiliary function to label moan and trill regions in plots     [X,Y] = meshgrid(moansTrills,ylim);     plot(X,Y,'k:')     topts = {'HorizontalAlignment','center','FontWeight','bold', ...         'FontSize',12,'Color',[139 69 19]/255};     text((X(1,1:4)+X(1,5:end))/2,Y(2,5:end)-0.1, ...         ["moan" "moan" "moan" "trill"],topts{:}) end
Introducido en R2018b