首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发用于将数据下载和上传到XNAT的Python Rest API

开发用于将数据下载和上传到XNAT的Python Rest API
EN

Stack Overflow用户
提问于 2020-10-08 05:19:18
回答 1查看 69关注 0票数 1

我正在开发一个python Rest API到XNAT,用于在本地或服务器上传输数据。我正在尝试从XNAT下载与项目主题相关的所有实验(数据格式,例如:CT、MR、ECOG、MEEG)到我的本地文件系统。但我只能下载该主题的MR和CT会话(Dicom文件)的数据格式的实验。下面你可以看到我的python代码,请让我知道我必须做的更改。

代码语言:javascript
复制
import xnat
import os
#creating a session
session = xnat.connect('https://xnat.prj.ae.mpg.de', user='xxxx', password='xxxx')
test_project = session.projects["Test"] #loading a project Test
test_subject = test_project.subjects #loading subjects of project
download_folder = os.path.expanduser(r"C:\Users\rkls\Documents\Python-Restapi") # download path
print('Your data is downladed in this directory {} '.format(download_folder))
if not os.path.exists(download_folder):
    os.makedirs(download_folder)
test_project.subjects['S2_RS'].download_dir(download_folder) # using download_dir() to download subject S2_RS
session.disconnect()

现在,上面的代码只提供了CT、MR会话数据(DICOM文件)的实验,而不是ECOG和MEEG会话数据(EDF和FIF文件)的实验。如何下载一个项目中与单个主题相关的所有实验?

EN

回答 1

Stack Overflow用户

发布于 2020-10-09 06:52:14

ECOG和MEEG会话数据包含在哪种实验中,即数据类型是什么?或者它们仅仅是与主题相关的资源?

我创建了一个与MR会话相关联的主题以及一些资源(例如,打开主题页面上的Manage Files,创建一个资源文件夹,然后将几个PDF上传到新的资源文件夹)。SubjectData类上的download_dir()函数仅下载实验,而不下载与主题相关的资源。为此,您需要直接迭代资源:

代码语言:javascript
复制
# Set subject to variable for convenience
s2_rs = test_project.subjects['S2_RS']
s2_rs.download_dir(download_folder) # Download experiment data
for resource_id in s2_rs.resources: # Iterate subject resources
    # Download resources for 
    s2_rs.resources.data[resource_id].download_dir(download_folder)

我在我的主题上创建了一个名为FOO的资源文件夹,然后在那里上传了几个PDF。在我的下载文件夹中,我得到了以下内容:

代码语言:javascript
复制
S2_RS/resources/FOO/files/foo-1.pdf
S2_RS/resources/FOO/files/foo-2.pdf
S2_RS/S2_RS_MR01/...

S2_RS_MR01是我上传的MR会话,所以在该文件夹下有一堆文件。

如果download_dir()函数也包含资源,那就更好了,但是现在,这应该可以解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64252444

复制
相关文章

相似问题

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