castor什么时候已有的 .cdh 数据可以直接用,不需要重新从 root 转换?

castor-GATERootToCastor \ -i mouse001-total100.root \ -o mouse1 \ -m main.mac \ -s mobymouse200

它的作用是: 把 GATE 输出的 ROOT → 转成 CASToR 可用的 .cdh/.cdf 数据


只要以下任何一个条件发生变化,必须重新生成 .cdh

否则可以直接用旧的。


不需要重新生成 .cdh 的情况

可以直接复用 .cdh,如果:

✅ 1. ROOT 数据没变

  • 同一个 .root 文件

  • 没重新跑 GATE

  • 没合并/裁剪数据

数据源没变 → .cdh 不用重做


✅ 2. 只是改重建参数(CASToR重建阶段)

比如只是改:

  • iteration 数

  • subset 数

  • 滤波参数

  • 正则项

  • 重建算法(MLEM / OSEM)

这些 都在 reconstruction 阶段 ,不影响 .cdh


✅ 3. 只是改输出路径/文件名

这个不影响数据内容


❗ 必须重新生成 .cdh 的情况(重点)

只要下面任意一条成立,就必须重新跑 GATERootToCastor


🚨 1. ROOT 文件变了(最常见)

比如:

  • 重新模拟了 GATE

  • 改了统计量(100 → 200 million events)

  • 改了 source / phantom

  • 合并了多个 root

.cdh 是从 ROOT 解析出来的 → 必须重做


🚨 2. 改了 system model(-s mobymouse200

-s mobymouse200

这个非常关键!!

👉 它定义了:

  • 探测器结构

  • 晶体排布

  • LOR 几何

如果改了:

mobymouse200 → mobymouse400

👉 ❌ 旧 .cdh 完全不能用


🚨 3. 改了 macro 文件(-m main.mac

这个也很关键:

-m main.mac

如果改了里面这些:

  • 能量窗口

  • coincidence 设置

  • 时间窗口

  • digitizer 参数

👉 ❌ 必须重新生成 .cdh


🚨 4. 改了数据筛选方式(事件选择)

比如:

  • 加了能量筛选

  • 去掉 scatter/random

  • 改 coincidence policy

👉 .cdh 记录的是"事件级数据结构"

→ 改筛选规则就必须重做


🚨 5. 改了 TOF / 非TOF设置

如果你:

  • 开启/关闭 TOF

  • 改 TOF resolution

👉 .cdh 格式会变 → 必须重做


🚨 6. 改了 list-mode / histogram 模式

CASToR 支持:

  • list-mode

  • histogram

👉 模式不同 → .cdh 不通用



对当前命令的具体判断

castor-GATERootToCastor \ -i mouse001-total100.root \ -o mouse1 \ -m main.mac \ -s mobymouse200

只要这 3 个没变:

  • mouse001-total100.root

  • main.mac

  • mobymouse200

✅ 就不需要重新生成 .cdh

相关推荐
A小辣椒7 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒11 小时前
TShark:基础知识
linux
AlfredZhao13 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言