Получите информацию о файле EDF/EDF +
Создайте edfinfo объект для получения информации о европейском формате данных (EDF) или файле EDF +. edfinfo объекты содержат такую информацию, как размер файла, количество записей данных, количество сигналов и количество выборок.
filename - Имя файла EDF или EDF +Имя файла EDF или EDF +, заданное как вектор символов или строковый скаляр.
В зависимости от расположения файла, filename может принять одну из этих форм.
Местоположение | Форма |
|---|---|
| Текущая папка или папка на MATLAB® путь | Укажите имя файла в Пример:
'data.edf' |
Файл в папке | Если файл находится не в текущей папке или в папке на пути MATLAB, задайте полное или относительное имя пути. Пример:
'C:\myFolder\data.edf' Пример:
'myDir\myFile.ext' |
Примечание
edfinfo не поддерживает EyeLink® Файлы EDF.
Типы данных: char | string
Filename - Имя файлаЭто свойство доступно только для чтения.
Имя файла, возвращенное как строковый скаляр.
Пример: "ecg_20200411_120.edf"
Типы данных: string
FileModDate - Дата последнего измененияЭто свойство доступно только для чтения.
Дата последнего изменения, возвращенная в виде строкового скаляра с датой и временем последнего изменения файла.
Пример: "11-Apr-2020 15:38:37"
FileSize - Размер файла в байтахЭто свойство доступно только для чтения.
Размер файла в байтах, возвращенный как целочисленный скаляр.
Пример: 4040992
Типы данных: double
Version - Версия формата данных"0"Это свойство доступно только для чтения.
Версия формата данных, возвращенная как "0".
Типы данных: string
Patient - Идентификационные данные пациентовЭто свойство доступно только для чтения.
Детали идентификации пациента, возвращенные как строковый скаляр. Детали идентификации пациента могут включать идентификатор пациентов, пол или пол, дату рождения в 'dd-MMM-yyyy' формат и имя.
Пример: "X F X 120 04-JUL-1982"
Типы данных: string
Recording - Запись идентификационных данныхЭто свойство доступно только для чтения.
Запись идентификационных данных, возвращенная как строковый скаляр. Идентификационные данные записи могут включать его дату и время начала, идентификатор техника, который сделал запись, и идентификатор оборудования, которое сделало запись.
Пример: "Startdate 04-JUL-1982 X X X"
Типы данных: string
StartDate - Дата начала записиЭто свойство доступно только для чтения.
Дата начала записи, возвращенная как строковый скаляр в 'dd.MM.yy' формат.
Пример: "04.07.82"
Типы данных: string
StartTime - Время начала записиЭто свойство доступно только для чтения.
Запись времени начала, возвращенная как строковый скаляр в 'HH.mm.ss' формат.
Пример: "17.16.37"
Типы данных: string
HeaderBytes - Размер заголовка в байтахЭто свойство доступно только для чтения.
Размер заголовка в байтах, возвращенный как целочисленный скаляр. HeaderBytes дается (256 + NumSignals × 256) байт. Первые 256 байтов соответствуют статическому заголовку и требуются для всех файлов EDF и EDF +. Другие байты зависят от количества сигналов, присутствующих в записях данных.
Пример: 2048
Типы данных: double
Reserved - информация о прерывании EDF +"EDF+C" | "EDF+D" | ""Это свойство доступно только для чтения.
Информация о прерывании EDF +, возвращенная как "EDF+C" или "EDF+D" для совместимых с EDF + файлов.
"EDF+C" - Запись непрерывна: Нет прерываний и все записи данных смежны, так что время начала каждой записи данных совпадает со временем начала предыдущей записи плюс ее длительность.
"EDF+D" - Запись прерывается с прерываниями между последовательными записями данных.
Для файлов, которые не совместимы с EDF +, это свойство является пустой строкой ("").
Типы данных: string
NumDataRecords - Количество записей данных в файлеЭто свойство доступно только для чтения.
Количество записей данных в файле, возвращаемое как целочисленный скаляр.
Примечание
Если filename не совместим с EDF, NumDataRecords может быть задано значение -1 когда количество записей данных неизвестно. Если filename соответствует ли EDF, NumDataRecords должно быть задано положительное целое число. Если filename имеет Reserved установите в непустую строку и NumDataRecords установлено на -1, edfinfo выдает ошибку.
Типы данных: double
DataRecordDuration - Длительность каждой записи данныхЭто свойство доступно только для чтения.
Продолжительность каждой записи данных, возвращенная как скаляр длительности.
Типы данных: duration
NumSignals - Количество сигналов в файлеЭто свойство доступно только для чтения.
Количество сигналов в файле, возвращаемое как целочисленный скаляр.
Типы данных: double
SignalLabels - Имена сигналовЭто свойство доступно только для чтения.
Имена сигналов, возвращенные как строковый вектор длины NumSignals.
["Thorax 1";"Abdomen 3"]
Типы данных: string
TransducerTypes - Детали преобразователяЭто свойство доступно только для чтения.
Детали преобразователя, возвращенные как строковый вектор длины NumSignals. Каждый элемент TransducerTypes содержит подробную информацию о преобразователе, используемом для получения соответствующего сигнала в SignalLabels.
Пример: ["AgAgCl electrodes";"thermistor"]
Типы данных: string
PhysicalDimensions - модули данных сигналовЭто свойство доступно только для чтения.
Модули данных сигнала, возвращенные как строковый вектор длины NumSignals. Каждый элемент PhysicalDimensions содержит модули измерения, используемые для выражения значений соответствующего сигнала в SignalLabels.
Пример: ["uV";"mV"]
Типы данных: string
PhysicalMin - Минимальное физическое значение сигналаЭто свойство доступно только для чтения.
Минимальное физическое значение сигнала, возвращаемое как числовой вектор длины NumSignals. Каждый элемент PhysicalMin содержит минимальное физическое значение соответствующего сигнала в SignalLabels.
Типы данных: double
PhysicalMax - Максимальное физическое значение сигналаЭто свойство доступно только для чтения.
Сигнал максимального физического значения, возвращенный как числовой вектор длины NumSignals. Каждый элемент PhysicalMax содержит максимальное физическое значение соответствующего сигнала в SignalLabels.
Типы данных: double
DigitalMin - Минимальное цифровое значение сигналаЭто свойство доступно только для чтения.
Минимальное цифровое значение сигнала, возвращаемое как числовой вектор длины NumSignals. Каждый элемент DigitalMin содержит минимальное цифровое значение соответствующего сигнала в SignalLabels.
Типы данных: double
DigitalMax - Максимальное цифровое значение сигналаЭто свойство доступно только для чтения.
Сигнал максимального цифрового значения, возвращаемый как числовой вектор длины NumSignals. Каждый элемент DigitalMax содержит максимальное цифровое значение соответствующего сигнала в SignalLabels.
Типы данных: double
NumSamples - Количество выборок в сигналеЭто свойство доступно только для чтения.
Количество выборок в сигнале, возвращаемое как числовой вектор длины NumSignals. Каждый элемент NumSamples содержит количество выборок в соответствующем сигнале в SignalLabels.
Типы данных: double
Prefilter - модули данных сигналовЭто свойство доступно только для чтения.
Модули данных сигнала, возвращенные как строковый вектор длины NumSignals. Каждый элемент Prefilter содержит подробную информацию о фильтрах, если таковые имеются, используемых для предварительной обработки соответствующего сигнала в SignalLabels.
Пример: ["HP:10Hz LP:80Hz N:60Hz";"HP:0.1Hz LP:90Hz N:60Hz"]
Типы данных: string
SignalReserved - Дополнительная информация о сигналеЭто свойство доступно только для чтения.
Дополнительная информация о сигнале, возвращенная как строковый вектор длины NumSignals. Каждый элемент SignalReserved содержит дополнительную информацию, если таковая имеется, о соответствующем сигнале в SignalLabels.
Типы данных: string
Annotations - Аннотации, существующие в записях сигналовЭто свойство доступно только для чтения.
Аннотации, присутствующие в записях сигнала, возвращаются как расписание, содержащее эти переменные:
Onset - Время, в течение которого произошла аннотация, выраженное в длительность, указывающей количество секунд, прошедших с момента запуска файла.
Annotations - строка, содержащая текст аннотации.
Duration - скаляр длительности, который указывает длительность события, описанного аннотацией. Если файл не задает длительность аннотации, эта переменная возвращается следующим NaN.
Типы данных: table
Используйте edfinfo функция для создания edfinfo объект, содержащий информацию о файле example.edf.
info = edfinfo('example.edf')info =
edfinfo with properties:
Filename: "example.edf"
FileModDate: "14-Nov-2020 18:40:18"
FileSize: 31488
Version: "0"
Patient: "Patient 7"
Recording: "Startdate not recorded"
StartDate: "10.10.20"
StartTime: "12.02.18"
HeaderBytes: 768
Reserved: ""
NumDataRecords: 6
DataRecordDuration: 10 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]
Отобразите эту информацию о втором сигнале в файле:
Его имя
Физические единицы измерения, в которых выражены данные
Минимальные и максимальные физические значения данных
Количество выборок, содержащихся в нем
nsig = 2;
disp([info.SignalLabels(nsig) info.PhysicalDimensions(nsig) ...
info.PhysicalMin(nsig) info.PhysicalMax(nsig) info.NumSamples(nsig)])"ECG2" "mV" "-229.048" "229.041" "1280"
Можно преобразовать edfinfo объект в структуру MATLAB с помощью get функция. Для примера:
info = edf('example.edf');
strc = get(info)[1] Кемп, Боб, Альпо Вярри, Агостиньо С. Роза, Ким Д. Нильсен и Джон Гейд. «Простой формат обмена оцифрованными полиграфическими записями». Электроэнцефалография и клиническая нейрофизиология 82, № 5 (май 1992): 391-93. https://doi.org/10.1016/0013-4694 (92) 90009-7.
[2] Кемп, Боб и Иисус Оливан. European Data Format 'plus' (EDF +), стандартный формат EDF для обмена физиологическими данными. Клиническая нейрофизиология 114, № 9 (2003): 1755-1761. https://doi.org/10.1016/S1388-2457 (03) 00123-8.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.