modifyAnnotations

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

    Описание

    пример

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

    Примеры

    свернуть все

    Загрузите labeledSignalSet в рабочую область. heartrates содержит две электрокардиограммы (ECG) сигналы от Базы данных Аритмии 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] Капризный, G.B., и Р.Г. Марк. “Удар Базы данных Аритмии MIT-BIH”. Разработка IEEE в Журнале 20 Медицины и Биологии, № 3 (июнь 2001): 45–50. https://doi.org/10.1109/51.932724.

    [2] Грубая шерсть, Боб, Alpo Värri, Агостиньо К. Роза, Ким Д. Нильсен и Джон Гаде. “Простой Формат для Exchange Оцифрованных Полиграфических Записей”. Электроэнцефалография и Клиническая Нейрофизиология 82, № 5 (май 1992): 391–93. https://doi.org/10.1016/0013-4694 (92) 90009-7.

    [3] Грубая шерсть, Боб и Иисус Оливэн. "Европейский Формат данных 'плюс' (EDF +), EDF, Подобная Стандартный формат для Exchange Физиологических Данных". Клиническая Нейрофизиология 114, № 9 (2003): 1755–1761. https://doi.org/10.1016/S1388-2457 (03) 00123-8.

    Смотрите также

    Приложения

    Объекты

    Функции

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

    Введенный в R2021a