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

GUI support of image_transport compressed datatypes #430

Closed
jhoare opened this issue Sep 19, 2016 · 5 comments
Closed

GUI support of image_transport compressed datatypes #430

jhoare opened this issue Sep 19, 2016 · 5 comments

Comments

@jhoare
Copy link

jhoare commented Sep 19, 2016

We would like to use the compressed image formats so we can more efficiently stream images over a wireless network.

@pjreed
Copy link
Contributor

pjreed commented Sep 19, 2016

Mapviz's image plugin already uses ImageTransport under the hood to handle it subscriptions, which means it is possible to make it used a compressed image transport by setting the appropriate parameter. For example, if mapviz is running as a node named mapviz_1474307178780514021, you can run this:

$ rosparam set /mapviz_1474307178780514021/image_transport compressed

Afterward, mapviz will subscribe to the compressed versions of any new image topics that support it. Existing subscriptions will probably need to be re-done, which is easily done by changing the topic name to something else and then changing it back.

It would be nice if this could be configured through the GUI, though.

@jhoare jhoare changed the title Support of image_transport compressed datatypes GUI support of image_transport compressed datatypes Sep 19, 2016
@jhoare
Copy link
Author

jhoare commented Sep 19, 2016

Ah okay good to know. I was expecting the interface to be more similar to rqt_image_view where I select the "compressed" image topic to used the compressed transport.

@jhoare
Copy link
Author

jhoare commented Sep 19, 2016

Note, when using "compressed" image transport and visualizing multiple images I get the following error (but everything seems to be working correctly):

[7fe9d06c3a40] [/commandcenter/mapviz_messier_20127_7398547913354522751/ServiceManager::advertiseService:147]: Tried to advertise a service that is already advertised in this node [/commandcenter/mapviz_messier_20127_7398547913354522751/compressed/set_parameters]

@pjreed
Copy link
Contributor

pjreed commented Sep 19, 2016

Hmm, I can confirm that, and it is peculiar. It doesn't seem like that hurts anything, but it's not immediately obvious why ServiceManager::advertiseService would end up getting called as a result of ImageTopic::subscribe... I'll investigate.

@evenator
Copy link
Contributor

ImageTransport::subscribe is a little...magical. For the compressed topic, it creates a service for communicating the compression information from the publisher to the subscriber. Other image transport plugins have other problems--Theora cannot handle multiple subscribers or resubscribing. Those are the only two I've used, so I can't comment further, but suffice to say, ImageTransport can be a little fragile when you're using it for anything besides single publisher->single subscriber as in a processing pipeline.

pjreed added a commit to pjreed/mapviz that referenced this issue Oct 3, 2016
This will add a sub-menu under the "View" menu that will:
- List all available image transports
- Indicate which one is currently the default
- Allow the user to choose which one will be used for new ImageTransport subscriptions
- Save and restore this setting to Mapviz's config file

Note that this does not change which topics active ImageTransport subscriptions are
connected to; they must be manually resubscribed to use a different transport.

Fixes swri-robotics#430
pjreed added a commit to pjreed/mapviz that referenced this issue Oct 4, 2016
This will add a sub-menu under the "View" menu that will:
- List all available image transports
- Indicate which one is currently the default
- Allow the user to choose which one will be used for new ImageTransport subscriptions
- Save and restore this setting to Mapviz's config file
- Cause any `image` plugins using the default transport to resubscribe

In addition, the image plugin now has a menu that can be used to change the
transport for that specific plugin so that it is different from the default.

Fixes swri-robotics#430
evenator pushed a commit that referenced this issue Oct 6, 2016
This will add a sub-menu under the "View" menu that will:
- List all available image transports
- Indicate which one is currently the default
- Allow the user to choose which one will be used for new ImageTransport subscriptions
- Save and restore this setting to Mapviz's config file
- Cause any `image` plugins using the default transport to resubscribe

In addition, the image plugin now has a menu that can be used to change the
transport for that specific plugin so that it is different from the default.

Fixes #430
pjreed added a commit to pjreed/mapviz that referenced this issue Oct 6, 2016
This will add a sub-menu under the "View" menu that will:
- List all available image transports
- Indicate which one is currently the default
- Allow the user to choose which one will be used for new ImageTransport subscriptions
- Save and restore this setting to Mapviz's config file
- Cause any `image` plugins using the default transport to resubscribe

In addition, the image plugin now has a menu that can be used to change the
transport for that specific plugin so that it is different from the default.

Fixes swri-robotics#430
pjreed added a commit to pjreed/mapviz that referenced this issue Oct 6, 2016
This will add a sub-menu under the "View" menu that will:
- List all available image transports
- Indicate which one is currently the default
- Allow the user to choose which one will be used for new ImageTransport subscriptions
- Save and restore this setting to Mapviz's config file
- Cause any `image` plugins using the default transport to resubscribe

In addition, the image plugin now has a menu that can be used to change the
transport for that specific plugin so that it is different from the default.

Fixes swri-robotics#430
Conflicts:
	mapviz/package.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants