Changelog
Source:NEWS.md
readNSx 0.1.1
-
NEVdata packets are now read in chunks, and the packet types of a whole chunk are checked at once. Excluded events (by defaultspike) no longer cost any parsing, and memory use no longer grows with the file size, so importing aNEVfile that stores the waveform of every spike is many times faster - The waveform of each spike is parsed for a whole chunk at once and written to
waveforms.h5while reading - Fixed the spike waveform being cut to its first 4 (
NEV2.2 and 2.3) or 6 (NEV3.0) samples. Thewaveformdata set inwaveforms.h5is now a matrix with all samples of each spike, one column per spike (zero-padded when electrodes store samples in different sizes); it used to be a vector - Fixed an error when importing spikes from a recording that has no spikes
- Added
read_nev_header()to read theNEVheaders, such as the channel labels, without reading the data packets
readNSx 0.1.0
CRAN release: 2026-09-02
-
HDF5is now read and written directly byreadNSx, linking againsthdf5libfor a static build of theHDF5library. This removes the dependency onhdf5rand theHDF5system requirement; no systemHDF5installation is needed on any platform - Removed the
hdf5rcode path and the plain-R.raltfallback store; there is now a single storage implementation. The layout on disk is unchanged, so files exported by earlier versions read back unchanged and files written now stay readable byhdf5r,h5py, and command-lineHDF5tools - Channel datasets are no longer capped at
2^31samples: dimensions and offsets are carried as doubles all the way intoHDF5 - Reading a contiguous range from a channel now reads only that range instead of the whole dataset
-
h5_valid(file, "w")no longer truncates the file it is asked about - Added complex support, stored as the
H5T_COMPOUND {"r", "i"}of doubles thatnumpyandh5pyuse forcomplex128. Complex datasets written elsewhere are read back as complex whatever their member names, including the{"Real", "Imaginary"}layouthdf5ruses andHDF52.0 native complex - Strings are now written as
UTF-8rather than being labeledASCIIregardless of content, so non-ASCIItext survives. For plainASCIIthe stored bytes are unchanged. Strings are read using whatever character set the file declares, so files written by earlier versions are unaffected -
NA_character_is now stored as anHDF5NULLand read back asNA. Previously it became the literal text"NA", which no reader could tell apart from a genuine"NA"string -
NAin integer, double and logical vectors round-trips exactly, matching whathdf5rstores bit for bit
readNSx 0.0.7
CRAN release: 2026-05-23
-
import_nspSupports streaming the data with lengths larger than the bound of 32-bit integers. This supports high-frequency long-time continuous recording, extending the30,000 Hzrecording duration from 10 minutes (100 channels) to Almost a half day recording. The individual channel size is still limited by the 32-bit integer, that is around 19 hours - Fixed an
rchkissue reported byCRAN - Replaced
c.integer64withc
readNSx 0.0.6
CRAN release: 2025-10-24
-
HDF5falls back to alternatives inWASMto avoid compilation issues when running in web browser
readNSx 0.0.5
CRAN release: 2024-09-03
- Fixed calling
R_MakeExternalPtrwithRf_mkChar, usingRf_installinstead - Fixed a potential imbalanced protect