Skip to main content

boilercv

DOI All Contributors

Computer vision routines suitable for nucleate pool boiling bubble analysis. See the documentation for more detail, including a Binder for running code live. Click the "launch binder" badge above and you will be able to run the notebooks in docs/experiments in your browser with different parameters, and even create your own notebooks.

Example

Overlay of the external contours detected in one frame of a high-speed video. Represents output from the "fill" step of the data process.

Bubbles highlighted with different colors

Overview

The data process graph shows the data process, and allows for individual steps in the process to be defined indpendently as Python scripts, Jupyter notebooks, or even in other languages like Matlab. The process is defined in dvc.yaml as as series of "stages". Each stage has dependencies and outputs. This structure allows the data process graph to be constructed, directly from the dvc.yaml file. This separates the concerns of data management, process development, and pipeline orchestration. This project reflects the application of data science best practices to modern engineering wokflows.

Usage

If you would like to adopt this approach to processing your own data, you may clone this repository and begin swapping logic for your own, or use a similar architecture for your data processing. To run a working example with some actual data from this study, perform the following steps:

  1. Clone this repository and open it in your terminal or IDE (e.g. git clone https://github.com/softboiler/boilercv.git boilercv).
  2. Navigate to the clone directory in a terminal window (e.g. cd boilercv).
  3. Create a Python 3.10 virtual environment (e.g. py -3.11 -m venv .venv on Windows w/ Python 3.11 installed from python.org).
  4. Activate the virtual environment (e.g. .venv/scripts/activate on Windows).
  5. Run pip install --editable . to install boilercv package in an editable fashion. This step may take awhile.
  6. Delete the top-level data directory, then copy the cloud folder inside tests/data to the root directory. Rename it to data.
  7. Copy the local folder from tests/data to ~/.local where ~ is your user/home folder (e.g. C:/Users/<you>/.local on Windows). Rename it to boilercv.
  8. Run dvc repro to execute the data process up to that stage.

The data process should run the following stages: contours, fill, filled_preview, binarized_preview and gray_preview. You may inspect the actual code that runs during these stages in src/boilercv/stages, e.g. contours.py contains the logic for the contours stage. This example happens to use Python scripts, but you could define a stage in dvc.yaml that instead runs Matlab scripts, or any arbitrary action. This approach allows for the data process to be reliably reproduced over time, and for the process to be easily modified and extended in a collaborative effort.

There are other details of this process, such as the hosting of data in the data folder in a Google Cloud Bucket (alternatively it can be hosted on Google Drive), and more. This has to do with the need to store data (especially large datasets) outside of the repository, and access it in an authenticated fashion.

Project information

Contributors

Blake Naccarato
Blake Naccarato

💻
asennain
asennain

📖

Metadata

Release files for boilercv 2024.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for boilercv 2024.1.3
File Size Uploaded Provenance Actions
boilercv-2024.1.3.tar.gz 37.0 kB Without provenance Details for boilercv-2024.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for boilercv 2024.1.3
File Interpreter ABI Platform Actions
boilercv-2024.1.3-py3-none-any.whl Python 3 none any Details for boilercv-2024.1.3-py3-none-any.whl

Total release size: 77.9 kB

Release files / boilercv-2024.1.3.tar.gz

Download URL boilercv-2024.1.3.tar.gz
Size 37.0 kB
Tags Source
SHA-256 checksum
How to use checksums
708f960d17cce3b713d53f58d986418224ad200deafa52c65ee9f09bbd10a285
BLAKE2b-256 checksum
How to use checksums
18c337e99e90784eb21ad3950150f116b3473c79ea219fe9a808bed8c124cb2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / boilercv-2024.1.3-py3-none-any.whl

Download URL boilercv-2024.1.3-py3-none-any.whl
Size 40.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f8439a0297652c95c693b1fb6ba72dfdb44bcdc083ddc824b3b91da92ff154b0
BLAKE2b-256 checksum
How to use checksums
8d95cf1333febf4d462f0e370531491ef374d440d02acbbbb94650a14c59cb68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Security for boilercv 2024.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page