Reading Cine file
HoseynAAmiri opened this issue · 2 comments
HoseynAAmiri commented
After reading the Cine file, I cannot use the frame after index 50 and it throws an error:
.../pims/cine.py in _unpack(self, fs, offset)
531 self.f.seek(offset)
532 s = _build_struct(fs)
--> 533 vals = s.unpack(self.f.read(s.size))
534 if len(vals) == 1:
535 return vals[0]
error: unpack requires a buffer of 3830599205 bytes
I shall mention that the index or frame before that looks corrupted:
nkeim commented
Thanks! Can you check that this exact file can be read successfully by the Phantom software? This is very likely a data corruption problem. IIRC, each frame in a cine file has a header that states the size of the image that follows. It looks like the header is corrupted, and the reader thinks that the next frame is 3.8 GB.
On Dec 20, 2023, at 12:34 AM, Hoseyn Amiri ***@***.***> wrote:
After reading the Cine file, I cannot read the frame after index 50 and it throws an error:
.../pims/cine.py in _unpack(self, fs, offset)
531 self.f.seek(offset)
532 s = _build_struct(fs)
--> 533 vals = s.unpack(self.f.read(s.size))
534 if len(vals) == 1:
535 return vals[0]
error: unpack requires a buffer of 3830599205 bytes
I shall mention that the index or frame before that looks corrupted:
corrupt.png (view on web)<https://github.com/soft-matter/pims/assets/79915903/26ae1a87-d7ef-4fe2-8472-0c9b81c34f8c>
—
Reply to this email directly, view it on GitHub<#455>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAWY23MCOYPQWREF4XFG7TTYKJ2G5AVCNFSM6AAAAABA4IEGCCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2DSOBWHAZTANA>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
HoseynAAmiri commented
I checked the files (<200mb) that caused the errors. The cine viewer software could successfully load them and everything seems to be normal. This is someone else's video and I think they cropped the frames between two time intervals as the original file was too big.
Have you looked into PhPython source code? The library is offered by the company. Maybe they are reading the cine files differently.