-
Notifications
You must be signed in to change notification settings - Fork 4
ppmi_bids
Para bajar datos de PPMI y convertirlos a BIDS.
ℹ️ Requiere docker y python 3.x, así como una cuenta en PPMI.
⭐ Basado en PyPMI.
1.Ir a PPMI.
2. Ir a Advanced Search
y buscar lo que queremos usando los criterios de inclusión/exclusión. Una vez encontrados, seleccionar los que queremos (o todos) y dar clic en add to collection
. Generar una nueva colección, o usar una previa.
3. Ir a la pestaña Data Collections
, buscar nuestra colección, y seleccionar los que queremos bajar ( o todos ). Usar Advanced Download
para facilitar el que bajen todos en un único zip.
4. Bajar el archivo .zip
. Copiarlo a una carpeta, y descomprimirlo (podemos usar unzip
en la terminal)
5. El zip explotará en una carpeta llamda PPMI
, que tiene una organización NO-BIDS (ver aquí)
└── PPMI/
├── SUB-1/
| ├── SCAN-TYPE-1/ (e.g., MPRAGE_GRAPPA)
| | ├── SCAN-DATETIME-1/
| | | └── SCAN-SERIES-1/
| | | └── *dcm
| | └── SCAN-DATETIME-2/
| ├── SCAN-TYPE-2/ (e.g., AX_FLAIR)
| | ├── SCAN-DATETIME-1/
| | | └── SCAN-SERIES-2/
| | | └── *dcm
| | └── SCAN-DATETIME-2/
| ├── .../
| └── SCAN-TYPE-N/
├── SUB-2/
├── .../
└── SUB-N/
Queremos convertir esta jerarquía en BIDS. Usaremos las herramientas de pypmi
.
Para fines de este documento, la carpeta PPMI quedó en /mnt/newssd/rene/PPMI
, y la carpeta BIDS quedará en /mnt/newssd/rene/bids
- Asegurarnos que tenemos python. Yo estoy probando con Anaconda con python versión 3.8.3.
- Instalamos las dependencias
pip install pypmi pydicom nibabel docker
- Abrimos
ipython
para trabajar.
ipython
- Dentro de ipython:
from pypmi import bids
bids.convert_ppmi('/mnt/newssd/rene/PPMI','/mnt/newssd/rene/bids')
La primera vez que lo corremos se tarda un poco, pues tiene que bajar un docker container de heudiconv, y no hay mucha información en la terminal (me dí cuenta porque ví que estaba bajando muchos MB/s). Al terminar, tendremos nuestra carpeta bids
(base) lconcha@syphon:/mnt/newssd/rene$ tree bids/
bids/
├── CHANGES
├── dataset_description.json
├── participants.tsv
├── README
├── sub-3108
│ ├── ses-1
│ │ ├── anat
│ │ │ ├── sub-3108_ses-1_run-01_T1w.json
│ │ │ └── sub-3108_ses-1_run-01_T1w.nii.gz
│ │ ├── dwi
│ │ │ ├── sub-3108_ses-1_run-01_dwi.bval
│ │ │ ├── sub-3108_ses-1_run-01_dwi.bvec
│ │ │ ├── sub-3108_ses-1_run-01_dwi.json
│ │ │ ├── sub-3108_ses-1_run-01_dwi.nii.gz
│ │ │ ├── sub-3108_ses-1_run-02_dwi.bval
│ │ │ ├── sub-3108_ses-1_run-02_dwi.bvec
│ │ │ ├── sub-3108_ses-1_run-02_dwi.json
│ │ │ └── sub-3108_ses-1_run-02_dwi.nii.gz
│ │ └── sub-3108_ses-1_scans.tsv
│ └── ses-2
│ ├── anat
│ │ ├── sub-3108_ses-2_run-01_T1w.json
│ │ └── sub-3108_ses-2_run-01_T1w.nii.gz
│ ├── dwi
│ │ ├── sub-3108_ses-2_run-01_dwi.bval
│ │ ├── sub-3108_ses-2_run-01_dwi.bvec
│ │ ├── sub-3108_ses-2_run-01_dwi.json
│ │ ├── sub-3108_ses-2_run-01_dwi.nii.gz
│ │ ├── sub-3108_ses-2_run-02_dwi.bval
│ │ ├── sub-3108_ses-2_run-02_dwi.bvec
│ │ ├── sub-3108_ses-2_run-02_dwi.json
│ │ └── sub-3108_ses-2_run-02_dwi.nii.gz
│ └── sub-3108_ses-2_scans.tsv
├── sub-3352
│ └── ses-1
│ ├── anat
│ │ ├── sub-3352_ses-1_run-01_T1w.json
│ │ └── sub-3352_ses-1_run-01_T1w.nii.gz
│ └── sub-3352_ses-1_scans.tsv
Tabla de contenidos
- Home
- Como colaborar en la Wiki
- rocket.chat
- Resonadores
- Bash
- Clúster
- Procesamiento de Imágenes
- fMRI
- DW-MRI
- FIJI - Análisis histológico
- Herramientas Software
- Otros