Unusual empirical dose weights at high dose

Mine were Graphene oxide grids and no OA. I could see the diffraction spots from GO. Could the strange behavior of dose weights coming from this?

We weren’t using GO so I don’t think that’s it

For troubleshooting purposes, it would be useful in RBMC to be able to individually switch off the dose weighting (instead using the dose weighting from Patch Motion) and the per-particle motion correction (instead just using original trajectories from Patch Motion).

This would also be helpful for figuring out where an improvement derives from, if there is one, and for sparse particles it is possible that the dose weighting alone might be better than dose+motion.

Very interesting topic. We’re aware of this phenomenon – where the correlation appears to “recover” in late frames – but this thread shows more extreme examples of it than I, at least, had seen previously. As others have suggested, we do think the late frame high frequency correlation is overfitting (by that point the high frequency detail has been destroyed, so how could it be anything else). In the cases I’ve seen, it has never been bad enough to actually harm the reconstruction resolution, relative to using the Grant & Grigorieff curve, but I couldn’t say whether or not that’s the case in some of the examples here.

For what it’s worth (and I wish to be clear that this is just my anecdotal experience at this point), I think that most of the benefit of empirical dose weighting comes from identifying and accounting for situations where the first frame has some frozen-in motion blur or for some other reason is not the most reliable source of information about the high frequency signal (which the Grant and Grigorieff curve would take it to be). I’ve seen some datasets where patch motion pretty much nails the particle motion, and where the first frame is actually the best, and in those cases, reference based motion correction doesn’t result in any improvement.

is the empirical dose estimation completely independent of the dose entered during Patch Motion? Or is this dose used as some kind of prior to help restrain estimation of the dose weights?

It is completely independent. No dose weighting is applied as the trajectories are being computed.

For troubleshooting purposes, it would be useful in RBMC to be able to individually switch off the dose weighting

You actually can already do this, though it’s a bit inconvenient. You’ll notice that there’s a job called “apply trajectories”. It takes particles that already have per-particle trajectories (e.g. from local motion or reference motion) and reconstructs them. It can optionally take empirical dose weights but if they’re not supplied, it will use the normal dose weighting curve.

Thank you to everyone who has shared their experiences in this thread; as I said, we were aware of this phenomenon, but had never seen such extreme examples. The information shared here may help inform us as we consider future improvements to reference based motion correction.

4 Likes

Thanks Harris! Regarding this:

For troubleshooting purposes, it would be useful in RBMC to be able to individually switch off the dose weighting

You actually can already do this, though it’s a bit inconvenient. You’ll notice that there’s a job called “apply trajectories”. It takes particles that already have per-particle trajectories (e.g. from local motion or reference motion) and reconstructs them. It can optionally take empirical dose weights but if they’re not supplied, it will use the normal dose weighting curve.

I guess this means just remove the dose weights slot from the lower level inputs?

This also seems like a better way of optimizing the nominal dose (if using Grant/Grigorieff dose weights), rather than re-running Patch Motion & Extraction multiple times.

Apply trajectories does not have any option for applying F-crop when writing out particles - for high mag or super-res, it would be useful if this was there as well as in the main RBMC job.

Is there any way of applying the empirical dose weights without the per-particle trajectories from RBMC/local? If no hyperparameters are provided, will Apply Traj. use the inferred trajectories from Patch Motion?

Is there a way to get some “happy medium” between the empirical dose weights and just using the Grant & Grigorieff curve? I’m wondering about cases when the fitting for the early frames (ex. the observation that the first frame or two aren’t optimal) would provide improvement but the overfitting in the last frames ends up masking this benefit this, so having something like a hyperparameter to force the value of the empirical weights drop off over time could be useful.

Edit: sorry didn’t notice that this was already addressed in another thread - Set frame range for RBMC [Feature request]

Hi Harris,

Apply trajectories is quite a long running job - ~20s per movie.

In the output there is a slot “incomplete movies”, but it does not seem to be populated (my GPU just crashed while it was halfway through, so I tried to mark it as complete and use the outputs to no avail).

Would it be possible to add an option to do this - in the event of a crash, to continue apply trajectories on the incomplete movies, then combine the output particle stacks for further processing?

