Frequently Asked Question

How to access camera parameters from a secondary process
Last Updated 3 years ago


Starting from Vision Point 2019.2 it is possible to perform an acquisition process in one process and control camera parameters from a secondary process (Vision Point GUI or another application built with Vision Point API).

This feature is currently supported only for CXP grabbers and requires a special firmware built for it. Please consult with KAYA support if you want to use this feature.

To achieve it please follow the following procedure :

  1. Start 1st instance of Vision Point without any parameters. It will be called the "master" process.
  2. Start 2nd instance of Vision Point with the parameter "-c". This 2nd instance will NOT start video streams and will only be used to control camera parameters. It is a "slave" process.
  3. Perform camera detection in the 1st (master) process. Please wait for detection in a single process to complete before proceeding to the next step.
  4. Perform camera detection in 2nd (slave) process. Please wait for detection in a single process to complete before proceeding to the next step.

  5. It is important to perform camera detection steps in both processes sequentially before following steps because camera detection resets camera state. Doing it after an acquisition is started or while camera detection in another process is running will result in undefined behavior.

  6. Start acquisition in 1st (master) process.
  7. While acquisition in the master process is running it should be possible to change camera parameters from 2nd (slave) process.
In case of using custom application as 2nd (slave) process instead of Vision Point GUI: Before calling KYFG_Scan() please use KYFGLib_Initialize() API call setting 'noVideoStreamProcess' member of passed KYFGLib_InitParameters structure to KYTRUE. Please refer to "Vision_Point_API_Data_Book" for more details.

IMPORTANT NOTE:
You can use the slave process only to change camera parameters that do not affect frame geometry, such as "ExposeTime" for example. Changing parameters that redefine frame geometry or buffer size, such as "Width" or "PixelFormat" will result in undefined behavior. It is because camera parameter changes are not communicated to the master process (one running acquisition) that is already configured for the original values of those parameters. If you need to change such parameters please perform the described procedure from the start.

Please Wait!

Please wait... it will take a second!