modifyAnnotations

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

    Описание

    пример

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

    Примеры

    свернуть все

    Загрузка 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 +, который содержит заголовок, первый сигнал ECG в маркированном наборе сигналов и аннотации.

    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., and R.G. Mark. «The Impact of the MIT-BIH Arrhythmia Database». IEEE Engineering in Medicine and Biology Magazine 20, № 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] Кемп, Боб и Иисус Оливан. European Data Format 'plus' (EDF +), стандартный формат EDF для обмена физиологическими данными. Клиническая нейрофизиология 114, № 9 (2003): 1755-1761. https://doi.org/10.1016/S1388-2457 (03) 00123-8.

    См. также

    Приложения

    Объекты

    Функции

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

    Введенный в R2021a