It would also be useful if there was some kind of progress bar, or at least a periodic indicator in the log of how many movies have been processed vs how many are remaining.

It seems for me that RBMC jobs done after local motion correction seem to have more of the late frame high weight problem than jobs run using inputs that had never been through local motion. Does this line up with other’s experiences?

I haven’t tried RBMC after local motion, so at least in my case that isn’t it

1 Like

Hi Harris, I tried apply trajectories, removing the dose weights slot from the low-level inputs, and setting the dose in the input like so:

This did not work - refinement of the resulting particle set gave a 9Å reconstruction, much worse than the original non-dose-weighted particle set (4.4Å), and considerably worse than the RBMC particle set with empirical dose weights (3.0Å). The refinement of the particle set going into RBMC was 2.9Å.

What am I doing wrong in apply trajectories? Should I leave the dose weights in the inputs, but turn off “apply exposure weighting” and still set “override e/Å2/frame”? If so I think maybe these options should be renamed so it is more obvious what they mean - maybe something like “apply empirical dose weights”? Something that clearly distinguishes between the empirical dose weights and the Grant/Grigorieff curve. Also I think it would be worth stating somewhere in the log which dose weights, if any, are being applied, so it is clear what is going on.

Cheers
Oli

Hi Oli,

The dose override looks like you input total dose, instead of by frame. Unless I misunderstood what is meant by frame here - I assume dose per frame in the original movie.

1 Like

Ah you are absolutely right! I read it as total dose… :man_facepalming:t2: Thanks!!

I still think the slider should perhaps be clarified - the name of it is “apply exposure weighting”, which could refer to multiple things (RBMC empirical dose weights or Grant/Grigorieff filtering), while the tooltip suggests it refers specifically to the empirical dose weights from RBMC

Out of curiosity, what’s the difference between the 4.4Å set (“original”) and the 2.9Å set (“going into RMBC”)?

4.4Å was with extraction from the non-doseweighted mics out of patch motion (as a control)

1 Like

Ok, so now I have Apply Trajectories working, I have a refinement with RBMC trajectories, but Grant/Grigorieff dose weighting, and the resolution is 2.9, indicating that the aberrant empirical dose weights were degrading resolution somewhat.

1 Like

Hi Oli, sorry for the delay. It sounds like you’ve gotten the issues with apply trajectories resolved (I agree that the ergonomics of that job could be improved - it’s not even documented in the guide yet). Thank you for confirming that the empirical dose weight fit in this case is bad enough to be harmful relative to Grant and Grigorieff. Given that the first frame was chosen as the best for high frequency data, I’m not surprised - the Grant and Grigorieff curve is probably more accurate than this one.

1 Like

So I did a similar test where I took this dataset:

and I tested two refinements:

  1. Had both experimental dose weighting, and new trajectories - went from 2.17 to 1.99 Å
  2. Had just new trajectories - went from 2.17 to 2.07 Å

So even with the issue there, experimental dose weighting still had a positive impact. That was on gold grids, with 2.4 e/A2/frame.

1 Like

Maybe this is fixed in 4.4.1? (Not in patch notes? I had the same - but very subtle - late frame weighting issues as reported here running with 4.4.0…)

This is a helical dataset, I used “balanced” preset for calculating hyperparameters. Motion tracks look good (believable):

J28_ (1)

Except for that odd kink at the bottom right filament. But output particles look nice, so will see what the reconstruction looks like afterwards… (it’s still running right now)…

2 Likes

We didn’t do anything related to this issue in 4.4.1, but the phenomenon does not always occur. @rbs_sci did you see the discussed phenomenon on this same dataset in v4.4?

A run should have finished this morning on a dataset which shows it in 4.4.0. Trying a re-run in 4.4.1, will check as soon as I get in.

edit:

I was trying to post this last night, but fell asleep just before it finished… :sweat:

OK, previous dataset was RBMC’d in 4.4.0, gave these plots:




Note the unsubtle higher weight in the penultimate frame all the way through the Fourier shells.

Now in 4.4.1:




The penultimate frame is still slightly upweighted, but it is much more subtle this time.

Elsewise, the FCC and model fit are comparable between the two. Parameters for calculation were the same.