edfheader

Создайте структуру заголовка для EDF или EDF + файл

    Синтаксис

    Описание

    пример

    hdr = edfheader(filetype) создает структуру заголовка, которая может использоваться, чтобы создать Европейский формат данных (EDF) или EDF + файлы с edfwrite.

    Примеры

    свернуть все

    Создайте запись заголовка для EDF + файл и укажите информацию записи. Отобразите свойства заголовка.

    hdr = edfheader("EDF+");
    hdr.Patient = "P42Dory F";
    hdr.Recording = "AJMS Device2";
    hdr.StartDate = "27.12.1993";
    hdr.StartTime = "04.22.24";
    hdr.Reserved = "EDF+C";
    hdr.NumDataRecords = 1;
    hdr.DataRecordDuration = seconds(4.22)
    hdr = struct with fields:
                   Patient: "P42Dory F"
                 Recording: "AJMS Device2"
                 StartDate: "27.12.1993"
                 StartTime: "04.22.24"
                  Reserved: "EDF+C"
            NumDataRecords: 1
        DataRecordDuration: 4.22 sec
                NumSignals: []
              SignalLabels: [0x0 string]
           TransducerTypes: [0x0 string]
        PhysicalDimensions: [0x0 string]
               PhysicalMin: []
               PhysicalMax: []
                DigitalMin: []
                DigitalMax: []
                 Prefilter: [0x0 string]
            SignalReserved: [0x0 string]
    
    

    Создайте запись заголовка для нового файла EDF.

    hdr = edfheader("EDF");

    Сгенерируйте два случайных сигнала с 1000 выборками, содержащие целые числа в области значений [–24000, 32767], и добавьте случайный шум во второй сигнал. Постройте оба сигнала.

    sigdata = randi([-24000 32767],1000,2);
    sigdata(:,2) = sigdata(:,2) + 0.7*randn(1000,1);
    plot(sigdata)

    Figure contains an axes object. The axes object contains 2 objects of type line.

    Задайте свойства заголовка на основе этих двух цифровых сигналов, которые вы создали. Цифровые минимальные и максимальные значения соответствуют экстремумам, которые могут произойти, поэтому задайте эти значения как –32768 и 32767.

    hdr.NumSignals = 2;
    hdr.NumDataRecords = 1;
    hdr.PhysicalMin = [-3200 -3200];
    hdr.PhysicalMax = [3200 3200];
    hdr.DigitalMin = [-32768 -32768];
    hdr.DigitalMax = [32767 32767];

    Запишите новый файл EDF со структурой заголовка и случайными данными. Просмотрите свойства файла.

    edfw = edfwrite("rand.edf",hdr,sigdata);
    edfinfo("rand.edf")
    ans = 
      edfinfo with properties:
    
                  Filename: "rand.edf"
               FileModDate: "25-Aug-2021 09:09:38"
                  FileSize: 4768
                   Version: "0"
                   Patient: "1234567 F 25-Aug-2021 Patient_1"
                 Recording: "Startdate 25-Aug-2021 MW_1234567 MW_Inv_01 MW_Eq_01"
                 StartDate: "25.08.21"
                 StartTime: "09.09.38"
               HeaderBytes: 768
                  Reserved: ""
            NumDataRecords: 1
        DataRecordDuration: 1 sec
                NumSignals: 2
              SignalLabels: [2x1 string]
           TransducerTypes: [2x1 string]
        PhysicalDimensions: [2x1 string]
               PhysicalMin: [2x1 double]
               PhysicalMax: [2x1 double]
                DigitalMin: [2x1 double]
                DigitalMax: [2x1 double]
                 Prefilter: [2x1 string]
                NumSamples: [2x1 double]
            SignalReserved: [2x1 string]
               Annotations: [0x2 timetable]
    
    

    Задайте новую терпеливую идентификационную запись, измените время начала записи в 21:12:00, и задайте метку для каждого сигнала. Отобразите структуру заголовка, чтобы видеть модифицированные свойства.

    hdr.Patient = "20210410 F 27-JUL-2017";
    hdr.SignalLabels = ["sig1" "sig2"];
    hdr.StartTime = "21.12.00"
    hdr = struct with fields:
                   Patient: "20210410 F 27-JUL-2017"
                 Recording: "Startdate 25-Aug-2021 MW_1234567 MW_Inv_01 MW_Eq_01"
                 StartDate: "25.08.21"
                 StartTime: "21.12.00"
                  Reserved: ""
            NumDataRecords: 1
        DataRecordDuration: 1 sec
                NumSignals: 2
              SignalLabels: ["sig1"    "sig2"]
           TransducerTypes: [0x0 string]
        PhysicalDimensions: [0x0 string]
               PhysicalMin: [-3200 -3200]
               PhysicalMax: [3200 3200]
                DigitalMin: [-32768 -32768]
                DigitalMax: [32767 32767]
                 Prefilter: [0x0 string]
            SignalReserved: [0x0 string]
    
    

    Входные параметры

    свернуть все

    Тип файла в виде "EDF" или "EDF+".

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

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

    свернуть все

    Запись заголовка, возвращенная как структура с этими полями:

    Поле Описание

    Patient

    Терпеливые идентификационные детали, возвращенные как строковый скаляр. Терпеливые идентификационные детали могут включать Идентификатор пациентов, пол или пол, дату рождения в 'dd-MMM-yyyy' формат и имя.

    Recording

    Запись идентификационных деталей, возвращенных как строковый скаляр. Запись идентификационных деталей может включать свою дату начала и время, ID технического специалиста, который сделал запись и ID оборудования, которое сделало запись.

    StartDate

    Запись даты начала, возвращенной как строковый скаляр в 'dd.MM.yy' формат.

    StartTime

    Запись времени начала, возвращенного как строковый скаляр в 'HH.mm.ss' формат.

    Reserved

    EDF + информация о прерывании, возвращенная как "EDF+C" или "EDF+D" для EDF + совместимые файлы.

    • "EDF+C" — Запись непрерывна. Нет никаких прерываний, и все записи данных непрерывны, таковы, что время начала каждой записи данных совпадает со временем начала предыдущей записи плюс ее длительность.

    • "EDF+D" — Запись прерывиста с прерываниями между последовательными записями данных.

    Для файлов, которые не являются EDF + совместимый, это свойство является пустой строкой ("").

    NumDataRecords

    Количество записей данных в файле, возвращенном как целочисленный скаляр.

    Примечание

    Если filename не совместимая EDF, NumDataRecords может быть установлен в -1 когда количество записей данных неизвестно. Если filename совместимая EDF, NumDataRecords должен быть установлен в положительное целое число. Если filename имеет Reserved установите на непустую строку и NumDataRecords установите на -1, edfinfo выдает ошибку.

    DataRecordDuration

    Длительность каждой записи данных, возвращенной как скаляр длительности.

    NumSignals

    Количество сигналов в файле, возвращенном как целочисленный скаляр.

    SignalLabels

    Имена сигнала, возвращенные как вектор строки из длины NumSignals.

    Примечание

    Если SignalLabels не задан, edfwrite использует метку "Signal_i" по умолчанию для i th сигнал.

    TransducerTypes

    Детали преобразователя, возвращенные как вектор строки из длины NumSignals. Каждый элемент TransducerTypes содержит детали о преобразователе, используемом, чтобы получить соответствующий сигнал в SignalLabels.

    PhysicalDimensions

    Модули данных сигнала, возвращенные как вектор строки из длины NumSignals. Каждый элемент PhysicalDimensions содержит модули измерения, используемые, чтобы описать значения соответствующего сигнала в SignalLabels.

    PhysicalMin

    Предупредите о минимальном физическом значении, возвращенном как числовой вектор из длины NumSignals. Каждый элемент PhysicalMin содержит минимальное физическое значение соответствующего сигнала в SignalLabels.

    PhysicalMax

    Предупредите о максимальном физическом значении, возвращенном как числовой вектор из длины NumSignals. Каждый элемент PhysicalMax содержит максимальное физическое значение соответствующего сигнала в SignalLabels.

    DigitalMin

    Предупредите о минимальном цифровом значении, возвращенном как числовой вектор из длины NumSignals. Каждый элемент DigitalMin содержит минимальное цифровое значение соответствующего сигнала в SignalLabels.

    DigitalMax

    Предупредите о максимальном цифровом значении, возвращенном как числовой вектор из длины NumSignals. Каждый элемент DigitalMax содержит максимальное цифровое значение соответствующего сигнала в SignalLabels.

    Prefilter

    Модули данных сигнала, возвращенные как вектор строки из длины NumSignals. Каждый элемент Prefilter содержит детали о фильтрах, если таковые имеются, используемый, чтобы предварительно обработать соответствующий сигнал в SignalLabels.

    SignalReserved

    Дополнительная информация сигнала, возвращенная как вектор строки из длины NumSignals. Каждый элемент SignalReserved содержит дополнительную информацию, если таковые имеются, о соответствующем сигнале в SignalLabels.

    Ссылки

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

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

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

    Приложения

    Объекты

    Функции

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

    Введенный в R2021a