Skip to content
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

Adding functionalities #2

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

AsterVanhecke
Copy link

Dear Jean-Yves Tinevez,

I found your msdanalyzer code very useful for my research. I am examining tracks from different experiments with different time steps. One of the questions is whether we can see different diffusion states for our particles. However, there were a few functionalities that I missed in msdanalyzer, and wrote myself, included in this pull request:

  1. getStepsizes: similar to "getVelocities", returns a cell array with the step sizes for each step in each track.
  2. getSDdt: similar to "getVelocities" and "getStepsizes", returns the squared displacement per time unit for each step in each track.
  3. plotMSD: added an option to hide first (0,0) point in each "MSD vs time" curve/track.

All the best,
Aster
P.S.: this is my first pull request, so let me know if I did anything wrong.

getStepsizes is a method for the msdanalyzer object that returns a cell
array with the step sizes, either in x and y or absolute distance, for
each step in each track.
Inspecting the distribution of step sizes can be useful to show the
precision (lower step size), find different diffusion speeds (multiple
peaks), comparing between experiments with different time steps (do step
sizes get bigger, or are they limited by precision)
Code is based on "getVelocities".
getSDdt is a method for the msdanalyzer object that returns a cell array
with, for each step in each track, the squared displacement for that
step divided by the time step.
This complements the "getStepsizes" function: the distribution of the
square displacement per time should be the same between experiments with
different time steps. Different peaks can indicate different diffusive
states of the tracked particles.
Code is based on "getVelocities" and "getStepsizes".
to plotMSD, added the option to hide the (0,0) points on the MSDplot.
The line between (0,0) and the first point would often obscure other
data, in the case of big pooled datasets with different time steps.
Suppresses command line output. Main reason is that the progress counter does not work when used in Jupyter Notebook leading to output spam.
getMeanMSD: typo in comments
plotMSD: index i replaced by idx for readability (confusion with imaginary unit)
fixed a bug where time delays would be interpreted as different when they differ very slightly due to limited precision
silent option: no progress printed in command line
See Backlund et al. 2015 "Chromosomal locus tracking with proper accounting of static and dynamic errors"
- use parallel computing
- increased upper bound for D (ub(1))
- initial guess for D is now based on MSD closest to t=1s. (p0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant