heudiconv icon indicating copy to clipboard operation
heudiconv copied to clipboard

Erro when reading dicoms from GE 7T

Open kaihwang opened this issue 6 years ago • 3 comments

Hello, I encountered the following errors when trying to read dicoms from our GE 7T scanner. Please advise?

> Singularity heudiconv-unstable.simg:~> heudiconv -d {subject}/SCANS/600/DICOM/*.dcm -s ANON1863 -f ~/bin/heudiconv/heudiconv/heuristics/convertall.py -c none -o ~/BIDS/
> INFO: Running heudiconv version 0.5.4.dev1
> INFO: Need to process 1 study sessions
> INFO: PROCESSING STARTS: {'subject': 'ANON1863', 'outdir': '/home/kahwang/BIDS/', 'session': None}
> INFO: Processing 10296 dicoms
> INFO: Analyzing 10296 dicoms
> Traceback (most recent call last):
>   File "/opt/miniconda-latest/bin/heudiconv", line 11, in <module>
>     load_entry_point('heudiconv', 'console_scripts', 'heudiconv')()
>   File "/src/heudiconv/heudiconv/cli/run.py", line 127, in main
>     process_args(args)
>   File "/src/heudiconv/heudiconv/cli/run.py", line 341, in process_args
>     dcmconfig=args.dcmconfig,)
>   File "/src/heudiconv/heudiconv/convert.py", line 160, in prep_conversion
>     grouping=None)
>   File "/src/heudiconv/heudiconv/dicoms.py", line 121, in group_dicoms_into_seqinfos
>     if mw.is_same_series(mwgroup[idx]):
>   File "/opt/miniconda-latest/lib/python3.6/site-packages/nibabel/nicom/dicomwrappers.py", line 357, in is_same_series
>     my_sig = self.series_signature
>   File "/opt/miniconda-latest/lib/python3.6/site-packages/nibabel/onetime.py", line 141, in __get__
>     val = self.getter(obj)
>   File "/opt/miniconda-latest/lib/python3.6/site-packages/nibabel/nicom/dicomwrappers.py", line 275, in series_signature
>     signature['vox'] = (self.voxel_sizes, none_or_close)
>   File "/opt/miniconda-latest/lib/python3.6/site-packages/nibabel/onetime.py", line 141, in __get__
>     val = self.getter(obj)
>   File "/opt/miniconda-latest/lib/python3.6/site-packages/nibabel/nicom/dicomwrappers.py", line 208, in voxel_sizes
>     pix_space = list(map(float, pix_space))
> ValueError: could not convert string to float: '.'
> Singularity heudiconv-unstable.simg:~> heudiconv --version
> 0.5.4.dev1
> 
> 

kaihwang avatar Mar 14 '19 21:03 kaihwang

Hi @kaihwang - our GE support is fairly rudimentary. If you could share some of your problematic DICOMs, I can take a look at it later this week.

mgxd avatar Mar 18 '19 21:03 mgxd

Thank you @mgxd - here is one single dicom. Please let me know if you need more.

1.2.840.113619.2.156.497853703.26898.1551348221.298445-600-10140-1oe3jdj.dcm.zip

kaihwang avatar Mar 19 '19 03:03 kaihwang

@kaihwang this looks to be a problem at the level of the DICOM/pydicom tag reading. I was able to replicate it with the following:

In [1]: import pydicom

In [2]: dcm = pydicom.dcmread('1.2.840.113619.2.156.497853703.26898.1551348221.298445-600-10140-1oe3jdj.dcm')

In [3]: dcm.PixelSpacing
Out[3]: '2.5000\\2.5000'

when the value should look like ['2.5000', '2.5000']

I'd recommend opening an issue on pydicom's repo linking to this one.

mgxd avatar Apr 04 '19 19:04 mgxd