Skip to main content

DropletUI frontend for pypylon SDK for Basler camera manipulation, aimed for microfluidics and slow motion.

Project description

PylonGUY

Your best friend for high-performance camera control for Basler cameras with high-speed recording capabilities and a DropletUI frontend.

preview

Features

  • Real-time preview with adaptive grab strategy (lag-free at any FPS)
  • Camera configuration with automatic adjustment to camera capabilities
  • High-speed frame capture to raw frames with FFmpeg post-processing
  • Configurable playback rate for slow-motion video
  • Interactive ROI selection and offset controls
  • Preset configurations (Default, HighSpeed, FullFrame, Microfluidics)
  • Auto-apply presets on camera connection
  • Waterfall mode for line-scan recording

Installation

From PyPI

pip install pylonguy

From source

git clone https://github.com/merv1n34k/pylonguy.git
cd pylonguy
pip install -e .

Requirements

  • Python 3.12+
  • ffmpeg in PATH (for video processing)
  • Basler Pylon SDK (for camera communication)

Installing ffmpeg

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt install ffmpeg

# Windows
# Download from https://ffmpeg.org/download.html and add to PATH

Installing Pylon SDK

Download from Basler website. See pypylon known issues for platform-specific notes.

Usage

# Run the application
pylonguy

# Or with uv
uv run pylonguy

Presets

Camera presets are saved to presets.json in the current working directory. This allows you to maintain different presets for different projects by running the application from each project's folder.

How it works

The application separates capture from video encoding for maximum performance:

  1. Capture Phase: Frames stream from camera → memory buffer → raw files on disk
  2. Processing Phase: After recording stops, FFmpeg assembles raw frames into video

This allows you to specify any desired playback frame rate, e.g.:

  • Camera captures at 1000 fps
  • Video plays back at 24 fps
  • Result: 1 second of capture = 41.7 seconds of slow-motion video

Waterfall Mode

Record single lines instead of full frames for:

  • Maximum frame rates (minimal data transfer)
  • Line-scan camera emulation
  • Monitoring flow in microfluidic channels

Output format: .wtf (waterfall) files, convertible to PNG:

python -m pylonguy.wtf2png recording.wtf

License

Distributed under the MIT License. See LICENSE for more information.

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

pylonguy-2.0.0.tar.gz (934.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylonguy-2.0.0-py3-none-any.whl (64.0 kB view details)

Uploaded Python 3

File details

Details for the file pylonguy-2.0.0.tar.gz.

File metadata

  • Download URL: pylonguy-2.0.0.tar.gz
  • Upload date:
  • Size: 934.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylonguy-2.0.0.tar.gz
Algorithm Hash digest
SHA256 5827cb288be3904d64a1abc536b69536f42a20477c75ccbf2adacdd68f594c7a
MD5 270257b66a5dbb13f34a8ced7e09e1be
BLAKE2b-256 198acaf0240793b80231fe055a2074f88b6e7981b0c7ab589981b9a9d7800bc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylonguy-2.0.0.tar.gz:

Publisher: publish.yml on merv1n34k/pylonguy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylonguy-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: pylonguy-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 64.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pylonguy-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02d11fc2dbce7f6f873c9ce06c2707078651e6c339afefee08bbb123eaad28c9
MD5 800df1b880e753c063b1887b496b3018
BLAKE2b-256 6b18f9307f532505eaac6cc8b9f8e26eb0fe027a22d5f1963d6f4ebc53948cde

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylonguy-2.0.0-py3-none-any.whl:

Publisher: publish.yml on merv1n34k/pylonguy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page