Skip to content

Commit ec91a42

Browse files
author
Mathijs van Gorcum
committed
update readme and setup
1 parent 4b1a1cb commit ec91a42

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@ Python program to analyze sessile drops by measuring contact angle, drop volume
77
This program can capture images or movies from a camera or import image sequences (in the form of an movie file, a tiffstack or a single image) and measures the contact angle, drop volume and the contact line position.
88
The program assumes an image of a drop on the surface, where the drop is dark, and the background is light.
99
A crop (to increase calculation speed, and cut off any irrelevant parts) and a baseline must be set on the view of the image. The Edgepixels to fit setting increases the amount of pixels up from the baseline used to measure the contact angle and contact line position.
10-
We use a subpixel edge detection, either fast, with a linear interpolation between two pixels around the edge, or slow by fitting an error function around the edge. To find the contact line position and the contact angle the detected edge is fitted with a configurable order polynomial fit, and the slope of the baseline is also used to calculate the contact angles. Note that the drop volume assume cylindrical symmetry and if there is a needle present, the volume of the needle is added for as much as it is in view of the crop.
10+
We use a subpixel edge detection, either fast (with a linear interpolation between two pixels around the edge) or slow and more precise (by fitting an error function around the edge). To find the contact line position and the contact angle the detected edge is fitted with a configurable order polynomial fit, and the slope of the baseline is also used to calculate the contact angles. Note that the drop volume assume cylindrical symmetry and if there is a needle present, the volume of the needle is added for as much as it is in view of the crop.
1111

1212
## Screenshot
1313

14-
![](Screenshot.png)
15-
16-
## Prerequisites
17-
If you don't use the precomiled releases nor `pip install` it you'll need:
18-
The script requires numpy, pandas, scipy, pyqt5, opencv-python, fast-histogram, lsq-ellipse, imageio, shapely, pyqtgraph >=0.11.0, openpyxl, toml, h5py, json, and appdirs.
14+
![](https://github.com/mvgorcum/Sessile.drop.analysis/blob/master/Screenshot.png)
1915

2016
## Install and running
21-
This program has an installer for windows available in the releases assets on github, or is installable from pypi.org with pip install drop-analysis.
17+
This program has an installer for windows available in the [releases assets on github](https://github.com/mvgorcum/Sessile.drop.analysis/releases), or is installable from pypi.org with `pip install drop-analysis`.
2218

2319
To install the program from source run `pip install .` in the sessile.drop.analysis folder. To run the program after installing simply run drop_analysis in the terminal.
2420

21+
## Prerequisites
22+
If you don't use the precomiled releases nor `pip install` it you'll need:
23+
The script requires numpy, pandas, scipy, pyqt5, opencv-python, fast-histogram, lsq-ellipse, imageio, shapely, pyqtgraph >=0.11.0, openpyxl, toml, h5py, json, and appdirs.
24+
2525
## Support
2626
If you have any questions feel free to join the [#Sessile.Drop.Analysis:matrix.vgorcum.com](https://matrix.to/#/#Sessile.Drop.Analysis:matrix.vgorcum.com) matrix room or open an issue on github.
2727

2828
## Some details
29-
* The code is written for Python 3.8
29+
* The code is written for Python 3.9
3030
* The edge detection uses only a horizontal subpixel correction, and when fitting the errorfunction, 40 pixels left and right of the edge are used.
3131
* To find the contact angle and contact point a polyfit is used, but the fit is made flipping the x and y coordinates, because polyfits don't perform well for vertical lines (ie at contact angles of 90 degrees).
3232
* The threshold is calculated using otsu's method, for the fast edge detection the value is used explicitly while for the error function fitting the value is only used to find an approximate edge, to fit the errorfunction around.
@@ -36,4 +36,5 @@ If you have any questions feel free to join the [#Sessile.Drop.Analysis:matrix.v
3636
Feel free to send pull requests, critique my awful code or point out any issues.
3737

3838
## License
39-
This project is licensed under the GPLv3 license - see the [LICENSE](https://github.com/mvgorcum/Sessile.drop.analysis/blob/master/LICENSE) file for details
39+
This project is licensed under the GPLv3 license - see the [LICENSE](https://github.com/mvgorcum/Sessile.drop.analysis/blob/master/LICENSE) file for details.
40+
This means the software can be freely used, for private, academic, or commercial purposes. If this program is distributed you are required to use a compatible open source license and must share the sourcecode of your version.

setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ install_requires =
2323
opencv-python-headless
2424
openpyxl
2525
fast-histogram
26+
lsq-ellipse
2627
imageio
2728
shapely
2829
pyqtgraph >=0.11.0

0 commit comments

Comments
 (0)