Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 35 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,61 @@ You are welcome to post any questions or issues on [GitHub](https://github.com/b
Please check for the recording at [Basler PyPylon Webinar](https://www.baslerweb.com/en/learning/pypylon/)
* As the feature names of basler cameras differ slightly between e.g. Basler ace USB and Basler ace GEV, it is noted at the samples or notebooks for which camera family the sample applies.
* The python requirements to run the jupyter notebooks and samples are listed in [requirements.txt](requirements.txt)


## Samples

1. Low overhead image capturing in a virtual line scan setup
[USB_linescan_performance_demo_opencv](samples/USB_linescan_performance_demo_opencv.py)

## Basic Examples (pypylon only)

## Notebooks
These examples use only the basic pypylon library and can be run without additional dependencies.

### Notebooks

1. Device enumeration and configuration basics
[deviceenumeration_and_configuration](notebooks/deviceenumeration_and_configuration.ipynb)
[deviceenumeration_and_configuration](notebooks/basic-examples/deviceenumeration_and_configuration.ipynb)

2. Demonstration of different grab strategies
[grabstrategies](notebooks/grabstrategies.ipynb)
[grabstrategies](notebooks/basic-examples/grabstrategies.ipynb)

3. How to handle multicamera setups in pypylon
[multicamera](notebooks/multicamera_handling.ipynb)
[multicamera](notebooks/basic-examples/multicamera_handling.ipynb)

4. Using hardware trigger and access image chunks ( USB )
[hw_trigger_and_chunks](notebooks/USB_hardware_trigger_and_chunks.ipynb)
[hw_trigger_and_chunks](notebooks/basic-examples/USB_hardware_trigger_and_chunks.ipynb)

5. Low overhead image capturing in a virtual line scan setup and display in notebook ( USB )
[USB_linescan_performance_demo_opencv_notebook](notebooks/USB_linescan_performance_demo_opencv.ipynb)
[USB_linescan_performance_demo_opencv_notebook](notebooks/basic-examples/USB_linescan_performance_demo_opencv.ipynb)

6. Exposure bracketing using the sequencer feature of ace devices ( USB)
[USB_HDR_exposure_sequencer](notebooks/USB_hdr_exposure_bracketing_using_sequencer.ipynb)
[USB_HDR_exposure_sequencer](notebooks/basic-examples/USB_hdr_exposure_bracketing_using_sequencer.ipynb)

7. Exposure bracketing using the sequencer feature of ace2/boost-R devices ( USB)
[USB_Ace2_BoostR_HDR_exposure_sequencer](notebooks/Ace2_USB_hdr_exposure_bracketing_using_sequencer.ipynb)
[USB_Ace2_BoostR_HDR_exposure_sequencer](notebooks/basic-examples/Ace2_USB_hdr_exposure_bracketing_using_sequencer.ipynb)

8. Full HDR multi-exposure example
[full_HDR_multiexposure_example](notebooks/basic-examples/full_HDR_multiexposure_example.ipynb)

## Contrib Examples (pypylon-contrib required)

These examples require the pypylon-contrib library which provides additional utilities and helper functions. Install it using:
```bash
pip install pypylon-contrib
```

### Notebooks

1. **Sequencer utilities** - Simplified interface for camera sequencer configuration
[sequencer](notebooks/contrib-examples/sequencer.ipynb)

Demonstrates how to use the SequencerUtils from pypylon-contrib to easily configure camera sequences with the CameraSequence, SinglePathSet, and SequencerTransition classes.

2. **Serial communication** - Communication with serial devices connected to Basler cameras
[serial_communication](notebooks/contrib-examples/serial_communication.ipynb)

Shows how to use the BaslerSerial class to communicate with serial devices connected to a Basler camera, enabling control of external hardware through the camera's serial interface.


# Development

Pull requests to pypylon-samples are very welcome.
Pull requests to pypylon-samples are very welcome.
e.g. generic samples that demonstrate interaction with GUI toolkits, as we typically only use Qt.

# Known Issues
Expand Down