{"categories":[{"label":"Scientific/Engineering","url":"https://skillfed.io/packages/category/scientific-engineering/8"}],"enrichment":{"capability":"Harvester simplifies image acquisition from GenICam-compliant cameras by wrapping GenTL Producers and GenICam feature nodes, letting you load multiple transport layers and configure devices in a single Python script.","skillfed_tags":["computer-vision","hardware-interface","image-acquisition"],"use_cases":["Integrate multiple industrial cameras over different transports (USB, GigE, CoaXPress) into a single Python application without transport-specific code.","Build machine vision inspection systems that configure camera parameters dynamically and stream images to OpenCV or scikit-image for real-time processing.","Prototype computer vision workflows in Jupyter notebooks where you can acquire images, visualize them with Matplotlib, and iterate on processing logic.","Develop headless image acquisition daemons that capture frames from GenICam devices and write them to disk or a message queue for downstream analysis."],"what_it_does":"Harvester is a Python image acquisition library designed to work with GenICam-compliant cameras and GenTL Producers\u2014standardized interfaces that abstract away transport-layer details (USB, GigE, etc.). It lets you load multiple GenTL Producers in a single script, discover available devices, and manipulate camera settings through GenICam feature nodes without worrying about the underlying protocol. The library delivers acquired images as buffers containing numpy-compatible data, making it straightforward to feed images into downstream processing pipelines.\n\nThe core workflow involves instantiating a Harvester object, loading one or more GenTL Producer libraries (.cti files), discovering connected devices, creating an ImageAcquirer for a specific device, configuring camera parameters (resolution, pixel format, etc.) through the remote device's node map, and then fetching image buffers in a loop. Buffers expose image components as numpy arrays, so you can immediately reshape and analyze them without additional conversion steps.","worth_installing":"Yes. Harvester is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. Install it if you need to acquire images from GenICam-compliant cameras\u2014it abstracts away transport-layer complexity and integrates naturally with numpy and standard Python image processing tools. Skip it only if your cameras use proprietary (non-GenICam) APIs or if you need a GUI (use Harvester GUI for that instead)."},"id":"harvesters","links":{"html":"https://skillfed.io/packages/harvesters","md":"https://skillfed.io/packages/harvesters.md","pypi":"https://pypi.org/project/harvesters/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2024-05-16","license_spdx":null,"license_treatment":"permissive","name":"harvesters","python_support":"unspecified","summary":"Image Acquisition Library for GenICam-based Machine Vision System"},"popularity":{"monthly_downloads":97323,"position":13157,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.4.3"}
