Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

Implement detection #6

Open
11 of 13 tasks
jonasteuwen opened this issue Oct 17, 2023 · 0 comments
Open
11 of 13 tasks

Implement detection #6

jonasteuwen opened this issue Oct 17, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@jonasteuwen
Copy link
Contributor

jonasteuwen commented Oct 17, 2023

Is your feature request related to a problem? Please describe.
Currently detection is not supported. Point annotations are a cheaper alternative to creating costly nuclei segmentation annotations and therefore a good alternative. However, some pre- and post-processing is necessary to make use of these point annotations.

Describe the solution you'd like
For the implementation of detection using point annotations, most functionality is already in ahcore. One common approach is to turn point annotations into segmentation masks and treat the problem as a segmentation problem. By post-processing the output of segmentation, point predictions can be extracted. The following features need to be implemented:

  • PointTarget object for varying number (of classes) of points per sample in a batch.
    • PointTarget object should hold coordinates, labels and optionally prediction confidences.
    • PointTarget object should be collateable in dataloader by padding.
  • PointTarget object compatible with Kornia augmentations.
  • Convert point annotations to segmentation masks (Requires upstream changes to DLUP for efficiency).
    • Labels with a fixed radius r.
    • Extend to Labels with other features.
  • Post-processing functionality to extract point positions from segmentation output.
  • Metrics for detection based on distance.
    • Match predictions and targets based on distance matching.
    • Confusion matrix based on TP, FP, (TN) and FN.
    • Classification metrics based on Confusion matrix.
  • Test detection functionalities and add detection example

Describe alternatives you've considered
N/A

Additional context
Might require upstream changes in ConvertAnnotationsToMask in dlup.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants