Merging particle sets and missing 'K' error

Hi,

I’ve now run into this error in a few different places when merging more than 2 particle sets:

RuntimeError: Could not initialize missing alignments3D_multi (particle.alignments3D_multi) fields in dataset due to missing dtype param ‘K’. This may indicate that an input or output dataset is empty or missing expected fields.

I think this should be treated as a bug, as the normal behavior, IMO, should be to drop the fields it doesn’t know how to interpret (so either an upstream job is not setting K and it should be, or a downstream job should be ignoring alignments3D_multi if it doesn’t have enough metadata to interpret it).

But this also reminds me of a feature request that I think would be useful in general for composing jobs: the ability to filter out/remove passthrough fields.

@craigyk Please can you post the CryoSPARC version and the job type that produced this error.

v5.0.2, I’ve seen it feeding Particles selected out of Ref Auto Select 3D into several jobs, but the job that is most useful in the context of creating generic workflows, is aggregating and splitting outputs via the Particle Sets job. I can see the alignments3D_multi field in the passthrough category for this job and kind of wish I could just strip the field out at that point.

Thanks @craigyk. We made a note of this issue and will discuss it internally. In the meantime, assuming RuntimeError occurs near the end of the job run, it may be possible to mark the job as complete and use its outputs, with the caveat that some passthrough items may not be available downstream.

yup, can confirm the jobs mark complete OK