From a5d02f5680928e1cc1c441e0060a36d65fd0f5f2 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauldmccarthy@gmail.com> Date: Fri, 5 Oct 2018 18:35:16 +0100 Subject: [PATCH] RF: Bump minimum dcm2niix version, and use the load-one-series flag to reduce the number of series that need to be loaded. --- fsl/data/dicom.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fsl/data/dicom.py b/fsl/data/dicom.py index 57e0a227d..61e8086ed 100644 --- a/fsl/data/dicom.py +++ b/fsl/data/dicom.py @@ -44,6 +44,10 @@ import fsl.data.image as fslimage log = logging.getLogger(__name__) +MIN_DCM2NIIX_VERSION = (1, 0, 2017, 12, 15) +"""Minimum version of dcm2niix that is required for this module to work. """ + + class DicomImage(fslimage.Image): """The ``DicomImage`` is a volumetric :class:`.Image` with some associated DICOM metadata. @@ -115,7 +119,6 @@ def enabled(): """ cmd = 'dcm2niix -h' - minimumVersion = (1, 0, 2016, 9, 30) versionPattern = re.compile('v' '(?P<major>[0-9]+)\.' '(?P<minor>[0-9]+)\.' @@ -145,7 +148,7 @@ def enabled(): # make sure installed version # is equal to or newer than # minimum required version - for iv, mv in zip(installedVersion, minimumVersion): + for iv, mv in zip(installedVersion, MIN_DCM2NIIX_VERSION): if iv > mv: return True elif iv < mv: return False @@ -225,7 +228,7 @@ def loadSeries(series): dcmdir = series['DicomDir'] snum = series['SeriesNumber'] desc = series['SeriesDescription'] - cmd = 'dcm2niix -b n -f %s -z n -o . {}'.format(dcmdir) + cmd = 'dcm2niix -b n -f %s -z n -o . -n {} {}'.format(snum, dcmdir) with tempdir.tempdir() as td: -- GitLab