Main Content

Examinar conjunto de señales etiquetadas

Cargue en el espacio de trabajo MATLAB® el archivo MAT que creó en el ejemplo.Atributos de señal de etiqueta, regiones de interés y puntos Compruebe que el conjunto de señales etiquetado contiene las definiciones que agregó mediante .Etiquetador de señales

load Whale_Songs  labelDefinitionsSummary(whalesongs)
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"

Compruebe que es una subetiqueta de .TrillPeaksTrillRegions

labelDefinitionsHierarchy(whalesongs)
ans =      'WhaleType        Sublabels: []      MoanRegions        Sublabels: []      TrillRegions        Sublabels: TrillPeaks      '  

Recuperar el segundo miembro del conjunto. Recuperar los nombres de las variables de calendario.

song = getSignal(whalesongs,2);  summary(song)
RowTimes:      Time: 76579x1 duration         Values:             Min           0 sec                    Median        9.5722 sec               Max           19.144 sec               TimeStep      0.00025 sec   Variables:      whale2: 76579x1 double          Values:              Min       -0.37326             Median           0             Max        0.37914 

Traza la señal.

t = song.Time; sng = song.whale2;  plot(t,sng)

Visualizar regiones etiquetadas

Muestre e identifique las regiones de interés que ha etiquetado. Para obtener más información, consulte el código de la función al final del ejemplo.labelIntervals

mvals = getLabelValues(whalesongs,2,'MoanRegions'); tvals = getLabelValues(whalesongs,2,'TrillRegions');  cmap = lines;  hold on  tmoan = mvals.ROILimits; for kj = 1:size(tmoan,1)     tv = find(seconds(t)>tmoan(kj,1) & seconds(t)<tmoan(kj,2));     plot(t(tv),sng(tv),'Color',cmap(2,:)) end  ttrill = tvals.ROILimits; for kj = 1:size(ttrill,1)     tv = find(seconds(t)>ttrill(kj,1) & seconds(t)<ttrill(kj,2));     plot(t(tv),sng(tv),'Color',cmap(3,:)) end  labelIntervals(mvals,tvals,cmap(4,:))  hold off

Visualizar puntos etiquetados

Muestre e identifique los picos de trino que etiquete.

pk = getLabelValues(whalesongs,2,{'TrillRegions','TrillPeaks'});  locs  = zeros(size(pk,1),1); for kj = 1:length(locs)     locs(kj) = find(seconds(t) == pk.Location(kj)); end  hold on plot(t(locs),sng(locs)+0.01,'v','MarkerSize',8,'Color',[0.929,0.694,0.125]) text(t(locs)+seconds(0.2),sng(locs)+0.05,int2str(cell2mat(pk.Value)), ...     'HorizontalAlignment','center') hold off

Esta función auxiliar muestra e identifica las regiones de interés.

function labelIntervals(mvals,tvals,clr)     [X,Y] = meshgrid(seconds([mvals.ROILimits;tvals.ROILimits]),ylim);     plot(X,Y,':k')     topts = {'HorizontalAlignment','center','FontWeight','bold', ...         'FontSize',12,'Color',clr};     text((X(1,1:4)+X(1,5:end))/2,Y(2,5:end)-0.1, ...         ["moan" "moan" "moan" "trill"],topts{:}) end

Consulte también

Apps

Funciones

Ejemplos relacionados

Más acerca de