entity_ux/
contains a web app to guide naming sequences.
It's live on https://NPACore.github.io/reproin-namer (via github pages w/ doc/
symlink). The release zip also contains the static assets needed to view locally and offline.
ReproIn Creator Spreadsheet is an alternative. Both the web app and sheet include entity and suffix requirements and description pulled from bidsschematools
.
The web app also on https://npacore.github.io/reproin-namer can be used locally.
# from relase
unzip -d reproin-namer release_1.0.0.zip
firefox reproin-namer/index.html
# from git
git clone https://github.com/NPACore/reproin-namer
cd reproin-namer/entity_ux
firefox index.html
- ReproIn sequence name convention/standard
- Siemens' scanner
Dot Cockpit
andExam Card
setup walk through (with screenshots) - automation implemented by heudiconv. See reproin.py
- ReproIn Creator Spreadsheet: MRRC template to ReproIn using a formula with per column BIDS key-value pairs.
- Flywheel Study Design Sheet (cf. gitlab template folder)
- Siemens' scanner
- goal is near automated BIDS Brain Imaging Data Structure conforming scanner dicom to nifti image+json sidecar name conversion.
- Ideal for input in fmriprep
- other BIDS apps
- Flywheel gears.
- and maybe (hopeful future) facilitate NIH share mandate compliance (cf. bids2nda)
- for validation see bids-validator (nodejs)
Consistant naming is not an end in itself! We also want to confirm ReproIn names can easily be moved to BIDS. To that end, this repo also hosts scripts that can update DICOM headers and test the BIDS naming piepline.
00_dcm-rewrite-from-xlsx.py
rewrites(0018, 1030) Protocol Name
using ReproIn conforming names in7T-LunaSPA_ReproIn-SeqName.xlsx
(see sheet w/equations on onedrive)01_dcm-bids.sh
makes
bids/MRRC/SPA_Luna/20231103lunapilotspa2/sub-20231103lunapilotspa2/{anat,dwi,fmap,func}
with contents like
sub-20231103lunapilotspa2_acq-b0pfc_magnitude_dicom/
sub-20231103lunapilotspa2_acq-b0pfc_magnitude_heudiconv323_e1.nii.gz
sub-20231103lunapilotspa2_acq-b0pfc_magnitude_heudiconv323_e2.nii.gz
sub-20231103lunapilotspa2_acq-b0pfc_magnitude_heudiconv323_e3.nii.gz
sub-20231103lunapilotspa2_acq-b0pfc_magnitude_heudiconv323_e4.nii.gz
sub-20231103lunapilotspa2_acq-b0pfc_magnitude_heudiconv323_e5.nii.gz
See output-filelist.txt
for full list.
file | desc |
---|---|
input-orig.txt |
original dicom headers per folder |
input-repoin.txt |
edited dicom headers using 7T-LunaSPA_ReproIn-SeqName.xlsx (00_dcm-rewrite-from-xlsx.py ) |
output-filelist.txt |
heudiconv output: BIDS filelist |
validate.txt |
bids-validator output, using .bidsignore |
- path
SPA_Luna/20231103lunapilotspa2/sub-20231103lunapilotspa2
has redundant ID folder. Should beSPA_Luna/sub-20231103lunapilotspa2
? - Does not pass bids validation. see
validate.txt
.- multiple echos as e.g.
_heudiconv323_e5
instead of_echo-5
- no
.json
files!? (see missing inoutput-filelist.txt
)
- multiple echos as e.g.
- how to encode session? only need in one sequence name?
_dicom/
directoires are unwanted (but not a problem for Flywheel?). Ignored with .bidsignore
00_dcm-rewrite-from-xlsx.py
editsProtocol Name
and outputs to folders usingSeries Number
.Study Description
sets output folder usingheudiconv --files
:MRRC^SPA_Luna
becomesbids/MRRC/SPA_Luna/
dicom header | example value |
---|---|
(0008, 1030) Study Description |
LO: 'MRRC^SPA_Luna' |
(0010, 0010) PAT Patient Name |
LO: '20231103Luna_PilotSPA2' |
(0010, 0020) Patient ID |
LO: '20231103Luna_PilotSPA2 |
(0018, 1030) Protocol Name |
LO: 'mtgre_noMT' |
(0020, 0011) Series Number |
IS: '48' |