Media:ShortCourse4
Download
Report
Transcript Media:ShortCourse4
Automatic Processing Pipelines
with XNAT and REDCap
Vanderbilt University
2013-08-20
Benjamin Yvernault,
Bennett Landman, Brian Boyd,
1
Requirements
At this point, you should know how to :
–
–
–
–
–
–
–
–
Create project / sharing data
Browse data and view image previews
Search for projects, subjects, and data
Download imaging data, processed, and stored meta-data
Delete scans / sessions / projects
Use the Pre-Archive
Upload scans DICOMs
Quality Assurance
2
After this short course, you will be able to:
•
•
•
•
Create a project on REDCap
Set up the design of your REDCap project
Request API access for your project on REDCap
What is a spider:
- source code
- Which spiders already exist?
- Run spiders from your computer
• Run a spider on your local machine
• ACCRE: run spiders (status / failed / ….)
3
Setting REDCap project for
XNAT processing
4
REDCap: Setup the main instrument
Variable Name: project_xnat -> type: Text Box
Variable Name: subject_xnat -> type: Text Box
Variable Name: experiment_xnat -> type: Text Box
Variable Name: scan_xnat -> type: Text Box
Variable Name: scan_type_xnat -> type: Text Box
Variable Name: scan_sd_type -> type: Text Box
Variable Name: script_name -> type: Text Box
Variable Name: script_version -> type: Text Box
Variable Name: pdf_report -> type: File Upload
5
REDCap: Upload main instrument
Take time to create all this fields each time you have a new project.
Variable Name: project_xnat -> type: Text Box
Variable Name: subject_xnat -> type: Text Box
Variable Name: experiment_xnat -> type: Text Box
Variable Name: scan_xnat -> type: Text Box
Variable Name: scan_type_xnat -> type: Text Box
Variable Name: scan_sd_type -> type: Text Box
Variable Name: script_name -> type: Text Box
Variable Name: script_version -> type: Text Box
Variable Name: pdf_report -> type: File Upload
Upload the main instrument dictionary as a first step. File location:
http://xnat.vanderbilt.edu -> Everything about spiders -> How to upload to
REDCap -> link with the csv file.
6
REDCap: Download Shared
Libraries
7
REDCap: API Key
To send data from XNAT to REDCap, you need to have
an API key for your project on REDCap
8
REDCap Project Online Designer
9
Spiders …
Script executing a process on XNAT
Download images / data from XNAT
Execute a process on them
Copy the data to a directory
A specific spider to upload results on XNAT
All the spiders on http://xnat.vanderbilt.edu
Source code in the project Masimatlab on NITRC
Three kind of Spiders :
Spider that creates results for a Scan
Spider that corresponds to an assessor
Infrastructure spiders
10
Scan Spiders
Converter Spider :
Spider_dcm2nii_all.py
(using dcm2nii)
Spider_dcm2nii_all_v2.py (using r2agui)
Changing attributes:
Spider_set_scan_type.py
Spider_Series_Description.py
Extracting/creating files:
Spider_physlog.py
Spider_Make_Preview_from_nifti.py
11
Process Spiders
This spiders can work on a scan level (one assessor per
scan) or an experiment level (one assessor per session)
Spider that generates an assessor:
Spider_fMRQA.py
Spider_VBMQA.py
Spider_dtiQA_v2.py
Spider_labelFusion.py
Spider_intra_sess_reg.py
Spider_nonrigi_reg_to_ATLAS.py
Spider_FreesurferReconAllWithQC.py
Spider_ON_segmentation.py
12
Infrastructure Spider
Spider_report_for_projects.py to create a report on
projects (same than Xnatreport)
Spider_send_data_to_redcap.py to send data from
complet processes on XNAT to REDCap
Spider_Process_Upload to upload the processes
that finished. Any process Spiders will copy the
results needed to a specific directory. You should
run it when you need to upload processes.
13
Spider flow
Spider_process_upload.py / Xnatprocessupload
Python script
Download data
Spiders
Folder
Run process
Any language
script:
- Matlab/SPM
- Perl
- shell script
UPLOAD_SPIDER_DIR
14
How to run a spider?
Spiders can run on your local machine if you
have the requirements.
E.G: Most of the spiders use xvfb-run
python Spider_fMRIQA.py -h to see the options
Your .bashrc or .profile set up with your XNAT logs
Python packages install
Specific python package to run spiders on
ACCRE develop by our lab.
15
ACCRE and Spiders
Advanced Computing Center for Research & Education
ACCRE is a Cluster for Vanderbilt University
Python script running every night on the cluster
Submitting one job per assessor
Status on the assessor related to the job status:
NEED_INPUTS-> the inputs files are not present on XNAT
NEED_TO_RUN-> ready to be submitted on ACCRE
JOB_RUNNING -> job submitted and running on ACCRE
JOB_FAILED -> job stop with an error
READY_TO_UPLOAD-> job ended and copy the results to the Upload directory
UPLOADING-> Spider_Process_Upload running and uploading results
READY_TO_COMPLETE-> a script will check and set the walltime and memory
used by the job on ACCRE.
COMPLETE-> jobs done (processes finished and uploaded) with results on XNAT
16
ACCRE and CCI package
Spider_process_upload.py / Xnatprocessupload
Crontab job running every night
a python script
CCI
Package
Get assessors that
need to run
Folder
UPLOAD_SPIDER_DIR
Run jobs for each assessors
(Spider flow on ACCRE)
17
Status sync between
XNAT and REDCap
18
Interactive Assignment
• Add to your .bashrc the line (or .profile on Mac OS):
export UPLOAD_SPIDER_DIR=path
• Create a project on REDCap
• Upload the dictionary from http://xnat.vanderbilt.edu
– Everything about Spiders -> How to upload on REDCap
• Download the shared libraries for fMRIQA / VBMQA / dtiQA
• Run the Spider VBMQA on one T1 in the project you created in
the last courses (it’s going to take 10mins)
• Look at the results and upload them using Xnatprocessupload
• Delete the project
19