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

相关推荐
Mapleay2 小时前
Ubuntu 源的重要性!之 libgmp-dev 无法安装
linux·服务器·windows
Benszen2 小时前
Linux容器:轻量级虚拟化革命
java·linux·运维
念恒123063 小时前
Linux初识
linux·服务器·c++
开开心心就好3 小时前
能把网页藏在Word里的实用摸鱼工具
linux·运维·服务器·windows·随机森林·逻辑回归·excel
Lucis__3 小时前
Linux网络:基于协议栈原理实现UDP通信
linux·网络·udp
老绿光3 小时前
Python 字典完全指南:从入门到实战
linux·服务器·python
tryCbest4 小时前
Nginx常用操作命令-Linux和Windows系统
linux·windows·nginx
何中应4 小时前
如何给虚拟机系统扩容
linux·运维·服务器
缘友一世4 小时前
tmux 共享终端:AI 模型执行命令的实时审计方案
linux·llm·tmux·agent终端交互审计