On Mon, Jul 17, 2017 at 2:38 PM, Mathieu Malaterre <[email protected]> wrote:
> On Thu, Jul 13, 2017 at 5:32 PM, Yaroslav Halchenko <[email protected]> wrote:
>>
>> On Thu, 13 Jul 2017, Mathieu Malaterre wrote:
>>> Step:
>>
>>> $ cd /tmp
>>> $ wget 
>>> "https://sourceforge.net/p/gdcm/gdcmdata/ci/master/tree/SIEMENS_MOSAIC_12BitsStored-16BitsJPEG.dcm?format=raw";
>>> $ mkdir bug
>>> $ gdcmconv --raw SIEMENS_MOSAIC_12BitsStored-16BitsJPEG.dcm* bug/raw.dcm
>>> $ nib-dicomfs /tmp/bug /tmp/demo
>>
>>> In another shell:
>>
>>> $ find /tmp/demo/
>>
>>
>> Great -- thanks!  but seems to work  for me just fine
>
> Right. It seems my steps were missing an important parts. Full steps are as
>
> $ cd /tmp
> $ wget 
> "https://sourceforge.net/p/gdcm/gdcmdata/ci/master/tree/SIEMENS_MOSAIC_12BitsStored-16BitsJPEG.dcm?format=raw";
> $ mkdir bug1
> $ gdcmconv --raw SIEMENS_MOSAIC_12BitsStored-16BitsJPEG.dcm* bug1/raw.dcm
> $ nib-dicomfs /tmp/bug1 /tmp/demo
> $ find /tmp/demo
>
> At this point output should be clean. Now let's try again with an
> intermediate step:
>
> $ sudo umount /tmp/demo
> $ mkdir bug2
> $ cp ~/buggy.dcm bug2/jpeg.dcm
> $ nib-dicomfs /tmp/bug2 /tmp/demo
> $ find /tmp/demo
>
> At this point it is expected to get a funky output since it is
> explitely mentionned that JPEG is not supported. But now that we have
> made nib-dicomfs failed at least once, let's try original steps again:
>
> $ sudo umount /tmp/demo
> $ nib-dicomfs /tmp/bug1 /tmp/demo
> $ find /tmp/demo
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/dist-packages/fuse.py", line 362, in __call__
>     return apply(self.func, args, kw)
>   File "/usr/bin/nib-dicomfs", line 141, in getattr
>     st.st_size = matched_path[0]()
>   File "/usr/lib/python2.7/dist-packages/nibabel/dft.py", line 156, in 
> png_size
>     return len(self.as_png(index=index, scale_to_slice=scale_to_slice))
>   File "/usr/lib/python2.7/dist-packages/nibabel/dft.py", line 137, in as_png
>     data = d.pixel_array.copy()
>   File "/usr/lib/python2.7/dist-packages/dicom/dataset.py", line 417,
> in pixel_array
>     return self._get_pixel_array()
>   File "/usr/lib/python2.7/dist-packages/dicom/dataset.py", line 399,
> in _get_pixel_array
>     raise NotImplementedError("Pixel Data is compressed in a format
> pydicom does not yet handle. Cannot return array")
> NotImplementedError: Pixel Data is compressed in a format pydicom does
> not yet handle. Cannot return array
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/dist-packages/fuse.py", line 362, in __call__
>     return apply(self.func, args, kw)
>   File "/usr/bin/nib-dicomfs", line 141, in getattr
>     st.st_size = matched_path[0]()
>   File "/usr/lib/python2.7/dist-packages/nibabel/dft.py", line 156, in 
> png_size
>     return len(self.as_png(index=index, scale_to_slice=scale_to_slice))
>   File "/usr/lib/python2.7/dist-packages/nibabel/dft.py", line 137, in as_png
>     data = d.pixel_array.copy()
>   File "/usr/lib/python2.7/dist-packages/dicom/dataset.py", line 417,
> in pixel_array
>     return self._get_pixel_array()
>   File "/usr/lib/python2.7/dist-packages/dicom/dataset.py", line 399,
> in _get_pixel_array
>     raise NotImplementedError("Pixel Data is compressed in a format
> pydicom does not yet handle. Cannot return array")
> NotImplementedError: Pixel Data is compressed in a format pydicom does
> not yet handle. Cannot return array
>
> Let me try to find an example of dataset that I can share.
>
> -M


The original SIEMENS_MOSAIC_12BitsStored-16BitsJPEG.dcm reproduce the
symptoms perfectly.

Let me know if you can reproduce it now with the complete steps.

-M

Reply via email to