Update LabViewDDM/Protocols/Micro rheology authored by jarlt's avatar jarlt
### Outline of workflow and algorithms (based on version 8.4; Nov '20)
1. Perform DDM processing on raw movie
* Chances are that the movie is very long, so it might need some special processing...
2. Convert the DICF into an MSD
1. Get good estimates for A(q) and B(q) using the following options
* fit data with suitable model
* Estimate from g(q,tau_min) and g(q, tau_max)
2. Estimate mean squared displacement as
MSD(tau; q) = -4/q^2 ln(1 - (g(q,tau)-B(q))/A(q)).
**Note:** This assumes motion in 2D (for 3D the 4 needs to be replaced by 6)
1. This can be displayed in my software by selecting 'Representation'-> 'MSD' in the 'Display & Fit' tab
2. Rather than plotting it for all tau it uses 'MSDcutoff' to suppress values too close to the noise level: if correlation has dropped by more than 'MSDcutoff' (default 85%) it is not plotted and when saving a NaN values is saved.
3. MSD(tau; q) can be saved by using 'Save as displayed' button
3. In principle this MSD should be independent of the q used to calculate it, but in practice they differ (if nothing else in the timescales/displacements they can reliably access...).
3. Extract G* from MSD
1. The 'Microrheology' tab is sometimes hidden: if so, go to 'Select Movies' -> Advanced settings' -> 'Misc' and activate the 'Show u-rheo Tab?' button
2. The 'CalcMSD' button in the 'Microrheology' tab uses A(q) and B(q) of the currently active fit to calculate MSD(tau; q) and averages the results over the q range specified by 'qIndexRangeForMSD'
### Internal details:
1. 'PrepareMSDFunctionParameters' returns normalised DICF values for the selected q's
2. 'MSDsWithDispersion'
1. converts this into MSDs (returning NaN values depending on MSDcutoff)
2. use 'MSDMeanAndDispersion' (based on 'MinN' and 'MaxLengthScaling') to estimate
1. mean
2. StDev
3. dispersion
3. Currently all q's have equal weight. [ ] Is this really sensible?
4. The settings are currently somewhat hidden in 'Select Movies' -> Advanced settings' -> 'Fitting' in the 'MSD' box
3. This averaged MSD and extra data can be saved to file using the 'Save MSD' button (the text file has column headers [# Tau MSD StDev Dispersion # points averaged])
4. After calculating the averaged MSD the program automatically attempts to find the rheological parameters:
1. It uses the algorithm of John Crocker[^2] (see micrheo.pro for IDL code) which I implemented in Labview:
1. MSD is 'smoothed' using a logarithmic derivative 'LogDerivative' (this smoothed MSD is plotted together with the averaged MSD in the 'MSD graph' and 'Double-log MSD graph' panels). 'width' defines the smoothing length scale and should be set larger for noisier data
2. From this smoothed MSD and its derivatives G' and G'' are estimated using
1. Temperature input (to set energy scale)
2. Dimensions (=2)
3. Tracer radius
4. clip (to do stop displaying very small values of G' & G'' (smaller than clip times G*(s)) which are unlikely to be correct anyway)
3. G' and G'' are displayed (frequency scale is set by 1/tau ([ ]check this is correct! No factor 2\pi missing?))
4. \eta(\omega) is calculated by dividing G'' by \omega and plotted. If the fit model used to get A(q) and B(q) provides an estimate for <D(q)> the corresponding \eta is also plotted for reference (in red)
2. This estimation of G* is summarised in ref [^2] as
> "We first approximate the MSD locally by a second- order polynomial (spline) in the logarithmic plane to obtain a smoothed estimate of the function and its first logarithmic derivative. We then use approximate, local algebraic expressions to calculate the storage, G', and loss, G'', moduli (defined by G* = G' + i G''), from the smoothed value and derivative [^1]. This method approaches the exact result as MSD approaches a power law, and has the advantage that it does not require the experimental data to be fit to an analytic model, nor does it suffer from the truncation errors of numerical integral transforms. On the basis of numerical tests, we expect all the moduli presented here to have systematic errors smaller than 5% of |G*|, although larger errors are possible near the frequency extrema."
More technical details are in ref [^1].
3. The rheological data can be saved to file using the 'Save G' button. Note: columns have no headers yet.
### References:
[^1]: T. Mason, K. Ganesan, J. van Zanten, D. Wirtz, and S. Kuo, "Particle Tracking Microrheology of Complex Fluids," Phys. Rev. Lett. 79, 3282–3285 (1997).
[^2]: J. C. Crocker, M. T. Valentine, E. R. Weeks, T. Gisler, P. D. Kaplan, a G. Yodh, and D. A Weitz, "Two-point microrheology of inhomogeneous soft materials.," Phys. Rev. Lett. 85, 888–91 (2000).
\ No newline at end of file