Получите информацию о файле 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.