Open wyli opened 2 years ago
I have been thinking about this issue these days and would like to drop my thoughts here @wyli :
The usage can be:
Compose
which takes Analyzer
transforms.Transforms
in another Compose
which includes LoadImage
and other pre-processing transformsget_outlier
function which takes certain metric name to run analysis, and outputs outlier filenames, or slice# that help user to locate the outlierUser experience that may be interesting but also takes more hours to work on:
Analyzer
generate standard texts and insert figures in the report. This may be useful for publication. For example, if a research paper is using private clinical dataset, they can put such report as supplemental materials. So the readers can understand the nature of the datasets.To support the user experience and the functional requirements, we need to apply existing or create new outlier detection underlying methods. We have the following methods but can also add methods from other libraries such as skicit-learn:
agreed, the detector API could be built to support customized detections such as simple rule-based classification (e.g. metadata field regular expression match), or based on some learned models? cc @diazandr3s who is recently working on dicom series selections
This is a good discussion. I'm currently using the series selector from MONAI Deploy: https://github.com/Project-MONAI/monai-deploy-app-sdk/blob/main/monai/deploy/operators/dicom_series_selector_operator.py It uses the DICOM tags and regular expressions. We could think of combining a basic heuristic algo along with computer vision models. Happy to brainstorm :)
as discussed, would be great to add some capability of detecting obvious outliners to
DataAnalyzer
https://github.com/Project-MONAI/MONAI/blob/70c0443a703a8e5f9930d7b677d14425378b9226/monai/apps/auto3dseg/data_analyzer.py#L57-L64cc @mingxin-zheng
(https://github.com/Project-MONAI/MONAI/discussions/5167)