Skip to content

v1.3.0

Latest

Choose a tag to compare

@mvdoc mvdoc released this 22 Mar 00:02
· 11 commits to main since this release
9d07c81

v1.3.0

This release brings major improvements to pycortex's rendering and RGB visualization workflows. The new headless webviewer lets you generate 3D brain snapshots entirely from scripts, notebooks, and CI pipelines; no browser window required. The RGB color range API has been overhauled to support per-channel vmin/vmax control, giving you much finer control over how multi-channel data is displayed. Several long-standing issues with the webviewer crashing Jupyter kernels have also been resolved.

Enhancements

  • Headless webviewer for automated save_3d_views (#604, @kroq-gar78). Playwright-backed headless rendering lets you run cortex.export.save_3d_views and cortex.export.plot_panels without a browser window. It works in CI, scripts, and Jupyter notebooks. Install with pip install pycortex[headless].
  • Unified VolumeRGB / VertexRGB signatures (#599, @mvdoc). Fixes #579.
  • More useful error message for missing surfaces (#593, @kroq-gar78).
  • Type annotations for the frontend (#597, @kroq-gar78).

⚠️ Breaking change

VolumeRGB / VertexRGB: new color range API (#603). The arguments shared_range, shared_vmin, and shared_vmax have been replaced with autorange, vmin, and vmax.

Before (v1.2.x):

cortex.VolumeRGB(red, green, blue, shared_range=True, shared_vmin=-3, shared_vmax=3)

After (v1.3.0):

cortex.VolumeRGB(red, green, blue, autorange="shared", vmin=-3, vmax=3)

autorange accepts "shared" or "individual". vmin/vmax now accept either a single float (applied to all channels) or a 3-tuple for per-channel control. When vmin/vmax are provided, they override autorange. See #603 for details.

Bug fixes

Maintenance

Full Changelog: v1.2.14...v1.3.0