Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Controling exposure time (ABS/Raw) in Basler GigE Camera

Hi

 

I am working with GigE Basler cameras (acA2040-gm, acA2500-gm, acA1030-gm ect.). The Cameras seems to have two values for setting the exposuretime: ABS and Raw. In MAX the two values are following each other and everything is working fine.

 

Does this mean that when programmatically setting one of them I have to set the other one also?

 

The reason for asking is that we are using a number of different cameras from different vendors. At start-up we are reading a camera database and are writing all the attributes to the camera. But when writing exposuretimeABS to the basler camera followed by exposuretimeRaw the two values have to be equal otherwise the later will overwrite the first. Having two attributes with the same influence on the camera – why?

Do i have to make a special case for this camera type and setting the “same” attribute two times? don’t make any sense.

 

But how does Max know? I don’t expect Max having a “special” case for the Basler camera vendor.

 

Comments?

0 Kudos
Message 1 of 5
(7,747 Views)

It is just two different ways to set the same parameter.  If you set it one way, the other way updates automatically.

 

I'm not sure why they did it that way.  Just pick the method that makes more sense to you and use it.

 

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 2 of 5
(7,743 Views)

Thx

 

It might update the dependent camera attributes automatically in the camera.

But, then i will have to read back all the attribute values in the camera and update the camera DB in which I have stored all the camera attributes.

Another solution, when selecting a new attribute I have to read all the current camera attributes before setting a new one. Otherwise I have no idea what have happened to other dependent camera attributes. And when I have a system in which I am using the same camera with different exposuretimes…..

Time consuming and extra work. 😞

 

0 Kudos
Message 3 of 5
(7,724 Views)

I have seen many camera parameters that depend on other camera parameters.  This happens frequently, especially in Basler cameras.

 

You just have to pick the attributes you care about and ignore the rest.  Don't try to set every possible attribute for every camera.  In most cases, there are just a few attributes that really make a difference.  These are the attributes that are available in all cameras.

 

In other words, if you are setting the exposure using abs, don't store the raw values in your database.  They don't do you any good and just confuse the situation.

 

Bruce

Bruce Ammons
Ammons Engineering
0 Kudos
Message 4 of 5
(7,714 Views)

To add to Bruce's comment, if you simply try to store every attribute from the camera in a simple manner, you will almost certainly cause problems trying to restore those settings later on due to the interactions between them. There is actually a fairly complex mechanism described by the GenICam standard for "streaming" attributes to persistent storage. The XML describes which features to persist (overlapping ones are skipped) as well as provides handshaking registers to allow ordering and range requirements to be ignored until all features are set.

 

A good example would be AOI. If you try to set this in an improper order you'll get errors about features being out-of-range. For example: If Width is set to the full sensor width, you cannot change OffsetX until you reduce Width. If OffsetX is set to a large value, you may not be able to increase the Width until you reduce the OffsetX value. These two features are tied together, and logic for reliably setting both from an arbitrary starting point is hard.

 

IMAQdx uses the streaming functionality of GenICam and the camera to persist the camera settings properly into our camera files. We provide API functions for saving/loading them to these files. We also have some additional API functions in the provided LLB that can save/load these to/from strings for some advanced use cases. You may wish to explore trying to leverage this built-in functionality to store your settings reliably.

 

Eric

0 Kudos
Message 5 of 5
(7,709 Views)