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 runcortex.export.save_3d_viewsandcortex.export.plot_panelswithout a browser window. It works in CI, scripts, and Jupyter notebooks. Install withpip install pycortex[headless]. - Unified
VolumeRGB/VertexRGBsignatures (#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
- Fix
save_3d_viewscrashing IPython/Jupyter kernels (#602, @kroq-gar78). - Fix
pickerfunPython callback (#600, @kroq-gar78).
Maintenance
- Bump
actions/upload-artifactfrom 6 to 7 (#596, @dependabot). - Bump
actions/download-artifactfrom 7 to 8 (#595, @dependabot).
Full Changelog: v1.2.14...v1.3.0