首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cURL将dicom图像上传到XNAT

如何使用cURL将dicom图像上传到XNAT
EN

Stack Overflow用户
提问于 2014-07-31 04:53:04
回答 2查看 620关注 0票数 0

我使用以下脚本将dicom图像上传到XNAT实例。我想知道这是不是正确的方法,因为它相当慢。

我的数据的结构为someDir/patientID/sessionID/scans/scanName/*.dcm

代码语言:javascript
复制
imageDir=$1
PROJECT=<projectId>
JSESSIONID=<cookie>

for patientDir in $(ls -d $imageDir/*/);
do 
    SUBJECT=$(basename ${patientDir##$imageDir})
    for session in $(ls -d $patientDir/*/)
    do
            SESSION=$(basename ${session##$patientDir})

            find $session -name "*.dcm" -exec curl  -H 'Content-Type: application/dicom' \
                                -X POST --cookie JSESSIONID=$JSESSIONID \ 
                                 "https://<XNAT URL>/data/services/import?inbody=true&PROJECT_ID=$PROJECT&SUBJECT_ID=$SUBJECT&EXPT_LABEL=$SESSION" \
                                --data-binary @'{}' \; 
    done
done
EN

回答 2

Stack Overflow用户

发布于 2014-08-01 04:24:09

这是一个使用Chris Fahim给出的zip文件的解决方案。数据必须以以下方式组织: patientID/sessionID/scans/scanName/DICOM/*.dcm上传完成后,压缩文件将被解压缩,并直接映射到项目、主题、会话和扫描。

代码语言:javascript
复制
curl -F "dest=/prearchive/projects/<projectId>" -F "import-handler=DICOM-zip" -F
"FILE=@$dcm" -u USERNAME:PASSWORD --insecure 
https://<xnat url>/data/services/import

我有一个用于xnat的节点应用程序,可以在命令行中使用。xnat-rest

票数 1
EN

Stack Overflow用户

发布于 2016-07-21 16:11:25

替代curl的还有来自DCMTK包的storescu命令。该pkt也可以作为deb pkt:

DICOM DCMTK包括一组库和应用程序,用于检查、构建和转换

图像文件、处理离线媒体、通过网络连接发送和接收图像,以及演示图像存储和工作列表服务器。

通过sorescu发送递归的所有dicom文件:

代码语言:javascript
复制
find . -name "*.dcm" -exec storescu -v --aetitle XNAT --call XNAT  ip.of.your.server 8104 {} \;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25046720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档