-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
force_calibration: coupling model for active calibration #585
Open
JoepVanlier
wants to merge
11
commits into
main
Choose a base branch
from
coupling
base: main
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
JoepVanlier
force-pushed
the
coupling
branch
2 times, most recently
from
October 27, 2023 14:11
2a6f58b
to
6fca51c
Compare
JoepVanlier
changed the title
force_calibration: add coupling model from Stimson et al
force_calibration: add coupling model from Stimson and Goldmann et al
Oct 27, 2023
JoepVanlier
force-pushed
the
coupling
branch
2 times, most recently
from
November 3, 2023 14:40
e9eb80b
to
b24ae37
Compare
JoepVanlier
force-pushed
the
coupling
branch
2 times, most recently
from
November 9, 2023 10:31
28c449c
to
224d5ae
Compare
JoepVanlier
force-pushed
the
coupling
branch
from
November 24, 2023 14:35
224d5ae
to
e111ed4
Compare
JoepVanlier
force-pushed
the
coupling
branch
from
December 11, 2023 16:40
e111ed4
to
7832135
Compare
JoepVanlier
force-pushed
the
coupling
branch
11 times, most recently
from
January 18, 2024 21:04
c5ad840
to
a2e0f87
Compare
JoepVanlier
force-pushed
the
coupling
branch
3 times, most recently
from
January 18, 2024 21:50
f650fdb
to
8799615
Compare
JoepVanlier
force-pushed
the
coupling
branch
12 times, most recently
from
May 2, 2024 21:36
fa10d93
to
ec7aee2
Compare
JoepVanlier
force-pushed
the
coupling
branch
2 times, most recently
from
May 8, 2024 16:24
c777d55
to
09cf9ff
Compare
We decompose the oscillation frequency in a direction perpendicular and parallel to the bead-to-bead axis. This way we can combine both solutions to obtain a final correction factor for the oscillation axis.
This fixes a numerical issue that can occur when summing up to high orders.
Hardcoding the number of summands is risky. Better to just check convergence.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why this PR?
When performing active calibration, we get a smaller velocity around the beads than expected when dealing with a dual trap configuration. This can lead to biases when not taken into account in the model that predicts the oscillation amplitude of the beads:
Various models exist to calculate the correction factor
c
. In the context of optical tweezers, I have seen Oseen (acting force being a point function) and Rotne Prager used [1]. For us, this seems to correct well for large distances, but seems to fail at short distances*. [2] seems to fare better for both regimes, but only covers oscillations parallel to the bead axes. A fraction with a reciprocal polynomial for oscillations perpendicular to the bead axes can be found in [3].Based on these two models, we can compute a combined model (see the documentation for more information on this). If we use this to correct data over the entire trap range, we see that this corrects the calibration factors pretty nicely. See graphs below.
Docs here: whats new, theory, tutorial and example.
Note: I have marked this functionality as alpha, since testing has been somewhat limited so far. That said, for conditions where they are valid, the results obtained with these models is much more reasonable than without.
Calibrations are obtained by putting trap 2 in a static location and moving trap 1 in the x-direction. We are showing results for trap 2 here, since there is an unexplained additional dependence of the sensitivity on the x position for trap 1. Note that we have used the Stimson model for horizontal oscillations and the Wakiya approximation model as presented by Goldmann model for Y oscillation here.
Active calibration with two 4.38 um beads (X). Here we moved a second bead around in the trap range of motion and calibrating the bead that was at a fixed position.
Active calibration with two 4.38 um beads (Y). Here we moved a second bead around in the trap range of motion and calibrating the bead that was at a fixed position.
[1] https://core.ac.uk/download/pdf/270293467.pdf
[2] Stimson, M., & Jeffery, G. B. (1926). The motion of two spheres in a viscous fluid. Proceedings of the Royal Society of London. Series A, Containing Papers of a Mathematical and Physical Character, 111(757), 110-116 (2007).
[3] Goldman, A. J., Cox, R. G., & Brenner, H. (1966). The slow motion of two identical arbitrarily oriented spheres through a viscous fluid. Chemical Engineering Science, 21(12), 1151-1170.
4/3
and not2/3
alpha=0.5
should be0.6596
.