A Swift package for reading EDF(European Data Format) files.
Load an edf file as follows:
let path = "Path To EDF File"
let url = URL(fileURLWithPath: path)
letedf = try! EDFFile(url: url)Basic information about the entire file can be obtained via the header.
let header = edf.header
print("Version:", header.version)
print("Patient ID:", header.localPatientID)
print("Record ID:", header.localRecodingID)
print("Record Start:", header.recordingStartDate, header.recordingStartTime)
print("Header Record Size:", header.headerRecordSize)
print("Reserved:", String(tuple: edf.header._reserved))
print("Number of Records:", header.numberOfRecords)
print("Duration of Records:", header.durationOfRecord)
print("Number of Signals:", header.numberOfSignals)To obtain information such as label names and units for a signal, write:
let column = 0
let info = edf.signalInfo(for: column)
// info.label, info.transducerType, ...To obtain the signal of a column, write
let column = 0
let signal = edf.signal(for: column)The signal is acquired as a two-dimensional array, the size of which is the number of records * the number of samples.
To retrieve only a specific record of a signal, use the following statement.
let column = 0
let index = 100
let record = edf.record(for: column, at: index)EDF is released under the MIT License. See LICENSE