From 413eb3e49f0a7ac28325b62e9d46a4b45cb1d92b Mon Sep 17 00:00:00 2001 From: Flash Date: Sun, 27 Jul 2025 20:20:20 +0800 Subject: [PATCH] CS19 REPAIR --- embryo-backend/Data/CS19.glb | 4 +-- embryo-backend/Data/CS19.h5ad | 2 +- embryo-backend/Data/CS19_old.glb | 3 +++ embryo-backend/Data/CS19repair.py | 42 +++++++++++++++++++++++++++++++ embryo-backend/Data/CS23.glb | 4 +-- embryo-backend/Data/CS23.h5ad | 2 +- embryo-backend/Data/glbTrans.py | 2 +- 7 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 embryo-backend/Data/CS19_old.glb create mode 100644 embryo-backend/Data/CS19repair.py diff --git a/embryo-backend/Data/CS19.glb b/embryo-backend/Data/CS19.glb index f247f45..1680576 100644 --- a/embryo-backend/Data/CS19.glb +++ b/embryo-backend/Data/CS19.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2605adba0302d83bc10bbfbf766bcf4d8a4c0450b8968f363426e225b4d9d609 -size 4740704 +oid sha256:78bc81e852d6f0545bdf911f3a5b29b42c6f1393f03647bf7f2fd4824cdad0c7 +size 4738028 diff --git a/embryo-backend/Data/CS19.h5ad b/embryo-backend/Data/CS19.h5ad index 9d1823d..9ddcfc1 100644 --- a/embryo-backend/Data/CS19.h5ad +++ b/embryo-backend/Data/CS19.h5ad @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40059facd82412865dceea6eba4083351392811c746c071c269fc28050146e5b +oid sha256:1c1dc70a069db5aac758a9e3f68644689c2e0b062c60089b0717cfcd7aa5537c size 122214543 diff --git a/embryo-backend/Data/CS19_old.glb b/embryo-backend/Data/CS19_old.glb new file mode 100644 index 0000000..8f267db --- /dev/null +++ b/embryo-backend/Data/CS19_old.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8af10494e5ecf12b4681846a18a661d71b183da5fb41418d69b29b779419e96 +size 4740704 diff --git a/embryo-backend/Data/CS19repair.py b/embryo-backend/Data/CS19repair.py new file mode 100644 index 0000000..f8b6a59 --- /dev/null +++ b/embryo-backend/Data/CS19repair.py @@ -0,0 +1,42 @@ +import bpy +import os +import bmesh +import mathutils + +# ==== 参数 ==== +input_glb = r"C:/Users/lry/Desktop/digital-embryo/embryo-backend/Data/CS19.glb" +output_glb = r"C:/Users/lry/Desktop/digital-embryo/embryo-backend/Data/CS19_fixed.glb" + +# ==== 清空场景 ==== +bpy.ops.object.select_all(action='SELECT') +bpy.ops.object.delete(use_global=False) + +# ==== 导入 GLB ==== +print(f"📥 载入 {input_glb}") +bpy.ops.import_scene.gltf(filepath=input_glb) + +# ==== 强制应用 matrix_world 到每个顶点 ==== +for obj in [o for o in bpy.context.scene.objects if o.type == 'MESH']: + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + + # 进入编辑模式 + bpy.ops.object.mode_set(mode='EDIT') + bm = bmesh.from_edit_mesh(obj.data) + + # 将所有顶点转换到世界坐标 + for v in bm.verts: + v.co = obj.matrix_world @ v.co + + bmesh.update_edit_mesh(obj.data) + bpy.ops.object.mode_set(mode='OBJECT') + + # 重置 transform(避免重复应用) + obj.matrix_world = mathutils.Matrix.Identity(4) + obj.select_set(False) + +# ==== 导出修复版 GLB ==== +print(f"💾 导出修复版 → {output_glb}") +bpy.ops.export_scene.gltf(filepath=output_glb, export_format='GLB', export_apply=True) + +print("✅ 修复完成!") diff --git a/embryo-backend/Data/CS23.glb b/embryo-backend/Data/CS23.glb index 64d0032..6d3c341 100644 --- a/embryo-backend/Data/CS23.glb +++ b/embryo-backend/Data/CS23.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9de04d8fe8b054146bffe34fa6131cffda902dc83a2b2c4024dd583084e7d48a -size 12627176 +oid sha256:a47b89bcd9c075449646c781c26f5da2785685f998cb303e777dbe0a31185b9a +size 62424668 diff --git a/embryo-backend/Data/CS23.h5ad b/embryo-backend/Data/CS23.h5ad index 625742f..3e37190 100644 --- a/embryo-backend/Data/CS23.h5ad +++ b/embryo-backend/Data/CS23.h5ad @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59c845b30b64ca8a489d00cffd617b256c4ab79769ce698719a48e5351e74ac2 +oid sha256:9e252bfd9df6c67acce226055b9e354e0bb8d8130d75e860c2ada62d98d2bc27 size 122222625 diff --git a/embryo-backend/Data/glbTrans.py b/embryo-backend/Data/glbTrans.py index 3323d16..a2656e3 100644 --- a/embryo-backend/Data/glbTrans.py +++ b/embryo-backend/Data/glbTrans.py @@ -6,7 +6,7 @@ import anndata as ad # ==== 参数 ==== script_dir = os.path.dirname(os.path.realpath(__file__)) -glb_files = [f"CS{i}.glb" for i in range(11,24,1)] +glb_files = [f"CS{i}.glb" for i in range(19,20,1)] N_total = 30000 use_surface_sampling = False n_genes = 1000