Parse dicoms into a template database and alert on non-conforming sequences.
See
make docs/
for building sphinx documentation- locally in
sphinx/index.rst
) - reference for restructured text
sphinx docstrings
make test
for usingdoctests
schema.sql
for DB schema
- build sqlite db of all acquisitions with subset of parameters
- use db summary to pull out "ideal template"
- check new sessions' acquisitions against template to alert
- "Sequence Name(0018,0024)" called "SequenceType" in
taglist.txt
is different per diffusion dcm (likeep_b5#1
..ep_b1540#27
) - should look at n echos 0018,0086 and collapse across dicoms to make protocol mutliecho parameter
- precision changes between realtime streaming and offline dicom writes? see
check_template.py
- mrQA
- sister project https://github.com/NPACore/mrqart/
exdcm=Resting-state_ME_476x504.14/MR.1.3.12.2.1107.5.2.43.167046.202208231445351851262117
hyperfine "./dcmmeta2tsv.py $exdcm" "./dcmmeta2tsv.bash $exdcm"
Benchmark 1: ./dcmmeta2tsv.py Resting-state_ME_476x504.14/MR.1.3.12.2.1107.5.2.43.167046.202208231445351851262117
Time (mean ± σ): 952.2 ms ± 37.4 ms [User: 559.1 ms, System: 86.9 ms]
Range (min … max): 876.5 ms … 1014.5 ms 10 runs
Benchmark 2: ./dcmmeta2tsv.bash Resting-state_ME_476x504.14/MR.1.3.12.2.1107.5.2.43.167046.202208231445351851262117
Time (mean ± σ): 822.5 ms ± 69.3 ms [User: 73.3 ms, System: 51.0 ms]
Range (min … max): 703.1 ms … 896.1 ms 10 runs
Summary
./dcmmeta2tsv.bash Resting-state_ME_476x504.14/MR.1.3.12.2.1107.5.2.43.167046.202208231445351851262117 ran
1.16 ± 0.11 times faster than ./dcmmeta2tsv.py Resting-state_ME_476x504.14/MR.1.3.12.2.1107.5.2.43.167046.202208231445351851262117