-
Notifications
You must be signed in to change notification settings - Fork 31
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
Obj id bitmask endpoint #308
Conversation
Conflicting PR. Removed from build OMERO-python-superbuild-push#779. See the console output for more details.
--conflicts |
omeroweb/webgateway/views.py
Outdated
data = bytearray() | ||
for obj in rsp_data["data"]["rows"]: | ||
obj_id = obj[0] | ||
while index < obj_id: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my case, the first column in this row is a 'StringColumn', so that obj_id
is a string (and this comparison line fails).
Conflicting PR. Removed from build OMERO-python-superbuild-push#783. See the console output for more details.
--conflicts |
aa308bf
to
65d4534
Compare
Conflicting PR. Removed from build OMERO-python-superbuild-push#786. See the console output for more details.
--conflicts |
Conflicting PR. Removed from build OMERO-python-superbuild-push#787. See the console output for more details.
--conflicts |
@will-moore Is there something I can or should do on this PR to resolve SCC's conflict comments? |
Apologies: I meant to ping @chris-allan and @erindiel for final feedback on those (#270 and #300) but I think they should be close to getting merged. |
Testing locally with a table where this URL this JSON
When I use:
So either I'm not understanding the usage or my data is not as expected? |
Conflicting PR. Removed from build OMERO-python-superbuild-push#790. See the console output for more details.
|
… there are duplicates
for more information, see https://pre-commit.ci
So, the URL I was testing above |
@will-moore I've put a test script I wrote here: https://gist.github.com/kkoz/791555afe60bc8dc6a4cd6c3c57988ed |
I'm not sure if I understand your example:
not I'm adding a test which should help us run the same tests. Test added at ome/openmicroscopy#6289 |
@will-moore The sessionid is supposed to be a omero web session ID, the one stored as the 'sessionid' cookie in the browser. Sorry I should have specified that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As this is going into the public API at a minimum we need an extensive docstring in urls.py
describing what the intent is here and what the caller can be expected to receive. Things like endianness, padding, and the layout of the bytes need to be explicitly defined.
Furthermore, some unit tests at least enforcing the byte layout need to be added. This probably necessitates refactoring the logic for producing the resulting bytes out of the view method.
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Updated the test at will-moore/openmicroscopy@8b0991d to correspond with the usage of |
@will-moore: Anything else from your side that you think we need to do before getting this merged? |
Tests for this (ome/openmicroscopy#6289) are passing: https://merge-ci.openmicroscopy.org/jenkins/job/OMERO-test-integration/931/testReport/OmeroWeb.test.integration.test_table/TestOmeroTables/ |
@chris-allan could you also update your previous review #308 (review). No objections to getting this merged from my side. I have two follow-up questions regarding the versioning and distribution:
|
Certainly.
Unless there's a really compelling reason not to, from our side it would be really nice to have this released. |
This PR adds an endpoint to make label image data retrieval more efficient from omero tables. Rather than returning the entire result of a query which could be a very large number of objects, the endpoint returns a bitmask representing the object IDs, where the bit is set to 1 if that ID matched the query and 0 otherwise. You can hit the endpoint using a URL like
http://localhost/webgateway/table/123/obj_id_bitmask/?query=value<14
. Acol_name
parameter can also be passed if your object ID column name is not namedobject