Skip to contents

ieegio 0.1.2

  • Added as_ieegio_roi to mark an image volume, surface, point cloud, or streamlines object as a region of interest, recording the selection criteria (intensity bounds, threshold expressions, arc length filters) rather than applying them right away
  • Added resolve_roi_as to carry out those criteria and convert the region into a chosen representation (volume, point cloud, surface, or streamlines), always in world RAS coordinates so two resolved regions can be compared directly
  • Added detect_roi_overlap to test whether two regions overlap, with distance tolerance, an optional interior test for closed surfaces, and per-unit hit ratios written back onto the second region
  • Added io_read_niml and niml_find to read AFNI and SUMA NIML datasets, supporting every storage form (plain text, binary and base64 in either byte order, optionally gzip compressed) and every column type, including String, Line, complex, rgb, and rgba
  • Added niml_as_surface and an as_ieegio_surface method for NIML objects; read_surface now recognizes '.niml.dset' files and decides between annotations and measurements from the dataset itself
  • read_colormap now reads the AFNI label table from NIML datasets that store it in binary form
  • The HDF5 back-end is now resolved at run time, choosing among readNSx, h5lite, hdf5r, and h5py; hdf5r is no longer required and has been removed from Suggests
  • Fixed the h5py back-end returning 32-bit integer datasets as double, which turned the missing value sentinel into a large negative number
  • Added a sanitize argument to read_streamlines and as_ieegio_streamlines that discards tracts which are not lines and points with missing coordinates; set it to FALSE to read a file exactly as written
  • Fixed streamline scalar and property naming when the scalars are stored as a matrix, and gave automatically generated property names their own prefix
  • Fixed as_ieegio_volume choosing an integer data type for arrays that contain Inf
  • Added NIML sample datasets and std.141 inflated surfaces to example data

ieegio 0.1.1

  • Added io_read_vtk_polys and io_write_vtk_polys to read and write surface meshes stored in VTK polygon formats (legacy .vtk, XML-based .vtp, .pvtp, .vtu, and HDF5-based .vtpb), including vertex colors and vertex-wise measurements; read_surface and write_surface now recognize these formats
  • Added read and write functions for color-map files
  • Fixed a graphics bug that causes par not reset after showing surfaces
  • Added a helper function to convert volume atlases to surface with proper smoothing
  • Added YBA696 atlas to example data

ieegio 0.1.0

CRAN release: 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

CRAN release: 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

CRAN release: 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

CRAN release: 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

CRAN release: 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

CRAN release: 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

CRAN release: 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

CRAN release: 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

CRAN release: 2024-09-16

  • Initial CRAN submission.