The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Read ephys data

ieegio supports reading from multiple data formats, such as EDF(+)/BDF(+), BrainVision, BCI2000, BlackRock NEV/NSx. Most of these readers have similar interface.

To start, please load ieegio. This vignette uses sample data. Please feel free to replace the sample path with your own data path.

library(ieegio)
edf_path <- ieegio_sample_data("edfPlusD.edf")

Here is a basic example that reads in the sample EDF data and creates a FileCache object that stores the signals channel-by-channel for fast access:

edf <- read_edf(edf_path, verbose = FALSE)
print(edf)

You can check header, channel table, and annotations via the following methods:

header <- edf$get_header()
str(header)

chan_tbl <- edf$get_channel_table()
print(chan_tbl, nrows = 2, topn = 2)

annot <- edf$get_annotations()
annot

You can also query a channel by calling the get_channel method.

# get Channel 1
channel <- edf$get_channel(1)
channel

The channel contains the following elements:

Using such information, it is straightforward to plot the channel data:

plot(
  x = channel$time, y = channel$value,
  xlab = "Time", ylab = channel$info$Unit,
  main = channel$info$Label,
  type = "p", pch = ".", col = "green", lwd = 2
)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.