Comments (4)
Hello @FrancoisPicardDTI,
I can see why it might not be a high priority as in any case one could do an asynchronous action request to take images which ineherently is non blocking. In my specific case, the camera position moves continuously which is why I need to make sure the exposure is finished before moving furthur. But well that can also be done (my current solution) with a simple waiting for some safety time (~7us) after sending the action request.
But personally for me a clean solution would be getting a callback on when the exposure is finished to know the exact times. I have thought about it and it is not that simple because the event handlers are registered for all the grab events (low level implementation) whereas it needs to be intertwined with the action request to react on a specifc request. I thought about a solution like this:
- Send an action request for grabbing one image.
- forward the goal handle of the request to the event handler (maybe with a lambda function or something)
- Upon finishing exposure, publish a feedback for the action request indicating exposure was finished.
- Upon finishing readout, return the result.
This going up and down all the way from ROS interface to camera implementation and back, can be a bit tricky. I would like to work on it of course but at the moment my resources are limited. If I get some free time I will look at it.
from pylon-ros-camera.
@alireza-moayyedi Hi, yes, your thoughts are generally right & yes, the pylon C++ API does support both (1) working with timeouts (while the pylon engine is polling on the queue); and (2) using callbacks (registering for events). The latter is not implemented on ROS yet and despite I'm not the best ROS expert I'm not sure it would bring the same benefits as it does in the pure pylon C++ implementation.
What I'm trying to say is that you are all free to give it a try if you've got the time and believe your use case will gain advantages of that.
Cheers
from pylon-ros-camera.
Hello @alireza-moayyedi
To answer you, no, this feature is not implemented in this repository. Either because at the time, the API was not allowing it, or because it has been deemed not suitable for the current implementation.
And no, it is not planned for now. It can become a priority if several users are asking for it.
Are you planning to work on this feature?
from pylon-ros-camera.
I'm also interested in this feature but our application is not that time-critical so that the current implementation is OK for us.
from pylon-ros-camera.
Related Issues (20)
- Question about function PylonInitialize HOT 5
- pylon_camera fps not reaching set frame_rate HOT 8
- Camera Config help for short range imaging HOT 2
- Connection multiple cameras ROS2 and publish images HOT 2
- ACE cameras PTP synchronization (acA_1920-40gc) HOT 2
- No available camera. Keep waiting and trying... HOT 2
- Synchronization error with image timestamp
- How to extract the different intensities from the polar camera rostopic /image_raw HOT 3
- Merge PR168_change_setLineMode_behavior into Humble HOT 1
- Cannot connect and get images from Blaze over a router HOT 3
- BUG: Image Encoding Parameter is not read as expected HOT 1
- Blaze depth map encoding HOT 6
- Cannot access ethernet camera from within docker container HOT 1
- Not able to change pins Line2 and Line3 mode with camera Ace2 HOT 3
- GenAPI|ROS image_encodings: [BayerGR8'|NO_ROS_EQUIVALENT']
- Error connecting to Basler A2a2600-20gcPRO REV: 12 through default.yaml HOT 1
- BUG: ROS 1 (master branch) package.xml version is not updated HOT 2
- BUG: Large memory leak for every Blaze image HOT 4
- changes not reflected when launching camera with reverse_x and reverse_y set to true HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pylon-ros-camera.