soft-matter / trackpy

Python particle tracking toolkit
http://soft-matter.github.io/trackpy
Other
437 stars 131 forks source link

Poor diffusion measurement in walkthrough #396

Open Resonanz opened 7 years ago

Resonanz commented 7 years ago

Hi guys. I have been testing with strange results.

Using the standard Github code, the n and A values for the 1 μm particles in water are calculated to be 1.03 and 1.67 (theoretical values are 1.00 and 1.66).

These values are obtained in trackpy using NO filtering (size, mass, or eccentricity).

Filtering is applied in the Walkthrough code (t2 is the filtered version of t1) but the results of filtering suggest that filtering is better left unused for 2 reasons....

(i) Filtering takes us further from theoretical values (of course, expt values may still be correct)

Ignore filtering:                    n = 1.03   A=1.67
mass=200   size = 3.4   ecc=0.1:     n=1.08     A=1.57
mass=200   size = 3.6   ecc=0.5:     n=1.03     A=1.67
mass=250   size = 2.6   ecc=0.1:     n=1.1      A=1.58
mass=350   size = 3.0   ecc=0.5:     n=1.09     A=1.57

(ii) MSD deviates from linear

Observing the EMSD plots for each of the above shows that the a well-fitting linear regression to the log-log data only occurs for the unfiltered MSD data. Adding filtering changes this linear fit to bow shaped.

It is not obvious to me why the writer of the Walkthrough code defines t2 and never uses it to obtain real n and A values.

caspervdw commented 7 years ago

The walkthrough serves as an example for particle tracking, nothing more. Also the filtering is an example. The quality of the video is (in my opinion) not sufficient to accurately measure the diffusion constant of the dispersed particles.

I think it makes no sense to interpret the effect of filtering on the measured diffusivity, as any trend is probably overruled by random errors stemming from the video quality (particle overlap, motion in z-direction, background inhomogeneity, particle size polydispersity, etc.). Considering this, the resulting values you report are all close enough (<10%) to the theoretical value.

danielballan commented 7 years ago

The quality of the video is (in my opinion) not sufficient to accurately measure the diffusion constant of the dispersed particles.

Maybe we should use a better video. I meant to show off that trackpy works well on messy samples / bad quality video, but maybe that's the wrong choice for our marquee example.

caspervdw commented 7 years ago

Yes, I think it would be best to test a decent 3d confocal video of core-shell dyed and index-matched particles. Does anyone have access to these?

Zhhjll commented 4 years ago

Hey, since this is still open I have a question regarding the value of n and A

So, I have used two different videos but the same experiments to measure the diffusion coefficient and taking the same particle size and minmass (approximately) for particles I get different A and n values! even if I play around with the size of the particles and minmass still I do not get the proper n and A values... do you have any idea?

nkeim commented 4 years ago

@Zhhjll thanks for reporting this here and in #565 ! I think we have learned that this is a difficult measurement even in the best of circumstances :). It would be wonderful for someone to supply an example of a more careful analysis, that we could either use to replace the walkthrough, or add as a separate tutorial in the documentation. As a first step, I'm currently revising the walkthrough and have included a link to this paper:

Catipovic, M. A., Tyler, P. M., Trapani, J. G. & Carter, A. R. Improving the quantification of Brownian motion. American Journal of Physics 81, 485-491 (2013).