Comments (6)
@jayyoung Yes now we also store the history of ROIs as @kunzel requested. Luckily I have also created a service for querying ROIS. You can use the service soma/query_rois for that. But I think there is no option to get the latest roi for each id. I will see how it can be done. Thanks for pointing this out.
from soma.
Yeah that's the service I'm using, I updated everything to use the new methods, but noticed this behaviour.
It'd be really nice to be able to just query the most recent version of all the ROIs with a flag in the service call or something in order to get the current state. Or maybe instead of inserting a new entry into the database entirely when an ROI is updated, just keep the same database entry, but update a vector of the previous poses. So roi.poses[0] gets me the most recent posearray of the ROI, roi.poses[1] gets me the previous posearray, and so on. Not sure what's easiest/best, probably just a flag in the service call.
from soma.
@jayyoung I have updated the roi query service with the flag returnmostrecent which will return you the most recent versions of rois when set to true. I have also opened a pull request for mongodb_store because the latest version of soma needs to have the updated version of mongodb_store. For an immediate solution you can use this version https://github.com/hkaraoguz/mongodb_store/tree/somaroiupdate
from soma.
Woo awesome! Thank you!
from soma.
@jayyoung Did you check the functionality? Should we close this issue?
from soma.
Yep sure sorry I only just got around to testing it. It seems to work just fine. Here is the test code I used to verify it in case you care:
import roslib
import rospy
from soma_msgs.msg import SOMAObject
from soma_manager.srv import *
if __name__ == '__main__':
rospy.init_node('test_masks', anonymous = False)
print("getting soma service")
rospy.wait_for_service('/soma/query_rois')
print("done")
print("setting up proxy")
soma_query = rospy.ServiceProxy('/soma/query_rois',SOMAQueryROIs)
print("done")
print("making query")
query = SOMAQueryROIsRequest()
query.returnmostrecent = True
response = soma_query(query)
print("found: " + str(len(response.rois)) + " rois using return_most_recent")
for roi in response.rois:
print(roi.id)
from soma.
Related Issues (20)
- Strip out 2's of soma msgs, packages, etc HOT 1
- Add a SOMA trajectory object/msg HOT 3
- Put all soma collections together into a single DB HOT 1
- Add a soma_tutorial package
- Remove dependency to strands_3d_mapping HOT 1
- remove world_state_importer if not needed HOT 1
- add QT-based query interface (aka robot_state_viewer) HOT 2
- Add visualisation for trajectories in the SOMa visualizer
- Integrate trajectory queries and visualization into existing query and visualizer nodes HOT 1
- Integrate new low-level representation tools HOT 3
- Re-enable object manager (RVIZ interface) HOT 3
- Little bug on update branch with map manager HOT 3
- soma roi manager visualises all configs. HOT 4
- Releasing the update branch HOT 23
- rosservice /soma/query_objects HOT 2
- Remove soma_pcl_segmentation for release HOT 5
- SOMa Query (Service) - use the latest ROI HOT 4
- Should the update branch be release as the new package? HOT 2
- basic launch file to run soma core
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 soma.