NEWS
ieegio 0.1.0 (2026-05-31)
- Added
burn_curve to burn electrode trajectories (e.g. depth/sEEG leads or DBS shafts) into a volume given start and end positions in image native RAS coordinates, with configurable radius and per-segment colors
- Added a
merge mode to burn_curve so newly burned trajectories can be composted onto an existing volume instead of overwriting it
- Added a base
R graphics plot method for ieegio_surface objects as an alternative to the default r3js rendering, useful for static figures and environments without WebGL
- Fixed
get_channel so channels can be looked up by label (in addition to index) for BCI2000 and BrainVision formats
- Fixed
mat_to_quaternion to correctly handle handedness changes, aligning the quaternion sign convention with FreeSurfer
- Code style and lint cleanup across the package; rebuilt documentation
ieegio 0.0.9 (2026-01-27)
- Fixed
CRAN check issues
- Added volume and surface related functions as
MCP tools (can be loaded via package ravepipeline and ellmer)
ieegio 0.0.8 (2026-01-11)
- Added
new_space and as_ieegio_transform to define coordinate spaces and chain transforms
- Added
io_read_ants_transform to read ANTs affine and displacement field transforms
- Added
io_read_flirt_transform to read FSL FLIRT affine transforms
- Added
volume_to_surface and surface_to_surface for mapping data between volumes and surfaces
- Fixed point transform ambiguity when chaining transforms with different interpretations
- Improved
plot.ieegio_volume intensity windowing using percentile-based display range (2-98 percentiles), following conventions from FSLeyes, AFNI, MRIcroGL, and SPM
- Auto-detection for
CT vs MRI data: excludes zeros by default but includes them when lower percentile is below -500 (indicating CT with -1024 background)
- Statistical overlay detection: applies symmetric range for z-score-like data
- Values outside display range are now clamped to boundary colors instead of rendering as transparent
ieegio 0.0.7
- Added
as_nifti_header as a workaround when RNifti is missing (not installed or running in WebAssembly)
- Added automatic checks when pushing commits the repository to
Github
ieegio 0.0.6 (2025-10-24)
- Added
write_edf to save signals as continuous EDF format
- Added
YBA atlas (690 segments) to example data
- Improved
HDF5 checking error messages
ieegio 0.0.5 (2025-07-22)
- Added
LazyFST class
- Fixed a bug where
gzipped is ignored in io_write_nii.array
LazyH5 fall back to alternatives when HDF5 is not supported in wasm
- Plotting surfaces use
r3js by default
- Fixed
BrainVision annotation bugs
- Supported writing to
STL format (to support importing to BrainLab)
- Added supports to read streamlines data (
trk, tck, tt, vtk)
- Writing to
freesurfer surfaces also appends orientation information at the end.
ieegio 0.0.4 (2025-03-07)
- Added merge support for both volume and surface objects; for surface objects, users can choose whether to merge the objects in model or world space
- Added dependency
ravetools to help speed up sample volumes using C++
- Fixed missing transform issue in writing to
GIfTI format
- Fixed
write_surface not working when writing to FreeSurfer measurement (curvature) format
- Fixed a typo that caused setting volume data resulting in errors
as_ieegio_surface does not require vertices
ieegio 0.0.3 (2025-01-13)
- Cleaned
h5py loader
mat_to_quaternion always returns non-negative w now
- Added generics
dim and length to volume object
- Fixed annotation issues in
EDF format
- Time selection is double-sided using greater equal and less equal signs
- Added more sample data
- Supports colored (
RGB[A]) formats
- Fixed color intensity when
cal_min and cal_max is set
- Using
r3js for visualizing surfaces
- Added
resample_volume to sample images (currently only nearest neighbor)
- Added
burn_volume to burn contacts (positions given in the image native RAS coordinate) with any given colors
- Fixed
io_h5_names returning wrong names when using with h5py
- Exported internal class
LazyH5 for down-stream packages
- Added
as_ieegio_volume and as_ieegio_surface to enclose volume or surface data
- Added a flag to disable using
Python
ieegio 0.0.2 (2024-10-31)
- Added
h5py as an alternative back-end support
- Fixed a bug where images are not loaded correctly due to image format being ignored
- Fixed
Torig (index to tkr coordinate transform) issue
- Fixed a global variable issue
- Fixed a bug where file name is not respected
ieegio 0.0.1 (2024-09-16)