edfread
Sintaxis
Descripción
lee el archivo en un horario con opciones adicionales especificadas por uno o más argumentos de par nombre-valor.data
= edfread(filename
,Name,Value
)
[
también devuelve las anotaciones presentes en los registros de datos.data
,annotations
] = edfread(___)
Ejemplos
Leer el archivo EDF en un horario
Lea los datos del archivo EDF example.edf
en un horario. El archivo contiene dos señales, ECG
y ECG2
. Cada señal contiene seis registros de datos y cada registro de datos tiene una duración de 10 segundos.
tt = edfread('example.edf')
tt=6×2 timetable
Record Time ECG ECG2
___________ _______________ _______________
0 sec {1280x1 double} {1280x1 double}
10 sec {1280x1 double} {1280x1 double}
20 sec {1280x1 double} {1280x1 double}
30 sec {1280x1 double} {1280x1 double}
40 sec {1280x1 double} {1280x1 double}
50 sec {1280x1 double} {1280x1 double}
Cree un objeto edfinfo
que contenga información sobre example.edf
. Compruebe que las señales tienen los nombres esperados. Extraiga las tasas de muestreo de las señales utilizando las propiedades DataRecordDuration y NumSamples del objeto.
info = edfinfo('example.edf');
info.SignalLabels
ans = 2x1 string
"ECG"
"ECG2"
fs = info.NumSamples/seconds(info.DataRecordDuration)
fs = 2×1
128
128
Represente el primer registro de la primera señal. Para obtener más información acerca del acceso a los datos de las tablas, consulte Acceder a datos en tablas.
recnum = 1; signum = 1; t = (0:info.NumSamples(signum)-1)/fs(signum); y = tt.(signum){recnum}; plot(t,y) legend(strcat("Record ",int2str(recnum),", Signal ",info.SignalLabels(signum))) hold on
Extraiga y represente el quinto registro de la segunda señal.
recnum = 5; signum = 2; t = (0:info.NumSamples(signum)-1)/fs(signum); y = tt.(signum){recnum}; plot(t,y, ... 'DisplayName',strcat("Record ",int2str(recnum),", Signal ",info.SignalLabels(signum))) hold off xlabel('t (seconds)')
Leer un subconjunto del archivo EDF
Cree un objeto edfinfo
para obtener información acerca del archivo EDF example.edf
. Extraiga el número de registros y los nombres de las variables que se incluyen en el archivo.
info = edfinfo('example.edf');
nrec = info.NumDataRecords
nrec = 6
vars = info.SignalLabels
vars = 2x1 string
"ECG"
"ECG2"
Lea los registros segundo y quinto que correspondan a la variable ECG2
. Devuelva las señales como horarios con filas de tiempos que correspondan a los tiempos de muestreo de la señal. Exprese la información de tiempo como arreglos datetime
.
data = edfread('example.edf', ... 'SelectedDataRecords',[2 5],'SelectedSignals',"ECG2", ... 'DataRecordOutputType','timetable','TimeOutputType','datetime')
data=2×1 timetable
Record Time ECG2
____________________ __________________
10-Oct-2020 12:02:28 {1280x1 timetable}
10-Oct-2020 12:02:58 {1280x1 timetable}
Cambie el nombre de las filas de tiempo a "Date and Time"
y el nombre de la variable a "Electrocardiogram"
.
data.Properties.DimensionNames = ["Date and Time" "Variables"]; data.Properties.VariableNames = "Electrocardiogram"; data
data=2×1 timetable
Date and Time Electrocardiogram
____________________ __________________
10-Oct-2020 12:02:28 {1280x1 timetable}
10-Oct-2020 12:02:58 {1280x1 timetable}
Argumentos de entrada
filename
— Nombre del archivo EDF o EDF+
vector de caracteres | escalar de cadena
Nombre del archivo EDF o EDF+, especificado como un vector de caracteres o un escalar de cadena.
Dependiendo de la ubicación del archivo, filename
puede tener una de estas formas.
Ubicación | Forma |
---|---|
Carpeta actual o carpeta en la ruta de MATLAB® | Especifique el nombre del archivo en Ejemplo: |
Archivo en una carpeta | Si el archivo no se encuentra en la carpeta actual o en una carpeta en la ruta de MATLAB, especifique el nombre completo o relativo de la ruta. Ejemplo: Ejemplo: |
Nota
edfread
no es compatible con los archivos EDF EyeLink®.
Tipos de datos: char
| string
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.
En las versiones anteriores a la R2021a, utilice comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: 'SelectedSignals',["Thorax" "Abdomen"],'SelectedDataRecords',[2 7],'TimeOutputType','datetime'
dirige instrucciones a edfread
para que lea los registros de datos segundo y séptimo que corresponden a las señales Thorax
y Abdomen
y devuelve la información de tiempo como arreglos datetime
.
SelectedSignals
— Nombres de señales para leer
vector de cadena | arreglo de celdas de vectores de caracteres
Nombres de señales para leer, especificados como pares separados por comas que consisten en 'SelectedSignals'
y un vector de cadena o un arreglo de celdas de vectores de caracteres.
'SelectedSignals'
debe ser un subconjunto de los nombres de las señales que se incluyen en el archivo. Para conseguir los nombres de todas las señales del archivo, cree un objetoedfinfo
y utilice la propiedadSignalLabels
.Si no se especifica este argumento,
edfread
lee todas las señales en el archivo.
Ejemplo: ["Thorax 1" "Abdomen 3"]
y {'Thorax 1' 'Abdomen 3'}
especifican Thorax 1
y Abdomen 3
como las señales que leer de un archivo.
Tipos de datos: char
| string
SelectedDataRecords
— Índices de registros para leer
1:height(edfread
(filename
))
(predeterminado) | vector de enteros positivos
edfread
(filename
))Índices de registros para leer, especificados como pares separados por comas que consisten en 'SelectedDataRecords'
y un vector de enteros positivos. Los enteros en un vector deben ser únicos e ir en aumento.
'SelectedDataRecords'
debe ser un subconjunto de registros de datos incluido en el archivo. Para ver cuántos registros hay en el archivo, cree un objetoedfinfo
y utilice la propiedadNumDataRecords
. De forma alternativa, lea el archivo entero y utilice la funciónheight
de MATLAB.Si no se especifica este argumento,
edfread
lee todos los registros de datos del archivo.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
DataRecordOutputType
— Tipo de datos de salida
'vector'
(predeterminado) | 'timetable'
Tipo de datos de salida, especificados como pares separados por comas que consisten en 'DataRecordOutputType'
y 'vector'
o 'timetable'
.
'vector'
: devuelve las señales endata
como vectores.'timetable'
: devuelve las señales endata
como tablas con filas de tiempo que corresponden a tiempos de muestreo.
Tipos de datos: char
| string
TimeOutputType
— Tipo de tiempo de salida
'duration'
(predeterminado) | 'datetime'
Tipo de tiempo de salida, especificado como par separado por comas que consta de 'TimeOutputType'
y 'duration'
o 'datetime'
.
Tipos de datos: char
| string
Argumentos de salida
data
— Datos de salida
horario
Datos de salida, devueltos como horario. Cada fila de data
corresponde a un registro y cada variable de data
corresponde a una señal.
Si
'DataRecordOutputType'
se especifica como'vector'
, el segmento de señal para cada registro de datos se devuelve como un vector.Si
'DataRecordOutputType'
se especifica como'timetable'
, el segmento de señal para cada registro de datos se devuelve como un horario con filas de tiempo que corresponden a tiempos de muestreo de señal.
Cada fila de tiempo de data
contiene el tiempo de inicio de cada registro de datos correspondiente.
Si
'TimeOutputType'
se establece en'duration'
, el tiempo de inicio de cada registro es relativo al tiempo de inicio del registro del archivo.Si
'TimeOutputType'
se establece en'datetime'
, el tiempo de inicio de cada registro es el tiempo de inicio absoluto.
annotations
— Anotaciones de registros
horario
Anotaciones de registros, devueltas como horario. El horario contiene estas variables:
Onset
: tiempo en el que ocurrió la anotación. El tipo de datos deOnset
depende del valor especificado para'TimeOutputType'
.Annotations
: una cadena que contiene el texto de la anotación.Duration
: un escalar de duración que indica la duración del evento descrito por la anotación. Si el archivo no especifica una duración de la anotación, esta variable se devuelve comoNaN
.
Referencias
[1] Kemp, Bob, Alpo Värri, Agostinho C. Rosa, Kim D. Nielsen, and John Gade. “A Simple Format for Exchange of Digitized Polygraphic Recordings.” Electroencephalography and Clinical Neurophysiology 82, no. 5 (May 1992): 391–93. https://doi.org/10.1016/0013-4694(92)90009-7.
[2] Kemp, Bob, and Jesus Olivan. "European Data Format 'plus' (EDF+), an EDF Alike Standard Format for the Exchange of Physiological Data." Clinical Neurophysiology 114, no. 9 (2003): 1755–1761. https://doi.org/10.1016/S1388-2457(03)00123-8.
Historial de versiones
Introducido en R2020b
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)