MCPcopy Index your code
hub / github.com/AravisProject/aravis

github.com/AravisProject/aravis @0.8.36

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.8.36 ↗ · + Follow
1,955 symbols 5,065 edges 238 files 8 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Aravis Aravis

Aravis-Linux Aravis-macOS Aravis-MinGW Aravis-MSVC Codacy Badge

What is Aravis ?

Aravis is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras. It also provides a basic ethernet camera simulator and a simple video viewer.

Aravis is released under LGPL-2.1-or-later.

Documentation

The latest documentation is available here. You will find how to install Aravis on Linux, macOS and Windows, how to tweak your system in order to get the best performances, and the API documentation.

Dependencies

The Aravis library depends on zlib, libxml2 and glib2, with an optional USB support depending on libusb1.

The GStreamer plugin depends on GStreamer1 in addition to the Aravis library dependencies.

The simple viewer depends on GStreamer1, Gtk+3 and the Aravis library dependencies.

The required versions are specified in the meson.build file in Aravis sources.

It is perfectly possible to only build the library, reducing the dependencies to the bare minimum.

Contributions

As an open source and free software project, we welcome any contributions to the aravis project: code, bug reports, testing...

However, contributions to both Gigabit Ethernet and USB3 protocol code (files src/arvuv*.[ch] src/arvgv*.[ch]) must not be based on the corresponding specification documents published by the A3, as this organization forbids the use of their documents for the development of an open source implementation of the specifications. So, if you want to contribute to this part of Aravis, don't use the A3 documents and state clearly in the pull request your work is not based on them.

Links

  • Forum: https://aravis-project.discourse.group
  • Github repository: https://github.com/AravisProject/aravis
  • Releases: https://github.com/AravisProject/aravis/releases
  • Release notes: https://github.com/AravisProject/aravis/blob/master/NEWS.md
  • Aravis 0.8 documentation: https://aravisproject.github.io/docs/aravis-0.8/
  • Genicam standard : http://www.genicam.org

Core symbols most depended-on inside this repo

arv_gc_feature_node_get_name
called by 140
src/arvgcfeaturenode.c
arv_gc_get_node
called by 111
src/arvgc.c
arv_gc_integer_get_value
called by 72
src/arvgcinteger.c
arv_gc_property_node_new
called by 55
src/arvgcpropertynode.c
arv_value_get_int64
called by 52
src/arvmisc.c
arv_value_get_double
called by 48
src/arvmisc.c
arv_gc_integer_set_value
called by 45
src/arvgcinteger.c
arv_device_get_integer_feature_value
called by 42
src/arvdevice.c

Shape

Function 1,742
Class 209
Method 3
Enum 1

Languages

C90%
C++9%
Python1%

Modules by API surface

src/arvcamera.c164 symbols
src/arvgcpropertynode.c90 symbols
viewer/arvviewer.c78 symbols
src/arvtypes.h51 symbols
src/arvdevice.c51 symbols
src/arvgvdevice.c46 symbols
src/arvgvstream.c44 symbols
src/arvbuffer.c44 symbols
src/arvmisc.c39 symbols
src/arvevaluator.c37 symbols
src/arvuvdevice.c36 symbols
src/arvtest.c36 symbols

For agents

$ claude mcp add aravis \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact