genicam / harvesters

Image Acquisition Library for GenICam-based Machine Vision System
Apache License 2.0
501 stars 86 forks source link

License Agreement: MATRIX VISION mvAcquire GenTL file on ARM64 #372

Closed EnricoBeltramo closed 1 year ago

EnricoBeltramo commented 1 year ago

I tried to use the library on a Jetson Xavier ARM64 using mvAcquire of Matrix vision built for ARM64 and a lxg-20cp Baumer Camera. The library read and write fine parameters from camera, but when I try to acquire images I have an image with a moving text like that: acquisition

In the past I used mvAcquire driver with Linux and Windows x86 and I never had issue, may be someone else tried to run on ARM64 and know if there are specific licences to acquire o some more actions to do?

kazunarikudo commented 1 year ago

@EnricoBeltramo Hi, thank you for trying out Harvester. Concerning the reported issue, it is not surprising because their license agreement should be respected. I recommend contacting MATRIX VISION sales if you are happy with the quality they can offer you. Thanks!

kazunarikudo commented 1 year ago

@EnricoBeltramo Please feel free to close this ticket by yourself.

MathijsNL commented 1 year ago

Why don't you use the Baumer CTI files instead? They are included in the gapi-sdk, also for ARM. https://www.baumer.com/nl/en/product-overview/industrial-cameras-image-processing/software/baumer-gapi-sdk/linux-arm/c/14178

EnricoBeltramo commented 1 year ago

Should be interesting, but I would to have an application that is compatible with different kinds of camera and I suppose that baumer driver works only with Baumer cameras, it's correct?

MathijsNL commented 1 year ago

You can supply the CTI file for each different brand of camera. That's what the GenICam is for (Generic Interface for Cameras). You could either detect the camera brand and use the proper CTI file, or you can make some sort of configuration for it and enter the camera brand manually.

Because of the trial period for some cameras I think it would be wise to use the manufacturers CTI file.

https://www.matrix-vision.com/assets/drivers/versionInfo.txt

08.05.2019  2.32.0
                        NEW FEATURES:
                        - mvIMPACT Acquire supports all 3rd party devices and 3rd party GenTL producers now     (mvGenTLConsumer-lib)
                          even though right now some of them will only work for a trial period. Get in touch    (mvGenTLProducer.cti)
                          with us if you have questions about that.

@kazunarikudo already mentioned contacting MatrixVision to get more information about the available options.

vigneshgarrapally commented 1 year ago

I have been using SVS VISTEK camera which supports GENICAM standard. I have checked with them. unfortunately, They don't have CTI file. I have contacted Matrix Vision sales team. Meanwhile, I am interested to know are there opensource ARM based CTI files which don't have trail period and can be used for any GENICAM supported camera?

MathijsNL commented 1 year ago

They do have CTI files for x64 platform. Did they really confirm they don't have any support for arm?

https://www.svs-vistek.com/en/support/svs-support-download-center.php image

SVCapture_Linux_ubuntu_18.04.5_x86-64_svn2548.tar.gz\SVCapture_Linux_ubuntu_18.04.5_x86-64_svn2548.tar\SVCapture2Setup_Linux_release\SVCamKit\SDK\Linux64_x64\cti\
libsv_gev_tl_x64.cti
libsv_u3v_tl_x64.cti
PVTejas-Yottaasys commented 1 year ago

The did confirm they do not provide .cti files for ARM, only .so files.

jcormier commented 1 year ago

On windows a cti file is just a renamed dll. Could the same be true for linux? I'd try pointing harvested to the .so file and see what happens.

On Thu, Jan 12, 2023, 1:12 AM PV Tejas @.***> wrote:

The did confirm they do not provide .cti files for ARM, only .so files.

— Reply to this email directly, view it on GitHub https://github.com/genicam/harvesters/issues/372#issuecomment-1379861787, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABK2RGL4QZZUT25HDFYB5BDWR6OERANCNFSM6AAAAAAQZPRB5M . You are receiving this because you are subscribed to this thread.Message ID: @.***>

kazunarikudo commented 1 year ago

Could the same be true for linux?

Yes, it is true, too.

kazunarikudo commented 1 year ago

Baumer cameras, it's correct?

@EnricoBeltramo I have never confirmed the reality but it can be correct. It is not surprising to block other competitors.

kazunarikudo commented 1 year ago

The did confirm they do not provide .cti files for ARM, only .so files.

If the file is a GenTL Producer, then it must expose the defined C-API functions. If those functions are not exposed then it is just an image acquisition library. None of GenTL consumers such as Harvester can communicate with it.

I would not say anything much. It all depends on SVS-VISTEK's response.

vigneshgarrapally commented 1 year ago

The did confirm they do not provide .cti files for ARM, only .so files.

If the file is a GenTL Producer, then it must expose the defined C-API functions. If those functions are not exposed then it is just an image acquisition library. None of GenTL consumers such as Harvester can communicate with it.

I would not say anything much. It all depends on SVS-VISTEK's response.

Thanks for your reply. If I understand correctly, Harvester (or any GenTL consumer) can be used to load a GenTL producer in any format( .cti or .so) if it has exposed defined C- API functions.

R&D team from SVS-VISTEK had responded with the following information. image

kazunarikudo commented 1 year ago

@vigneshgarrapally Hi, Harvester should be able to load the files marked as GenTL. If it can’t then it means I’ve injected a defect. If so then excuse me, I’ll fix that. However, I guess you know why but please note that you should load a file from the originally installed location.

StefanBattmer commented 2 months ago

Hi everyone, I am one of the developers of the Impact Acquire SDK and even though this thread is quite old I would like to clarify what was discussed here to maybe help others stumbling on this later:

So, these days running a third-party streaming device using our SDK requires the purchase of a runtime license. Non-streaming devices can still be operated free of charge, licenses can be obtained from the Balluff website. It was always our primary objective to provide an SDK that implements various vision standards in the best possible way to support EVERY device that complies with the standard. This is still true today. However the behaviour of a small selection of certain device vendors out there left us with no other choice then giving up that open SDK approach. I personally think this is a pity it but became unavoidable at a certain point.

So all that’s left to say would be: Our SDK still rocks! You get your money’s worth! 😉