java.io.IOException: block[ 0 ] already removed
antonkulaga opened this issue · 1 comments
When converting zvi files for some files I get the following exception (no idea how to deal with it):
java.io.IOException: block[ 0 ] already removed
Exception Traceback (most recent call last)
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.ChannelSeparator.setId()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.ReaderWrapper.setId()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.ChannelFiller.setId()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.ReaderWrapper.setId()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.ImageReader.setId()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.FormatReader.setId()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.in.ZeissZVIReader.initFile()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.in.BaseZeissReader.initFileMain()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.in.ZeissZVIReader.initVars()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.in.ZeissZVIReader.initPOIService()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.services.POIServiceImpl.initialize()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.formats.services.POIServiceImpl.initialize()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.filesystem.POIFSFileSystem.()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.filesystem.POIFSFileSystem.processProperties()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.filesystem.POIFSFileSystem.processProperties()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.filesystem.POIFSFileSystem.processProperties()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.storage.RawDataBlockList.fetchBlocks()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.storage.BlockListImpl.fetchBlocks()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.storage.BlockAllocationTableReader.fetchBlocks()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.storage.RawDataBlockList.remove()
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/_jpype.cpython-38-x86_64-linux-gnu.so in loci.poi.poifs.storage.BlockListImpl.remove()
Exception: Java Exception
The above exception was the direct cause of the following exception:
java.io.IOException Traceback (most recent call last)
in
----> 1 process(input_folder, output_folder, True, 10)
2 print("All conversions finished!")
in process(folder, output, skip_if_exists, fps)
14 else:
15 print(f"converting {f.absolute()} to {to}")
---> 16 convert(f, to, fps)
17 return folder
in convert(from_file, to_file, fps)
1 def convert(from_file: Path, to_file: Path, fps: int):
----> 2 worm = pims.Bioformats(from_file, java_memory='1024m')
3 frame = worm[0]
4 height, width = frame.shape
5 video = cv2.VideoWriter(str(to_file.absolute()), cv2.VideoWriter_fourcc(*'mp4v'), fps, (width, height), False)
/data/miniconda3/envs/microscope_video_conversion/lib/python3.8/site-packages/pims/bioformats.py in init(self, filename, meta, java_memory, read_mode, series)
369 self._metadata = loci.formats.MetadataTools.createOMEXMLMetadata()
370 self.rdr.setMetadataStore(self._metadata)
--> 371 self.rdr.setId(self.filename)
372 if meta:
373 self.metadata = MetadataRetrieve(self._metadata)
java.io.IOException: java.io.IOException: block[ 0 ] already removed
Here is an example of the file that causes crash https://drive.google.com/file/d/1U-d2MApVq3GROoEyWTPSA_Uz03AVA2lU/view?usp=sharing