Local motion - array dimensions for the concatenation axis must match exactly

Dear all,

we are running CS 4.2.1 on a cluster (SLURM) and we have a dataset where motion correction always fails at the same micrograph (error at the end of this post). It seems that it is corrupted and we will try to remove it from the batch.

What might be a bug is that the job doesn’t fail ‘gracefully’. I mean there is no outputs at all (even if we use Mark job as complete option. All the outuputs = 0.
I guess the intention is to keep failed movies in the Movies incomplete category? And the motion corrected particles as the output? Then we could use the incomplete group and continue from there (after removing the troublesome movie)? Am I on the right track?

Would be useful when processing 1000’s of movies.

Here is the error we get:

Traceback (most recent call last):? File "cryosparc_master/cryosparc_compute/run.py",
line 96, in cryosparc_compute.run.main? File
"cryosparc_master/cryosparc_compute/jobs/motioncorrection/run_local.py", line 400, in
cryosparc_compute.jobs.motioncorrection.run_local.run_local_motion_correction_multi?
File "<__array_function__ internals>", line 5, in concatenate?ValueError: all the input
array dimensions for the concatenation axis must match exactly, but along dimension 1,
the array at index 0 has size 40 and the array at index 1683 has size 41

Were you able to identify the corresponding file and confirm that its exclusion from processing prevents the error?
Is it possible that the supposedly corrupt file is a “legitimate” movie with 41 frames?

Sorry for the delay. We are not completely sure what was the issue. With that project we later used single-GPU Local motion correction job (local_motion_correction) instead Multi GPU (local_motion_correction_multi). Then it was OK.
It is possible that it was just some cluster/node/movie specific issue. We did run it on different nodes and it always failed (not always at the same movie as I previously suspected).

Multi-GPU local motion correction with other projects works fine.

It is very unlikely that one movie of ~3000 would have 41 frames. Not impossible I suppose… :slight_smile:
The job definitely did ‘something’ since the folder size was many 100 GBs large but the Output in CS interface was always =0.

It is possible that it was just a bad day, bad movie(s) or something else…
Thanks!