首页
/ Vedo 2025.5.3版本发布:科学可视化库的重大更新

Vedo 2025.5.3版本发布:科学可视化库的重大更新

2025-06-20 10:15:44作者:舒璇辛Bertina

Vedo是一个基于VTK的Python科学可视化库,它提供了简洁易用的API接口,能够帮助科研人员和工程师快速创建高质量的3D可视化效果。该库特别适合处理医学影像、计算流体力学、有限元分析等领域的数据可视化需求。

核心功能增强

精度与性能优化

新版本引入了settings.force_single_precision_points = False设置项,允许用户控制点数据的精度。这一改进特别适合需要高精度计算的场景,如CAD建模或精密工程分析。当设置为False时,系统将使用双精度浮点数存储点坐标,显著提高了计算精度。

网格处理能力提升

新增的mesh.laplacian_diffusion()方法为网格平滑处理提供了新的工具。拉普拉斯扩散算法能够有效去除网格表面的噪声,同时保持模型的整体形状特征,在医学图像处理和3D扫描数据处理中尤为实用。

针对网格布尔运算,文档中增加了详细说明,帮助用户更好地理解不同布尔操作(并集、交集、差集)的应用场景和限制条件。同时,修复了find_cell()函数的相关问题,提高了网格单元查询的准确性。

体积数据处理改进

体积数据的等值面提取功能得到了显著增强。volume.isosurface_discrete()方法现在能够更精确地提取离散等值面,特别适用于医学CT或MRI数据的可视化分析。同时,改进了体积传输函数的透明度处理,使得体积渲染效果更加自然。

用户体验优化

交互功能增强

新增的addons.DrawingWidget类为用户提供了在平面对象上绘制轨迹的能力,这一功能在医学图像标注、工程设计草图绘制等场景中非常实用。DistanceTool工具的修复则确保了距离测量的准确性。

箭头对象现在提供了top_point()base_point()方法,可以方便地获取箭头的起点和终点坐标。同时修正了top_index属性的返回值,确保其与实际几何位置一致。

可视化控制改进

plotter.reset_clipping_range()方法的加入解决了相机裁剪范围自动调整的问题。现在,系统能够根据可见对象的边界自动计算合适的裁剪范围,避免了对象被意外裁剪的情况。

对于2D标量条对象进行了优化,使其在嵌入3D场景时表现更加稳定。同时,修复了LegendBox的显示问题,确保图例能够正确反映可视化内容。

数据处理与I/O改进

数据兼容性增强

所有加载函数现在都支持pathlib路径对象,使文件操作更加符合现代Python编程习惯。同时,输入输出功能对Assembly对象的支持得到了改进,使得复杂场景的保存和加载更加可靠。

数据质量保证

新增了对cell_normals调用的错误检查,如果用户在没有先调用compute_normals()的情况下尝试获取单元法线,系统将抛出明确的错误提示。这一改进有助于避免因法线数据缺失导致的渲染问题。

文档中增加了关于CubeBox对象顶点重复的说明,解释了这种设计是为了支持法线定义。同时澄清了mesh.volume()mesh.is_closed()方法在存在重复顶点时的行为特点。

其他重要改进

  • 修复了Plane.normal属性的计算问题,确保平面法线方向正确
  • 视频对象新增scale参数,允许调整视频帧的显示尺寸
  • 改进了legosurface函数的默认参数设置
  • 截图功能现在支持透明度通道的保存
  • 移除了过时的CellCenters类,统一使用object.cell_centers()方法

这些更新使Vedo在科学计算可视化领域的应用更加广泛和可靠,为用户提供了更强大的工具来处理复杂的3D数据可视化任务。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
466
3.47 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
715
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
203
82
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1