Hi everyone,
I’m running CryoSPARC v4.1.2 to import eer movies, and after ~2h of work (not all movies processed) get an error:
Traceback (most recent call last):
File "cryosparc_master/cryosparc_compute/run.py", line 96, in cryosparc_compute.run.main
File "/opt/cryosparc/cryosparc_master/cryosparc_compute/jobs/imports/run.py", line 1080, in run_import_movies_or_micrographs
mov_raw = eer.read_eer(abs_path, num_fractions, upsampfactor=1)
File "/opt/cryosparc/cryosparc_master/cryosparc_compute/blobio/eer.py", line 86, in read_eer
eer = open_eer(fname)
File "/opt/cryosparc/cryosparc_master/cryosparc_compute/blobio/eer.py", line 15, in open_eer
return eerdecompressor.ElectronCountedFramesDecompressor(str(fname))
RuntimeError: unable to open tiff file
when I run the same job for a smaller subset of files, it works just fine. So I assume there’s a problem with one of the eer files, fut I have no idea which one
Is there a way to detect damaged file externally, or (better) have them stored under “Failed movies” in the future?
Hi,
I wonder if the corruption would be evident in the tiff header?
If so, given an examplar output from IMOD’s header
:
$ header FoilHole_14869372_Data_14822102_14822104_20230316_032125_EER.eer
RO image file on unit 1 : FoilHole_14869372_Data_14822102_14822104_20230316_032125_EER.eer Size= 582827 K
This is a TIFF file.
Number of columns, rows, sections ..... 16384 16384 1148
Map mode .............................. 0 (byte)
Start cols, rows, sects, grid x,y,z ... 0 0 0 16384 16384 1148
Pixel spacing (Angstroms).............. 1.000 1.000 1.000
Cell angles ........................... 90.000 90.000 90.000
Fast, medium, slow axes ............... X Y Z
Origin on x,y,z ....................... 0.000 0.000 0.000
Minimum density ....................... 0.0000
Maximum density ....................... 1.0000
Mean density .......................... 0.14068E-02
tilt angles (original,current) ........ 0.0 0.0 0.0 0.0 0.0 0.0
Space group,# extra bytes,idtype,lens . 0 0 0 0
…one could iterate as such:
for file in *.eer; do header ${file} | grep -e eer -e Number; done
…and scan for anomalies either in file size or number of frames (or if the command returns an error), for instance.
Cheers,
Yang