pendantdroppy - Tensiometry software for droplet shape analysis using Young-Laplace fitting
Project description
pendantdroppy - Tensiometry Analysis Software
A PyQt6-based GUI application for analyzing droplet shape using Young-Laplace equation fitting and Bond number calculation.
Installation
Prerequisites
- Python 3.8 or higher
- pip (Python package manager)
From PyPI
pip install pendantdroppy
From Source
# Clone the repository
git clone https://github.com/pendantdroppy/pendantdroppy.git
cd pendantdroppy
# Install in development mode
pip install -e .
# Or install normally
pip install .
Manual Installation
# Install dependencies
pip install opencv-python PyQt6 numpy
# Run the GUI
python droppy.py
Usage
GUI Application
droppy
Or run directly:
python droppy.py
Workflow
- Select Image - Browse for droplet image (PNG, JPG, etc.)
- Draw Geometry - Interactive cv2 window to define:
- ROI (Region of Interest)
- Needle tip (for diameter calibration)
- Configure Parameters - Adjust processing and analysis settings across tabs
- Save Settings - Button to save current configuration to
droppy.conf - Run Analysis - Click "RUN ANALYSIS"
- View Results - See overlaid YL curve, plateau points, and extrema
Settings File
Configuration is automatically saved to droppy.conf.
On startup, the program loads from this file if it exists, otherwise uses defaults.
Example droppy.conf:
{
"droplet_type": "rising",
"needle_diameter_mm": 0.72,
"sigma": 2.0,
"canny1": 40,
"canny2": 120,
"plateau_width": 100,
"lensing_factor": 1.0,
"low_clarity_ratio": 0.1,
"high_clarity_ratio": 0.01
}
Output Files
Analysis generates:
result_yl_overlay.png- Young-Laplace curve fitted to dropletedges.png- Edge detection resultsummary.json- Numerical results (Bond numbers, calibration)
Parameters Explained
Image Processing
- Blur Sigma - Gaussian blur level for edge detection resolution
- Canny Low/High - Edge detection thresholds
Contour Analysis
- Num Points - Number of contour points to sample
- Direction - Traversal direction (+1 or -1)
- Min r', z' - Minimum thresholds to avoid numerical blowup
Analysis
- Plateau Width - Number of points centered on equator with lowest variance
- Lensing Factor - Optical correction (1.0 = no correction, <1 = correnting horizontal stretching, >1 = correcting vertical stretching)
- Clarity Ratios - Fractions of points used for low/high clarity image smoothing
- Bo Wiggle Room - Expansion of Bond number search range from pointwise estimates
Troubleshooting
"No contours found" - Adjust Canny thresholds or sigma
"Bo ~0 for rising droplets" - Ensure plateau is centered on equator, edit sigma, or redraw needle line, it honestly can be pixels in it.
Config not loading - Check droppy.conf is valid JSON in output directory
"The YL curve is visually off" - Use an image with sharp edges and a known IFT for your setup, keep all settings standard and adjust lensing factor until it fits. Use that lensing factor for all the other runs with your setup. If you are already doing that, increase sigma until it aligns.
More detailed manuals in the works :) open issue if help is needed.
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
Support
For issues, feature requests, or questions:
- Open an issue on GitHub
- Check existing documentation
- Review analysis parameters
Acknowledgments
Inspired by Krystyna Prochaska's work in interfacial tensiometry and absorption.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pendantdroppy-1.0.4.tar.gz.
File metadata
- Download URL: pendantdroppy-1.0.4.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a95e4e3ee958f2b3ba4edc6564651b389639d219b78ddcab547bc152b3af7096
|
|
| MD5 |
8717dca8060db3d114c651cb98acd160
|
|
| BLAKE2b-256 |
f6024f20f842caff3cc2ec5f0a4eb1072435e198d6aa4fed827a7994a325c431
|
File details
Details for the file pendantdroppy-1.0.4-py3-none-any.whl.
File metadata
- Download URL: pendantdroppy-1.0.4-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8d2a42475049861b255dcc71e7d11f7aeaf910b79359bf281257a2881388c85
|
|
| MD5 |
3d1b0c2f3d0c26bd6717deb0a58f36d4
|
|
| BLAKE2b-256 |
a36c635011176c3462df1c136d34a3c2b2494a4ce924a681e8e09f91b5e4ef37
|