Crate aravis

Source
Expand description

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.

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.

Re-exports§

pub extern crate glib;

Modules§

prelude

Structs§

AlreadyInitializedError
Error returned when Aravis::initialize is called more than once.
Aravis
Token representing access to the global state of the Aravis library.
Buffer
[classBuffer] provides a class for the instantiation of buffers used for the storage of the separate images of the video stream.
Camera
[classAravis] is a class for the generic control of cameras. It hides the complexity of the genicam interface by providing a simple API, with the drawback of not exposing all the available features. See [classAravis] and [classAravis] for a more advanced use of the Aravis library.
ChunkParser
[classChunkParser] provides a class for the instantiation of chunk parsers used for the extraction of chunk data stored in the stream payload.
Device
Device is an abstract base class for the control of cameras. It provides an easy access to the camera settings, and to its genicam interface for more advanced uses.
DeviceInfo
Information identifying a GenICam camera.
DomCharacterData
This is an Abstract Base Class, you cannot instantiate it.
DomDocument
This is an Abstract Base Class, you cannot instantiate it.
DomDocumentFragment
This is an Abstract Base Class, you cannot instantiate it.
DomElement
This is an Abstract Base Class, you cannot instantiate it.
DomNamedNodeMap
This is an Abstract Base Class, you cannot instantiate it.
DomNode
This is an Abstract Base Class, you cannot instantiate it.
DomNodeChildList
Implements
DomNodeList
This is an Abstract Base Class, you cannot instantiate it.
DomText
Implements
Evaluator
Implements
FakeCamera
FakeCamera is a class that simulate a real camera, which provides methods for the implementation of FakeDevice and FakeStream.
FakeDevice
Properties
FakeInterface
Implements
FakeStream
Implements
Gc
Gc implements the root document for the storage of the Genicam feature nodes. It builds the node tree by parsing an xml file in the Genicam standard format. See http://www.genicam.org.
GcBoolean
Implements
GcCategory
Implements
GcCommand
Implements
GcConverter
This is an Abstract Base Class, you cannot instantiate it.
GcConverterNode
Implements
GcEnumEntry
Implements
GcEnumeration
Implements
GcFeatureNode
GcFeatureNode provides a base class for the implementation of the different types of Genicam feature node (Group, Integer, Float, Enumeration…).
GcFloat
Implements
GcFloatNode
Implements
GcFloatRegNode
Implements
GcGroupNode
Implements
GcIndexNode
Implements
GcIntConverterNode
Implements
GcIntRegNode
Implements
GcIntSwissKnifeNode
Implements
GcInteger
Implements
GcIntegerNode
Implements
GcInvalidatorNode
Implements
GcMaskedIntRegNode
Implements
GcNode
GcNode provides a base class for the implementation of the different types of Genicam nodes.
GcPort
Implements
GcPropertyNode
GcPropertyNode provides a base class for the implementation of the different types of Genicam property nodes (Value, pValue, Endianness…).
GcRegister
Implements
GcRegisterDescriptionNode
Implements
GcRegisterNode
Implements
GcSelector
Implements
GcString
Implements
GcStringNode
Implements
GcStringRegNode
Implements
GcStructEntryNode
Implements
GcStructRegNode
Implements
GcSwissKnife
This is an Abstract Base Class, you cannot instantiate it.
GcSwissKnifeNode
Implements
GcValueIndexedNode
Implements
GvDevice
Properties
GvFakeCamera
GvFakeCamera is a class that simulates a real GigEVision camera.
GvInterface
Implements
GvStream
Properties
GvStreamOption
Interface
Interface is an abstract base class for camera discovery. It maintains a list of the available devices and helps to instantiate the corresponding Device objects. If the user already knows the device id of the device, he should not worry about this class and just use Camera::new() or arv_open_device().
PixelFormat
Stream
Stream provides an abstract base class for the implementation of video stream reception threads. The interface between the reception thread and the main thread is done using asynchronous queues, containing Buffer objects.
UvDevice
Properties
UvInterface
Implements
UvStream
Properties
XmlSchema
Implements

Enums§

AcquisitionMode
Auto
BufferPartDataType
BufferPayloadType
BufferStatus
ChunkParserError
ComponentSelectionFlags
DeviceError
DomNodeType
ExposureMode
GcAccessMode
Specifies access mode for feature nodes and registers.
GcCachable
Specifies caching mode for register values.
GcDisplayNotation
Number display notations for showing numbers in user interfaces.
GcError
GcIsLinear
Describes relationship between TO and FROM variables in Converter feature nodes.
GcNameSpace
Specifies feature node or register name space type. Standard name space features are listed in Genicam materials. Any other vendor-specific features should use custom name space type.
GcPropertyNodeType
GcRepresentation
Number representation formats.
GcSignedness
Specifies signedness of integer registers. Per standard Genicam internally uses signed 64-bit signed integers for representing all integer registers. Therefore unsigned 64-bit integers are not available.
GcVisibility
Specifies feature node recommended visibility in user interfaces.
GvIpConfigurationMode
GvPacketSizeAdjustment
GvStreamPacketResend
GvStreamSocketBuffer
ImageError
RegisterCachePolicy
StreamCallbackType
Describes when the reason the stream callback is called. You are probably more interested in Init and BufferDone.
UvUsbMode
XmlSchemaError

Traits§

CameraExt
Trait containing all Camera methods.
CameraExtManual
Trait containing additional Camera methods.
DeviceExt
Trait containing all Device methods.
DeviceExtManual
Trait containing additional Device methods.
DomCharacterDataExt
Trait containing all DomCharacterData methods.
DomDocumentExt
Trait containing all DomDocument methods.
DomElementExt
Trait containing all DomElement methods.
DomNamedNodeMapExt
Trait containing all DomNamedNodeMap methods.
DomNodeExt
Trait containing all DomNode methods.
DomNodeListExt
Trait containing all DomNodeList methods.
GcFeatureNodeExt
Trait containing all GcFeatureNode methods.
GcFloatExt
Trait containing all GcFloat methods.
GcIntegerExt
Trait containing all GcInteger methods.
GcNodeExt
Trait containing all GcNode methods.
GcPropertyNodeExt
Trait containing all GcPropertyNode methods.
GcRegisterExt
Trait containing all GcRegister methods.
GcRegisterExtManual
Trait containing additional GcRegister methods.
GcSelectorExt
Trait containing all GcSelector methods.
GcStringExt
Trait containing all GcString methods.
InterfaceExt
Trait containing all Interface methods.
StreamExt
Trait containing all Stream methods.

Functions§

bits_per_pixel
Calculate the bits per pixel of a given format.
buffer_size
Calculated the size in bytes for a pixel format and count.
buffer_size_wh
Calculate the size in bytes for a image with a pixel format, width and height.
get_device_list
Enumerate all available GenICam devices without mutual exclusion.

Type Aliases§

ArcImage
BoxImage
RcImage