C-MOVE
约 539 字大约 2 分钟
PACSDICOMfo-dicomC-MOVE
2026-03-20
C-MOVE 的作用不是“直接把影像下载到当前客户端对象里”,而是请求 PACS 把目标影像发送到一个指定的接收端 AE。
1. 先理解 C-MOVE 的角色关系
在 C-MOVE 过程中通常有三方:
- 发起请求的一方:你的客户端。
- 执行检索的一方:PACS。
- 真正接收影像的一方:目标存储接收端,通常是一个能接收 C-STORE 的 SCP。
也就是说,C-MOVE 经常需要和 9.C-STORE 配合使用。
2. 一个最常见的思路
典型流程通常是:
- 先通过 7.C-FIND 查到目标
StudyInstanceUID、SeriesInstanceUID或其他检索键。 - 本地先启动一个可接收影像的 C-STORE SCP。
- 再向 PACS 发送 C-MOVE 请求。
- PACS 按请求把影像通过 C-STORE 发到目标 AE。
3. 请求示意
在 fo-dicom 中,C-MOVE 请求的核心通常包括:
- 检索级别,例如 Study、Series、Image。
- 用于定位目标对象的关键 Tag。
- 目标接收端的 AE Title。
一个示意写法如下:
var request = new DicomCMoveRequest(destinationAeTitle, studyInstanceUid);如果要更细粒度控制,也可以按检索级别和 Dataset 手动构建请求。
4. 排查重点
如果 C-MOVE 请求发出后收不到影像,优先检查:
- 目标接收端 AE Title 是否已在 PACS 侧正确配置。
- 本地 C-STORE SCP 是否已经启动并监听正确端口。
- PACS 能否反向连回你的接收端地址。
- 查询阶段得到的检索键是否正确。
5. 使用建议
- 先让 C-ECHO 和 C-FIND 跑通,再调 C-MOVE。
- 不要把 C-MOVE 理解成普通 HTTP 下载,它本质上是一次“让 PACS 主动推送”的操作。
- 真正的接收逻辑在 9.C-STORE 那边更关键。
6. 和 C-GET 的取舍
如果你希望 PACS 把影像发送到独立接收端,通常选 C-MOVE;如果你希望在当前关联上直接回传影像,可以继续看 10.C-GET。