MONAI icon indicating copy to clipboard operation
MONAI copied to clipboard

Add Post-processing Transforms in MONAI for Nuclei Prediction

Open KumoLiu opened this issue 2 years ago • 2 comments

Description It is an overall PR created to track the progress of adding post-processing transforms in MONAI.

Describe the solution you'd like Several post-processing transforms need to be added to MONAI which I simply divided into two categories.

  • Common transforms which can be integrated into MONAI core
  • HoVerNet-specific transforms which can be integrated into apps/pathology/transforms

Tasks

Common transforms:

  • [x] Get a bounding box BoundingRect
  • [x] Remove small objects RemoveSmallObjects
  • [x] Get Sobel kernel #5015
  • [ ] Process NP branch output(an output branch in HoVerNet) which turns the probability map from the network into the instance segmentation result #5173
  • [ ] Calculate the distance from a sequence of coordinates that describes a boundary between foreground and background #4181

HoVerNet-specific transforms:

  • [ ] #5178
  • [x] #5179
  • [ ] #5180

Additional context There is already a draft implementation in the tutorial repo refer to https://github.com/Project-MONAI/tutorials/pull/890. Related PR: https://github.com/Project-MONAI/MONAI/issues/4181 Related Issues: https://github.com/Project-MONAI/MONAI/issues/4180

cc @wyli @Nic-Ma @drbeh @JHancox @shaneahmed

KumoLiu avatar Sep 07 '22 10:09 KumoLiu

I think @drbeh may have already tackled the last Common Transform ("Calculate the distance from sequence...")

The first 2 HNet-specific Transforms are to do with representing contours. There may be a different representation that we would prefer to adopt. This one just provides compatibility with the existing OpenCV-based outputs (which are better, IMHO, than SciPy's)

JHancox avatar Sep 07 '22 11:09 JHancox

Hi @KumoLiu, I think we will need to discuss on how to take this forward. i.e., which of the post processing algorithms to be made part of MONAI. As most of the post-processing algorithms are available in libraries like scikit-learn/image e.g., peak detection, distance transform etc. If there is GPU optimization then probably it should be part of MONAI. One of these as @JHancox mentioned is to generate contours from segmentation masks which can be optimized.

shaneahmed avatar Sep 08 '22 08:09 shaneahmed

I'm closing as all the post-processing added. Optimizing the efficiency of these transforms are very important and should be planned for the future releases.

drbeh avatar Dec 12 '22 15:12 drbeh