https://github.com/dipterix/readnsx
An R package converting Blackrock Microsystems NEV, NSx formats into common formats (HDF5, tsv)
https://github.com/dipterix/readnsx
data-formats dbi ieeg ieeg-data neuroscience-data
Last synced: 4 months ago
JSON representation
An R package converting Blackrock Microsystems NEV, NSx formats into common formats (HDF5, tsv)
- Host: GitHub
- URL: https://github.com/dipterix/readnsx
- Owner: dipterix
- License: other
- Created: 2023-01-27T18:39:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-12T19:07:41.000Z (5 months ago)
- Last Synced: 2026-01-12T23:58:59.985Z (5 months ago)
- Topics: data-formats, dbi, ieeg, ieeg-data, neuroscience-data
- Language: R
- Homepage: http://dipterix.org/readNSx/
- Size: 5.49 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
# readNSx
[](https://github.com/dipterix/readNSx/blob/main/LICENSE)
[](https://CRAN.R-project.org/package=readNSx)
[](https://github.com/dipterix/readNSx/actions/workflows/R-CMD-check.yaml)
The goal of `readNSx` is to read in `Blackrock-Microsystem` files (`.nev`, `.nsx`) and save the information to common formats that are well-supported by R, Python, Matlab.
## Installation
The package is on `CRAN` soon. Install it via
```r
install.packages("readNSx")
```
You can install the nightly development version of `readNSx` from [r-universe](https://dipterix.r-universe.dev/readNSx)
``` r
# Enable repository from dipterix
options(repos = c(
dipterix = 'https://dipterix.r-universe.dev',
CRAN = 'https://cloud.r-project.org'))
# Download and install readNSx in R
install.packages('readNSx')
```
## How to use `readNSx`
[Click here](https://dipterix.org/readNSx/articles/read-nev-nsx-data.html) to read "not that detailed" manual including usage, anatomy of `readNSx`.
### Import into RAVE
To import the data into `RAVE (R Analysis and Visualization of iEEG)`, use the following code as an example.
``` r
readNSx::import_nsp(
path = "~/EMU_RAW/EMU-008_sub-YAB_task-congruency_run-01_NSP-1.nev",
prefix = "~/rave_data/raw/YAB/block008",
exclude_events = "spike", partition_prefix = "_part"
)
```
The raw data is stored as `EMU-008_sub-YAB_task-congruency_run-01_NSP-1.nev` along with `ns3` and `ns5`. The data will be written to `RAVE` raw-data path under `~/rave_data/raw/`, as `YAB/block008_part1`, `YAB/block008_part2`, ... (one block of data may contain multiple segments of continuous recordings). The above example also avoids reading default `spike-waveforms`. Simply set `exclude_events=NULL` will enable default spike clusters. If you just want to import certain `NSx` files (for example, only `ns3`), then check `exclude_nsx` parameter.
### Import to `BIDS`-like format
`Blackrock-Microsystem` data is incompatible with `BIDS`. It lacks several critical information and require manually edits. However, you may use `import_nsp` to import into `BIDS`-like format.
```r
readNSx::import_nsp(
path = "~/EMU_RAW/EMU-008_sub-YAB_task-congruency_run-01_NSP-1.nev",
prefix = file.path(
"~/BIDSRoot/MyDataSet/sub-YAB/ses-008/ieeg/",
"sub-YAB_ses-008_task-congruency_acq-NSP1_run-01"
),
exclude_events = "spike", partition_prefix = "/part"
)
```
## License
(This is not legal notice. Please seek for professional advice)
The source code of `readNSx` is freely available for educational use. Some components might subject to `Blackrock` copyright. Please contact `Blackrock` for permissions if your software is not free.
`readNSx` is released under `MPL-2.0` license with copyright information. To link `readNSx` in your project (e.g. via R `library(readNSx)` function), you do NOT need to change your license (even for proprietary projects, this makes me prefer `MPL-2.0` to other strong copyleft licenses as `GPL`) other than including the copyright information when redistributing (see `LICENSE` file).
In some rare cases, if you redistribute source code, either modified or as-is outside of your organization, you must release the code under `MPL-2.0` license. The license file explicitly states that the source code is incompatible with any other license (including `GPL`, see `Exhibit B - “Incompatible With Secondary Licenses” Notice` in the license file).