About Harvester
Harvester is a powerful and easy-to-use Python library designed to simplify the image acquisition process in computer vision applications. Inspired by the peasants or harvesters in Pieter Bruegel the Elder's artwork, "The Harvesters", this library gathers image data and fills up buffers or storage similar to gathering crops. Users have the freedom to use, modify, and distribute Harvester under the Apache License-2.0 without any legal concerns for personal, internal, or commercial use.
Tasks Harvester Performs
Harvester excels in the following key areas:
- Image Acquisition via GenTL Producers: Harvester facilitates image gathering through GenTL Producers, which are critical components in the GenICam standard for controlling cameras.
- Multiple Loading of GenTL Producers: Users can load multiple GenTL Producers in a single Python script. This allows the application of various transport layers, each with unique advantages and disadvantages, allowing users to pick the one that best fits their needs.
- GenICam Feature Node Manipulation: Harvester allows manipulation of multiple GenICam compliant entities, such as cameras, within a single Python script.
These features make it a versatile tool in constructing and managing image acquisition workflows.
Need a GUI?
Harvester has a complementary project called Harvester GUI, which provides a graphical user interface for those who need it. This GUI project can be found at: Harvester GUI.
Asking Questions
For those who encounter issues or have inquiries, Harvester offers several support resources:
- A FAQ page, which might answer many common questions.
- An issue tracker where users can check for existing tickets and, if necessary, create new ones to seek assistance.
Useful Links
If you're interested in diving deeper into Harvester, here are some valuable links:
Harvester on IPython
Harvester can be effectively integrated with IPython notebooks, leveraging Python power for image data processing. It allows users to fetch and manipulate images through straightforward Python commands, which is beneficial for checking real-time image processing flows.
An example workflow could involve acquiring images, processing them as NumPy arrays, and conducting calculations like finding averages, minima, and maxima of pixel values.
Terminology
Understanding some key terminologies will enhance your experience with Harvester:
- GenApi-Python Binding: A Python module interacting with the GenICam GenApi reference implementation.
- GenTL Producer: A library offering communication with cameras over different physical transport technologies.
- GenTL-Python Binding: Facilitates communication between Python and GenTL Producers.
- Harvester: The core image acquisition engine.
- Harvester GUI: A GUI based on Harvester for user-friendly interaction.
- GenICam Compliant Device: Typically a camera allowing dynamic configuration and control.
Getting Started with Harvester
Ready to delve into Harvester? Different resources can guide you through installation and usage procedures:
Open Source Resources
Harvester utilizes several open-source libraries to enhance its capabilities:
- Pympler: A memory monitoring tool under the Apache License.
- Versioneer: Manages versions in a repository, available under a Public Domain Dedication license.
Acknowledgement
The development of Harvester has been supported by numerous contributors, bringing their expertise from various fields to create a robust and comprehensive software experience. Their contributions are gratefully acknowledged.