Project-MONAI / Project-MONAI/MONAI
Define categories for the MONAI bundle properties
@yiheng-wang-nv is already working on this.
Since Jul 8, 2024.
- Dominant language
- Python
- Stars
- 8.7k
- Forks
- 1.6k
- Avg merge
- 5d 1h
- Merged PRs (30d)
- 20
Description
Hi All,
Currently, we defined all the required bundle properties in 1 file: https://github.com/Project-MONAI/MONAI/blob/dev/monai/bundle/properties.py, which were collected from our MONAI Label, MONAI deploy, NVFlare projects.
But actually, it may not be necessary to require every bundle to provide all these properties. I would like to define different property categories for different applications, then the bundle developer can declare the supported applications in the metadata.json. It can help reduce the development effort and limitation for a bundle, and provide more flexibility.
Detailed implementation steps:
- Referring to the existing property list, MONAI Label, MONAI Deploy, NVFlare and even other apps define its own required properties in its repo.
- We maintain a small mapping list in the
model-zoorepo:[ "monai-label": {"0.4": "<URL to the properties>", "0.5": "URL to the properties"}, "monai-deploy": {...}, "nvflare": {...}, "other-app": {...} ] - A bundle developer decides which apps he wants to support for this bundle, then list the apps name in the
metadata.json, for example:
"supported_apps": ["monai-label", "nvflare"] - The CICD of MONAI model-zoo repo can check the declared properties and we can also try to show the supported apps as
labelsin the bundle list.
@ericspod @KumoLiu welcome your discussion here.
Thanks.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.