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

Missing output channel description for instance segmentation #621

Open
danifranco opened this issue Aug 12, 2024 · 1 comment
Open

Missing output channel description for instance segmentation #621

danifranco opened this issue Aug 12, 2024 · 1 comment

Comments

@danifranco
Copy link

Hello,

Currently, instance segmentation models ouput various channels to be used to reconstruct the final instances. As this post-processing part needs to be done by the consumer software, as currently no post-processing is provided with the models, we need to know where to place/read what is representing each channel. This information is crucial in order to create the final instances afterwards using a post-processing such as marker controlled watershed, multicut, agglomeration etc. For example: foreground + contour, foreground + contour + distances etc.

We can use the name convention we are following in BiaPy, but it can be other (we just need to stablish one). Somewhere in the model description the following information should be contained:

  • Type of method, e.g., "bottom-up" or "top-down"
  • For the "bottom-up" approaches, each channel representation: "BC", "BCD", "C", "D" ...

Where each letter corresponds to a channel and where the order matches model's output. In BiaPy we are currently using these ones:

  • 'B' stands for 'Binary segmentation', containing each instance region without the contour.
  • 'C' stands for 'Contour', containing each instance contour.
  • 'D' stands for 'Distance', each pixel containing the distance of it to the instance contour.
  • 'M' stands for 'Mask', contains the B and the C channels, i.e. the foreground mask. Is simply achieved by binarizing input instance masks.
  • 'Dv2' stands for 'Distance V2', which is an updated version of D channel calculating background distance as well.
  • 'P' stands for 'Points' and contains the central points of an instance (as in Detection workflow)
  • 'A' stands for 'Affinities" and contains the affinity values for each dimension.
@FynnBe
Copy link
Member

FynnBe commented Nov 13, 2024

relates to #530

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants