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

相关推荐
不怕犯错,就怕不做14 分钟前
RK linux在buildroot中如何添加linux命令
linux·驱动开发·嵌入式硬件
小羊在睡觉23 分钟前
HLS视频
linux·后端·golang
宵时待雨24 分钟前
linux笔记归纳18:传输层协议TCP
linux·网络·笔记·网络协议·tcp/ip
吴声子夜歌42 分钟前
Shell编程——条件测试与比较
linux·运维·shell
音草43 分钟前
Linux 基础指令入门:常用命令、Shell 原理与权限管理
linux
aosky1 小时前
Linux 写内容到文件的几种方式
java·linux·服务器
吴声子夜歌2 小时前
Shell编程——函数
linux·运维·shell
码少女3 小时前
Linux——多路复用之poll模型
linux·服务器·网络
PatrickYao04223 小时前
Linux安装UV
linux·运维·uv
顶点多余3 小时前
面试题总结 ---Linux篇
linux·运维·服务器