#gen-i-cam #gig-e #usb3 #vision #camera

aravis

safe bindings for Aravis, a vision library for genicam based cameras

15 unstable releases (7 breaking)

Uses old Rust 2015

0.7.1 Jul 21, 2021
0.6.0 Dec 8, 2020
0.5.0 Sep 27, 2020
0.3.2 Jul 30, 2020
0.0.1 Oct 26, 2019

#38 in Video

Download history 9/week @ 2021-07-03 4/week @ 2021-07-10 90/week @ 2021-07-17 7/week @ 2021-07-24 51/week @ 2021-07-31 5/week @ 2021-08-07 21/week @ 2021-08-14 8/week @ 2021-08-21 1/week @ 2021-08-28 1/week @ 2021-09-04 5/week @ 2021-09-11 3/week @ 2021-09-18 18/week @ 2021-09-25 18/week @ 2021-10-02 6/week @ 2021-10-09 2/week @ 2021-10-16

54 downloads per month
Used in aravis-utils

BSD-2-Clause

550KB
14K SLoC

aravis

This crate contains (mostly) safe bindings to the Aravis library. The bindings are mostly auto-generated with the gir tool from the gtk-rs project.

This crate currently targets version 0.8.14 of the Aravis library.

The autogenerated API uses extension traits to implement methods for many structs. This is done by the gir tool to emulate class inheritance. Practically, this means that you should also look the CameraExt trait if you want to know what you can do with a Camera.

You can import the prelude to bring all available extension traits in scope:

use aravis::prelude::*;

Migrating from 0.6

The API was regenerated with a new version of the gir tool. As a result, the public API has changed a bit:

  • Getters no-longer have a get_ prefix, so a function that was called get_foo() is now simply called foo().
  • Methods for classes without subclasses no-longer live in *Ext traits. For example, this means that all methods for Buffer objects are now directly implemented on the Buffer struct. This mostly means you can just remove the import of traits that no longer exist.

Documentation copyright

This documentation constist mainly of original documentation of the Aravis project. The copyright and license of the Aravis project apply to those parts. The full original documentation is also available online and might help if the translation to Rust made things unclear.

Dependencies

~11MB
~208K SLoC