Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MatrixVision is now Balluff and no free GenTL Producer is available anymore #451

Open
3 of 5 tasks
jeffwitz opened this issue Mar 26, 2024 · 3 comments
Open
3 of 5 tasks

Comments

@jeffwitz
Copy link

jeffwitz commented Mar 26, 2024

Describe the Issue
When using the '/opt/ImpactAcquire/lib/x86_64/mvGenTLProducer.cti' 20s after the stream start, the stream is then encrypted and a box that moves on the screen tells that the trial time is passed ...

To Reproduce
Steps to reproduce the behavior:

  1. Download the last version of the GenTL Producer
  2. Install it
  3. try your camera with Harvester
  4. See error

Sample Code
I can show a piece of code that demonstrates the reported phenomenon:

  • Yes
  • No

If yes, please provide a sample code:

from harvesters.core import Harvester
import numpy as np
import cv2

h = Harvester()
h.add_file('/opt/ImpactAcquire/lib/x86_64/mvGenTLProducer.cti')
h.update()
ia = h.create()
ia.start()
ia.remote_device.node_map.ExposureTime.value = 25000
h.device_info_list

while(True):
    with ia.fetch() as buffer:
        component = buffer.payload.components[0]
        width = component.width
        height = component.height
        num_comp=component.num_components_per_pixel
        img = np.frombuffer(component.data,np.uint8).reshape((int(height),int(width)))
        img = img.copy()
    cv2.namedWindow('frame', cv2.WINDOW_NORMAL)
    cv2.imshow('frame',img[::2,::2])
    if cv2.waitKey(1) & 0xFF == ord('q'):
        ia.stop()
        ia.destroy()
        h.reset()
        cv2.destroyAllWindows()
        cap.release()
        break

If applicable, please paste the actual output (its whole traceback, etc) here:

Expected Behavior
a real image to be shown

Screenshots

Configuration

  • OS: debian 12
  • Python: 3.11.2
  • Harvester: 1.4.2
  • GenTL Producer: [e.g. Muffle Donut API version 12.1, Itchy Inc.]
  • Camera: HiVision

Reproducibility

This phenomenon can be stably reproduced:

  • Yes
  • No.

If applicable, please provide your observation about the reproducibility.

Actions You Have Taken
I don't find another compatible GenTL Producer in any of the one you list.

Additional context
Add any other context about the problem here.

@jeffwitz
Copy link
Author

I test a lot of things, here a little report for people having the same issues :

None of the supplier GenTL producer work :

MVS : '/opt/MVS/lib/64/MvProducerGEV.cti' --> faillure
Ximea : '/opt/XIMEA/lib/ximea.gentl.cti' and '/opt/XIMEA/lib/ximea.gentl2.cti' --> faillure
Stemmer: '/opt/cvb-14.00.010/drivers/genicam/libGevTL.cti' --> faillure
Pylon: '/opt/pylon/lib/gentlproducer/gtl/ProducerGEV.cti' --> faillure
matrix-vision 2.50.1: '/opt/mvIMPACT_Acquire/lib/x86_64/mvGenTLProducer.cti' --> Success by restricted after 200 frames
matrix-vision 2.34.1: '/opt/mvIMPACT_Acquire/lib/x86_64/mvGenTLProducer.cti' --> Success

At minimum, update the installation process to advise the last working version of matrix-vision GenTL before Balluff.

I really don't understand why all the GenTL providers failled, but I think it is an enormous issue for the project. This is absolutely not detailed in any FAQ and take a fair amount of time to investigate.
I hope if someone knows how to make vendors GenTL Producer works, it will explain here to avoid any unnecessary struggle.
I imagine I need software keys or USB dongle, what a pain in the neck, for just simples GigE cameras.

I really think you should work with ARAVIS in order to have a simple Open implementation that is reversed engineered, as for now, you don't provide any valid solution ,except passing hours and hours to try drivers.
We also clearly see the impeachment that comes from genicam not to give access to specification for OpenSource project.
I was hoping that your work will help to alleviate this difficulty, but it is always very present.

If you are interested, there is this discussion where it seems that it doesn't seem to difficult for people with genicam knowledge (not me), to solve this problem : https://aravis-project.discourse.group/t/is-aravis-attempting-to-be-a-gentl-library/268/2

@sunavlis
Copy link
Collaborator

Hi @jeffwitz

Thanks for your feedback. I have the impression, there is some frustration when you try to using harvesters.
Additionally, I think you mixed up a few things in your post. I will try to help you and clarify the different components.

1. What is Harvesters:

Harvesters is a GenTL consumer which is able to collect data from a GenTL producer (usually a camera).
You can see it like a GenTL producer is a *.cti file which provides a well defined API. This is provided from the camera manufacturer like an camera driver.

Thanks to the well define API, different GenTL consumers (like Harvesters) could access the cameras of different vendors through this common interface. This allows to use Harvesters with all GenICam compliant cameras through which you can configure and grab images of these cameras in your Python script.

So my recommendation is, that you may ask the vendor of your camera (HiVision) if they are GenICam compliant. If this is the case, you may ask them for there GenTL producer (*.cti). And the you would be able to collect the data from your camera within Python.

2. Your List of Faulty Producer:

Could you provide more information about the error?
Most of the vendors also provide GUI based tools to test there producer. Are you able to acquire images in there tools?

At least on my side, my available producer are working as expected with Harvesters. Please understand, that I cannot reproduce your issue without additional information from your side.

@jeffwitz
Copy link
Author

Hi @sunavlis ,

Thanks for this answer. Sorry if I feel frustrated.

I will try to investigate the errors that comes from the other vendors.

As mentioned in #442 , there is no valid .cti files from HikRobots. I also ask and I don't have answer yet.

What worries me, is the fact that the default solution you propose in your tutorial is not working anymore due to Balluff politicy change. I'm not sure the drivers that work, will be available in the future, it is not obvious to solve. For now

Could you suggest other GenTL Producers ?
On this site they advise GenTL Producer, those are the one I try without success. The last I try and that works is matrix-vision 2.34.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants