Skip to content

Define categories for the MONAI bundle properties #7904

@Nic-Ma

Description

@Nic-Ma

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:

  1. Referring to the existing property list, MONAI Label, MONAI Deploy, NVFlare and even other apps define its own required properties in its repo.
  2. We maintain a small mapping list in the model-zoo repo:
    [
        "monai-label": {"0.4": "<URL to the properties>", "0.5": "URL to the properties"},
        "monai-deploy": {...},
        "nvflare": {...},
        "other-app": {...}
    ]
  3. 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"]
  4. The CICD of MONAI model-zoo repo can check the declared properties and we can also try to show the supported apps as labels in the bundle list.

@ericspod @KumoLiu welcome your discussion here.

Thanks.

Metadata

Metadata

Labels

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions