Add instance segmentation mask support#541
Add instance segmentation mask support#541aranega wants to merge 34 commits intochanzuckerberg:mainfrom
Conversation
InstanceSegmentationMask
…ackend into feature/CC-429
…ackend into feature/CC-429
this was causing all data to be one singular label
…ackend into feature/CC-429
|
@aranega the test coverage here looks good and comprehensive to me and follows the existing pattern 🚀 |
…ackend into feature/CC-429
There was a problem hiding this comment.
@uermel I've gone ahead and resolved merge conflict issues and opened a PR (#602) with those fixes (I can't actually resolve merge conflicts on this branch since I have no write permissions), not sure if MetaCell is still working on this, if not, I'm happy to carry this to the finish line; if MetaCell is still working on this, I can move my comments from the #602 PR here and also PR my changes into the MetaCell branch. The largest issue I see is no source/standardized/shared S3 validation of the instance segmentation mask files. If this out of scope of the PR, happy to re-review and approve. I also have left more detailed comments in the PR at #602. Thanks!
Relates to
Description
This PR introduces the notion of
InstanceSegmentationMaskfor the DB ingestion. We followed the recommendation and steps listed in this link.The following screenshot and JSON fragment shows the resulting instance segmentation mask included in neuroglancer, and the related state configuration.
{ "layers": { "type": "segmentation", "source": { "url": "precomputed://http://localhost:9000/10442/24aug01b_Position_33_5/Reconstructions/VoxelSpacing5.006/NeuroglancerPrecompute/100-intracellular_anatomical_structure-1.0_instancesegmentationmask", "transform": { "outputDimensions": { "x": [ 5.006e-10, "m" ], "y": [ 5.006e-10, "m" ], "z": [ 5.006e-10, "m" ] }, "inputDimensions": { "x": [ 5.006e-10, "m" ], "y": [ 5.006e-10, "m" ], "z": [ 5.006e-10, "m" ] } }, "subsources": { "default": true, "mesh": true }, "enableDefaultSubsources": false }, "pick": false, "tab": "rendering", "selectedAlpha": 1, "hoverHighlight": false, "meshRenderScale": 2, "segments": [ "1", "2", "3", "4", "5" ], "segmentColors": { "1": "#ff00ff", "2": "#800000", "3": "#1063ff", "4": "#f7bb01", "5": "#36fad8" }, "name": "100 intracellular anatomical structure instancesegmentation" } }Note
As note/question, we unsure about the tests we introduced for the db-ingestion. We followed the same pattern than the one for annotations in general we modified:
foo-1.0.jsonfor30001/RUN1to introduce new files;conftest.pyto align thefile_sizewith the new size offoo-1.0.json;test_db_annotation.pyto add the injected files as part of the assertions.The tests are passing, but we are not sure if we need to tests the db-import differently or add something else.