Local refinement static mask: possible bug

Possible bug to report. Local refinement ignores static mask option and uses dynamic mask. Using cryosparc version v2.14.2

Related to (but slightly different than) previous thread: Masking bug during local refinement. That thread concerned non-uniform local refinement.

In my case, non-uniform is off. My issue is that local refinement has mask set to static, but it’s still dynamic masking:

The initial mask looks right with 7-pixel soft edge:

But subsequent masks look wrong, with sharp edge, per the default dynamic mask parameters Near=3, Far=6, i.e. 3-pixel soft edge.

Changing dynamic mask parameters (near=3, far=10) at least maintains the 7-pixel soft edge (not shown), but I assume is still dynamic rather than static.

Maybe cryosparc knows better than me and it telling me that I really, really don’t want to use a static mask. :grinning:

Hi @rj.edwards
Thanks for reporting this - it may be a bug. We are trying to reproduce locally. Is there anything else peculiar about this data that you can think of that might indicate the case where this happens?

Static masking should work as expected with the input mask used at all iterations. For now as you saw, the dynamic masking with similar params to what you used to generate the static mask can be used to maintain a soft mask at every iteration. In any case the default dynamic masking parameters may be too sharp, and we’ll investigate this also.

There is actually a fair bit for us to investigate in local refinement, and your other post Advice for subtraction masks? may be related to this.

Hi all,

This has been fixed in cryoSPARC v3.0, and the changelog is available here – the original mask will now be respected if static masking is enabled. Thanks!