| Literature DB >> 22654752 |
Yannick Schwartz1, Alexis Barbot, Benjamin Thyreau, Vincent Frouin, Gaël Varoquaux, Aditya Siram, Daniel S Marcus, Jean-Baptiste Poline.
Abstract
As neuroimaging databases grow in size and complexity, the time researchers spend investigating and managing the data increases to the expense of data analysis. As a result, investigators rely more and more heavily on scripting using high-level languages to automate data management and processing tasks. For this, a structured and programmatic access to the data store is necessary. Web services are a first step toward this goal. They however lack in functionality and ease of use because they provide only low-level interfaces to databases. We introduce here PyXNAT, a Python module that interacts with The Extensible Neuroimaging Archive Toolkit (XNAT) through native Python calls across multiple operating systems. The choice of Python enables PyXNAT to expose the XNAT Web Services and unify their features with a higher level and more expressive language. PyXNAT provides XNAT users direct access to all the scientific packages in Python. Finally PyXNAT aims to be efficient and easy to use, both as a back-end library to build XNAT clients and as an alternative front-end from the command line.Entities:
Keywords: Python; XNAT; database; neuroimaging; neuroinformatics
Year: 2012 PMID: 22654752 PMCID: PMC3354345 DOI: 10.3389/fninf.2012.00012
Source DB: PubMed Journal: Front Neuroinform ISSN: 1662-5196 Impact factor: 4.081
Figure 1PyXNAT avoids organization on file system.
Figure 2XML Schema for the result table.
Figure 3XML Schema for the search criteria.
Figure 4XNAT REST model.
XNAT URI design.
| Resource type | Path |
|---|---|
| Element resource | /REST/projects/ |
| Collection resource | /REST/projects |
URI query strings usage in XNAT.
| Option | URI query string |
|---|---|
| Select output | ?columns = ID,project |
| Filter output | ?xsiType = xnat:mrSessionData |
| Output format | ?format = csv |
Figure 5PyXNAT architecture.
.
| Python DB-API | pyxnat-API |
|---|---|
| fetchone() | first() or fetchone() |
| fetchmany() | not-supported |
| fetchall() | get() or fetchall() |
Figure 6PyXNAT integration of the search engine and the files access.
Figure 7HTTP cache mechanism.