Changes in version 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 Changes in version 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) Changes in version 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 Changes in version 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 Changes in version 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 Changes in version 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. Changes in version 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 Changes in version 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 Changes in version 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 Changes in version 0.0.1 (2024-09-16) - Initial CRAN submission.