DALSA Xtium-CLHS PX8

Has anyone tried to read a camera via the Xtium-CLHS PX8 frame grabber card?

My code fails with an error that says essentially, “camera not found”.

See my code below…

import cvb

device = cvb.DeviceFactory.open(‘C:/Program Files/STEMMER IMAGING/Common Vision Blox/Drivers/CVXtiumCLHSPX8.vin’)

And the resulting error is:

RuntimeError: {C-API call failed} ({LoadImageFileW})

Many Thanks,
Brijen

Hi Brijen,

can you load the driver/camera in a CVB tutorial application?
I want to exclude that a misconfiguration of the CVB driver causes the error.

Regards,
Martin

Hi Martin,

After your suggestion, I tried running an example from the \Common Vision Blox\Tutorial\GEVServer\CvbPy\QmlGevServer directory called QmlGevServer.py and that application also comes up with an error message saying “Failed to load new device”. Do you know of any other tutorial paths that allow a simple loading of the camera driver? I see a lot of CVB tutorials with various image manipulation but not many that allow to load and run a connected camera.

I have installed “CommonVisionBlox DALSA Xtium-CLHS PX8 Driver (x64)” driver thinking that my 64 bit Windows10 OS, along with Sapera Wow64 server might be compatible with this version of the driver. Maybe I should try to install the other available alternative driver, “xtium-clhs_px8_111000285”?

Thanks Brijen

Hi Brijen,

it’s probably the mix of installed versions which causes the error.

The CVB Dalsa Xtium-CLHS PX8 driver (x64) is ok for Win10 x64 OS, but Sapera Wow64 is a 32 Bit application for 64 Bit OS, you might install the x64 version of Sapera.

Are you able to load the camera in Sapera CamExpert, and save the configuration of your framegrabber as a .ccf? This configfile is needed in the “XtiumCLHSPX8.ini” file (located in the %CVBDATA%\Drivers directory).

For testing purpose of the driver, I recommend the Display tutorial based on the new wrapper:

%CVB%\Tutorial\Image Manager\Cvb.Net\Display\bin\Release

Best regards,
Martin

Hi Martin,

Thanks for your help. After reading your notes above I decided to clean reset my Windows10 operating system to clean up the Registry entries that were getting mixed up the 32-bit Sapera WoW64 SDK install (at this point my camera was working with the Sapera CamExpert from SDK but not with CVB)

Here are my short notes that might help another user who wishes to acquire images through XTIUM-CLHS PX8 card.

(1) Assuming the starting point is a PC with Windows10 OS (64 bit) and a compatible PCIe x8 gen2 or higher/newer FREE slot, the installation below should work.

(2) First Install the frame grabber card physically by opening the PC.
(3) Download Common Vision Blox software 64 BIT package from https://www.commonvisionblox.com/en/download-cvb-windows-32-bit-and-64-bit/
(4) Next download the 64 BIT card driver from https://www.commonvisionblox.com/en/software/cvb-driver/dalsa-xtium-cl-px8/

(5) Install the CVB package first (mine is called, in abbreviated form, CVB_CamSuite_13.02.000 (x64).exe)

At this point the installed card will show a blue light, meaning it is not yet recognised by the system.

(6) Install the card driver by unzipping the downloaded file, mine is called CVB-Driver-Teledyne-DALSA-xtium-clhs-px8-x64. During install you will get some warnings that you are missing several packages, but the drive installation will add the missing s/w.

(7) After a restart - if the camera is connected to the card but not switched on - you should see a flashing green light on the card, meaning the card is now functional.

(7.1) Open the CamExpert shortcut on the desktop and with the camera switched on and booted up (takes a while), the camExpert should recognise the camera.

(7.2) Select bit depth, frame rate and other parameters of interest and save the configuration file from the File–>Save menu.

(7.3) Close CamExpert.

(8) Now head to location %CVBDATA%Drivers and open (using Notepad++ or similar editor) the XtiumCLHSPX8.ini file and edit the file name on board0 to match that of the .ccf file saved from above steps.

After all this my code works.

Thanks,
Brijen
(PS. more questions follow soon)

1 Like

I managed to acquire image in the form of type ‘RingBuffer’. My code is:

import cvb
device = cvb.DeviceFactory.open(“C:/Program Files/STEMMER IMAGING/Common Vision Blox/Drivers/CVXtiumCLHSPX8.vin”, port=0)
stream = device.stream
stream.start()
try:
for i in range(0 ,10):
image, status = stream.wait_for(1000)
if status == cvb.WaitStatus.Ok:
print("Acquired image " + str(i) + " into buffer " +
str(image.buffer_index) + “.”)
else:
raise RuntimeError(“timeout during wait”
if status == cvb.WaitStatus.Timeout else
“acquisition aborted”)
except:
pass
finally:
stream.try_abort()

And I get the output messages correctly…

Acquired image 0 into buffer 0.
Acquired image 1 into buffer 2.
Acquired image 2 into buffer 1.
Acquired image 3 into buffer 0.
Acquired image 4 into buffer 2.

Acquired image 9 into buffer 0.

When I print the data shape after converting to a np_array

np_array = cvb.as_array(image, copy=False)
np_array.shape

I get

(1024, 16384)

The camera has 10720 (H) x 8064 (V) pixels. How do I read the entire image?

Thanks,
Brijen

The framegrabber also has an opinion on the size of the image; is the size in the framegrabber set correctly to match the image size of the camera?

How to set the size in the framegrabber? The %CVBDATA%Drivers/XtiumCLHSPX8 only seems to have an entry for the camera settings.ccf but not framegrabber.ccf.

I cannot access any node maps properties, I get a blank dictionary with code below

import cvb

device = cvb.DeviceFactory.open(“C:/Program Files/STEMMER IMAGING/Common Vision Blox/Drivers/CVXtiumCLHSPX8.vin”, port=0)

node_map = device.node_maps
node_map.keys() # response = dict_keys([])
device.close()

Needless to say, I couldn’t run Andreas’ Configure a Device example in Getting Started with CVBpy as the dictionary is empty.

Any help appreciated.

Thanks,
Brijen

After having another go at saving a ccf file (this time I just opened one instance of camExpert and selected camera and link in turn) , the image format has sorted out.
But there is an artefact near the top right. Any idea of how to get rid of it? Must be something in the ccf file. Though I do not get the artefact on the camExpert.camera_artefacts

Hi @bghtech,
the artifact you see in the top right is the Common Vision Blox watermark, which indicates that you do not have a license for the image acquisition (Image Manager license). You can request a 30day trial license of CVB via the License Manager.
But the artifact does not mean that you have a configuration error.

Regards,
Tim

1 Like