Issue decompressing large multi-frame image
Cross-platform DICOM implementation
Brought to you by:
malat
Hi Mathieu, sorry for opening all the bugs!
I was having an issue decompressing a large surgical video dataset (Multi-frame True Color Secondary Capture Image Storage) using the python interface. Using the same code for two different files and calling here in pydicom
pixel_str = gdcm_image.GetBuffer()
Returns a python string in one case, but with a sufficiently large image, it returns a PySwigObject (<Swig Object of type 'char *' at 0x7f1697eb5f90>) instead of the string.
I should also note, gdcmconv was OOMKilled on my desktop (16Gb ram) when trying to decompress this, but on a larger server (75Gb ram) it went okay.
File can be found here: https://drive.google.com/drive/folders/1pWd3MHGh2EBLloYI2SZSlaxZxAlE0Xir
Thank you for any help!
Edit: Added wrong google drive link:
https://drive.google.com/file/d/1RIIhsXIazVEINSHqFcHAPidgiOrvDs1T/view
As a workaround do you try to change XFer Syntax of each frame ?
I think this may be due to %cstring_output_allocate_size() being passed an
unsigned intrather than anint. It looks like it wraps this SWIG function, so the unsigned int values overflow if > 2^31 and then fail thelen < 0check?