3个版本

0.1.2 2024年7月3日
0.1.1 2024年7月3日
0.1.0 2024年7月3日

#416 in 数学

MIT许可

175KB
99

automesh

crates pypi

自动网格生成

简介

当前Autotwin工作流程有以下几个基本步骤

  1. 医学影像
  2. 分割
  3. 网格生成
  4. 模拟
  5. 伤害风险评估

截至2024年6月24日,该工作流程已经在超过100个患者的医学影像数据集上展示了自动化,可以在分割网格生成步骤中完成部分工作而无需人工干预。然而,模拟伤害风险评估步骤仍然是未来的工作。

自项目启动以来,生产开源软件产品一直是其核心理念和愿望。当前网格生成步骤的一部分使用的是闭源、专有软件服务,这存在三个局限性:(1)该软件不是开源的,因此无法进行广泛的协作,(2)必须将空隙作为网格的一部分[注:空隙包含],(3)无法轻松进行针对特定研究的网格实验(例如,Taubin平滑,双空间适应性)。

[注:空隙包含]:空隙包含可能导致模型不必要地膨胀。例如,最近使用IXI012-HH-1211-T1数据集进行的一次实验表明,从分割数据创建的高保真网格中,空隙占网格总元素数的2,389,783个(55%),而头骨、脑脊液和大脑分别占剩余部分的240,895个(6%)、448,654个(10%)和1,250,593个(29%)。

消除不必要的空隙网格是提高网格质量的首要任务。其他网格增强主题包括平滑和适应性。

提高网格质量可以改善求解器的收敛速度,降低开销(内存占用),并为底层人体解剖学提供更好的整体几何保真度。

项目任务

任务1:求解器自动化

  • 网格输出文件。网格输出是求解器的输入。网格输出必须自动化,以便为Sierra固体力学(SSM)在Genesis/Exodus格式、ABAQUS(.inp格式)和通用ASCII(例如,.vtk)中提供求解器集成和自动化,具体格式待定。
  • 求解器输入文件。当前的求解器运行使用了硬编码和手工定制的输入文件。这个过程必须被重写并实现完全自动化。

任务2:伤害风险自动化

  • 全球化措施。当前的流程(例如,MPS,MPSR,95百分位云图)将被重写以实现标准化和灵活性,从而实现自动化。
  • 本地化措施。当前的整个大脑可视化流程将被正式化为可重复和灵活的软件食谱,使得手工的“点击式”GUI步骤变得不再必要。

任务3:开源网格生成

  • 开源。将Sculpt网格生成功能作为开源软件组件进行复现。

任务4:网格增强

  • 滤波。对网格进行高频滤波处理(例如,Taubin平滑)。
  • 自适应。处理网格以实现自适应,在感兴趣的区域细化,在不需要网格分辨率丰富的区域进行粗化。

参考:2024-06-21-1218-EST-ONR-Statement-of-Work.pdf

具体下一步行动

将使用字母“F”模型的letter F的最小工作示例(MWE)(见https://github.com/autotwin/mesh/blob/main/doc/npy_to_mesh.md)作为单元测试,通过以下具体下一步行动

  • 给定
    • 语义分割(作为一个.spn文件)
    • 配置食谱(作为一个.yml文件)
  • 创建
    • Rust命令行应用程序,输出等效的Sculpt输出,不将空隙作为网格组成部分,作为
      • ABAQUS ASCII网格文件(作为一个.inp文件)
      • SSM准备好的网格文件(作为一个.e文件,Genesis/Exodus NetCDF二进制格式)
      • ASCII中性网格文件(作为一个目前尚待确定的文件类型)
  • 下一步行动

依赖关系

~0-6MB
~24K SLoC