exponenta event banner

modifyAnnotations

Изменение аннотаций в файле EDF или EDF +

    Описание

    пример

    edfw = modifyAnnotations(edfw,annotationindices,tsal) изменяет аннотации в edfw с аннотациями в tsal по индексам, указанным в annotationindices.

    Примеры

    свернуть все

    Загрузить a labeledSignalSet в рабочую область. heartrates содержит два сигнала электрокардиограммы (ЭКГ) из базы данных аритмии MIT-BIH [1] и таблицу меток для каждого сигнала. Частота дискретизации составляет 250 Гц.

    load HeartRates

    Создайте расписание аннотаций, используя значения меток для первого сигнала в наборе маркированных сигналов.

    labels = getLabelValues(heartrates,1,'QRSregions')
    labels=41×2 table
           ROILimits       Value
        _______________    _____
    
        0.556     0.724     QRS 
        1.304       1.4     QRS 
         1.82     1.976     QRS 
        2.628     2.724     QRS 
        3.092     3.292     QRS 
        3.916      4.02     QRS 
        4.384     4.564     QRS 
        5.184     5.272     QRS 
        5.668     5.844     QRS 
        6.428     6.516     QRS 
        6.876     7.048     QRS 
        7.688     7.784     QRS 
        8.192     8.416     QRS 
        9.092     9.208     QRS 
        9.592     9.768     QRS 
        10.34    10.428     QRS 
          ⋮
    
    
    Onset = seconds(labels.ROILimits(:,1));
    Annotations = string(labels.Value);
    Duration = seconds(labels.ROILimits(:,2) - labels.ROILimits(:,1));
    
    tsal = timetable(Onset,Annotations,Duration);

    Создайте новый файл EDF +, содержащий заголовок, первый сигнал ЭКГ в наборе маркированных сигналов и аннотации.

    sig = getSignal(heartrates,1);
    sig = sig.y200;
    
    hdr = edfheader("EDF+");
    hdr.SignalLabels = "y200";
    hdr.NumDataRecords = 1;
    hdr.PhysicalMin = min(sig);
    hdr.PhysicalMax = max(sig);
    
    edfw = edfwrite("heartrate1.edf",hdr,sig,tsal,"InputSampleType","physical");

    Измените аннотацию при каждом нечетном индексе на "skip". Отображение измененных аннотаций в edfw.

    mtsal = tsal(1:2:end,:);
    mtsal.Annotations = repelem("skip",21)';
    
    idx = 1:2:numel(tsal(:,1));
    edfw = modifyAnnotations(edfw,idx,mtsal);
    edfw.Annotations
    ans=41×2 timetable
          Onset      Annotations    Duration 
        _________    ___________    _________
    
        0.556 sec      "skip"       0.168 sec
        1.304 sec      "QRS"        0.096 sec
        1.82 sec       "skip"       0.156 sec
        2.628 sec      "QRS"        0.096 sec
        3.092 sec      "skip"         0.2 sec
        3.916 sec      "QRS"        0.104 sec
        4.384 sec      "skip"        0.18 sec
        5.184 sec      "QRS"        0.088 sec
        5.668 sec      "skip"       0.176 sec
        6.428 sec      "QRS"        0.088 sec
        6.876 sec      "skip"       0.172 sec
        7.688 sec      "QRS"        0.096 sec
        8.192 sec      "skip"       0.224 sec
        9.092 sec      "QRS"        0.116 sec
        9.592 sec      "skip"       0.176 sec
        10.34 sec      "QRS"        0.088 sec
          ⋮
    
    

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

    свернуть все

    EDF или EDF + файл, указанный как edfwrite объект.

    Индексы аннотаций, указанные как числовой вектор. Значения в annotationindices должны быть индексами строк Annotations собственность.

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

    Список заметок с временной меткой, указанный как расписание, содержащее следующие переменные:

    • Onset - время, в которое произошла аннотация, выраженное в виде длительности, указывающей количество секунд, прошедших с момента начала файла. Использовать Onset для указания RowTimes в расписании.

    • Annotations - строка, содержащая текст аннотации.

    • Duration - скаляр длительности, указывающий длительность события, описанного аннотацией. Если в файле не указана продолжительность аннотации, эта переменная возвращается как NaN.

    Количество строк в tsal должно быть равно количеству элементов в annotationindices.

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

    свернуть все

    EDF или EDF + файл, возвращенный как edfwrite объект.

    Ссылки

    [1] Moody, G.B. и R.G. Mark. «Влияние базы данных аритмии MIT-BIH». IEEE Engineering in Medicine and Biology Magazine 20, No. 3 (июнь 2001): 45-50. https://doi.org/10.1109/51.932724.

    [2] Кемп, Боб, Алпо Вярри, Агостиньо К. Роза, Ким Д. Нильсен и Джон Гейд. «Простой формат обмена оцифрованными полиграфическими записями». Электроэнцефалография и клиническая нейрофизиология 82, № 5 (май 1992): 391-93. https://doi.org/10.1016/0013-4694 (92) 90009-7.

    [3] Кемп, Боб и Иисус Оливан. «Европейский формат данных» плюс «(EDF +), аналогичный EDF стандартный формат для обмена физиологическими данными». Клиническая нейрофизиологическая 114, № 9 (2003): 1755-1761. https://doi.org/10.1016/S1388-2457 (03) 00123-8.

    См. также

    Приложения

    Объекты

    Функции

    Внешние веб-сайты

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