somexlab / fastddm

Python library for Differential Dynamic Microscopy analysis
https://fastddm.readthedocs.io/
GNU General Public License v3.0
3 stars 0 forks source link

CONTIN #24

Open enrico-lattuada opened 2 years ago

enrico-lattuada commented 2 years ago

Description Provide CONTIN to obtain the decay rate distribution from the experimental data.

Proposed solution Use CONTIN directly with original code.

Alternatives The dream would be having something like CORENN or at least a regularized CONTIN lke the one presented here.

Additional context Most of the times, the final user just needs to get an estimate of the size/decay rate distribution. And even when fitting the data, it would be nice to have some guidance, based on some (possibly robust) pre-analysis.

enrico-lattuada commented 2 years ago

CONTIN can be used more or less out of the box but has several drawbacks. Namely, the method starts from a mathematical linearization of the original problem, uses prior information about the experiment, and uses a rudimentary criterion for the selection of the solution. Nevertheless, it is an ISO and we should provide it.

At the same time, it would be nice to have other methods to provide more reliable results on the side.

It is quite difficult but it would be a nice project (also for students).

What do you think? @rcerbino @krauthex

rcerbino commented 2 years ago

I think that CONTIN should be easier to implement than other solutions and with the added bonus to be ISO compliant. For these reasons, I would prioritize its implementation vs other algorithms, which may be implemented at a later stage

krauthex commented 2 years ago

I have not used or heard of neither CONTIN nor CORENN, so I have no bias in any direction. just from quickly skimming both homepages, I see that they use different approaches, namely an algorithmic and a machine learning approach, respectively - right? @enrico-lattuada would you like to train your own model for obtaining the decay rate distribution then? I think ML is a cool option, however I also think that one has to be very careful with the implementation/training and the results and their interpretation.

enrico-lattuada commented 1 year ago

A python CONTIN-like function is present in ddmsoft (possibly inspired by paper by Scotti et al). We could just copy/paste and cite the corresponding work/repository for the moment. Then, we can build on top of this.

rcerbino commented 1 year ago

https://github.com/BAMresearch/analyse_dls_with_contin https://github.com/antgi1/continizer https://github.com/dpscience/DCONTINPALS https://github.com/kanhua/pyCONTIN https://jscatter.readthedocs.io/en/latest/

rcerbino commented 1 year ago

very interesting paper with python code for solving the inverse problem https://www.biorxiv.org/content/10.1101/2023.04.25.538274v1?rss=1

https://github.com/osvalB/dynamicLightScatteringAnalysis