Skip to content

Commit 5417987

Browse files
fangqclaude
andcommitted
[fix] overhaul plotvolume slice viewer and speed up matplotlib rendering, bump 0.6.5
plotvolume (mcxplotvol-style viewer): - robust slice picking via forward projection + exact per-pixel depth (replaces fragile inverse-projection ray-casting that often selected the wrong slice). - slice3i-style dragging (move along the slice normal projected to screen). - rotation direction now matches MATLAB rotate3d (drag right -> azimuth down, drag up -> elevation down). - remove the bottom sliders; the 3D axes now fills/resizes with the window. - up/down arrows switch frames for any 4-D array (like mcxplotvol changeframe), with a frame indicator in the title. - right-button drag changes the colormap level count, matching slice3i (relative to the level at drag start, ~64 levels per full-window drag). - vectorized slice polygon/color build + coarse level-of-detail while interacting (~15x faster dragging on large volumes). - auto-show on construction; fix cm.get_cmap removal (matplotlib 3.9); fix shade=True crash with edgecolors='none'. - match plotmesh colormap convention: cmap= keyword, default jet (colormap= kept as a back-compat alias). plotsurf/plotasurf/plottetra: - vectorize per-face vertex and color construction (~84x faster on large surfaces); remove redundant face-value recomputations and an ndarray truthiness landmine. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 7246ea2 commit 5417987

4 files changed

Lines changed: 270 additions & 410 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
* **Copyright**: (C) Qianqian Fang (2024-2025) <q.fang at neu.edu>
66
* **License**: GNU Public License V3 or later
7-
* **Version**: 0.6.3
7+
* **Version**: 0.6.5
88
* **URL**: [https://pypi.org/project/iso2mesh/](https://pypi.org/project/iso2mesh/)
99
* **Homepage**: [https://iso2mesh.sf.net](https://iso2mesh.sf.net)
1010
* **Github**: [https://github.com/NeuroJSON/pyiso2mesh](https://github.com/NeuroJSON/pyiso2mesh)

iso2mesh/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@
264264
ndimfilter,
265265
)
266266

267-
__version__ = "0.6.3"
267+
__version__ = "0.6.5"
268268
__all__ = [
269269
"advancefront",
270270
"barycentricgrid",

0 commit comments

Comments
 (0)