Is Aravis attempting to be a genTL library?

Hi Aravis Community,

I am researching machine vision software possibilities and am excited with the promise that the genicam standard is stating of camera interaction, regardless of interface.

I have found two options beside aravis:

For these two a genTL library is needed. This can come from the camera manufacturer or found online to work with multiple cameras.
Reading the limited documentation of Aravis I am getting the impression that it does not need such a library.

From the docs I also found “it does not try to be a complete implementation of the Genicam API as described in the GenAPI GenICam document.”

What is the advantage of using Aravis over the standard genicam approach (as shown below)?
image

Hi Bart,

Thanks for your interest in Aravis.

You are right, Aravis tries to implement everything needed for the camera control and the video stream reception.

It should even say « Aravis does not try to implement the Genicam API ». What Aravis is using in the Genicam specification is the XML data description.

The main advantage is you get a full open source stack. No ties to a camera manufacturer or a single software vendor. The code is available and you can adapt it to suit your needs.

Cheers,

Emmanuel.

2 Likes

So, would it be possible to implement the CTI file (Common Transport Interface) with Aravis and behave like a generic GenTL producer?

Hi Petr,

It is probably possible. Aravis has the same hierarchy as what is defined in https://www.emva.org/wp-content/uploads/GenICam_GenTL_1_4.pdf.

But it is definitely a lot of work.

I am looking at the GenTL v1.6 header by EMVA, it seems to be quite straightforward for implementation. Would that be a welcome addition to Aravis?

The thing is that I sometimes have to use vendor’s SDKs, which mostly require 3rd party GenTL provider library & I would much prefer to have Aravis underneath (source access, installation ease, hackability, …).

And then, can the header by EMVA be used as-is, or does it need to be retyped or something like that? (The license is, as far as I see, modified BSD: allows redistribution without modifications and with attribution; is there a gotcha?)

Hi,

That would be a nice addition. As for the header, it is fine to use it as is.

Emmanuel.