Project-MONAI / Project-MONAI/MONAI

Save individual normalization modes (multi-channel) in Auto3dSeg's model config

Open
#7,583 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.7k
Forks
1.6k
Avg merge
5d 1h
Merged PRs (30d)
20

Description

Is your feature request related to a problem? Please describe.

I trained a model with the Auto3dSeg Autorunner and was trying to run inference using the SlicerMONAIAuto3DSeg extension (https://github.com/lassoan/SlicerMONAIAuto3DSeg).

modality: mri
extra_modalities: {image2 : none}    # a second modality is a label which should NOT be normalized

The model expects multiple input images (image1: mri, image2: label --> no normalization).

The following .yaml file is an example of the use of multiple input images for a model: https://github.com/Project-MONAI/tutorials/blob/main/auto3dseg/tasks/hecktor22/input.yaml

Currently, no matter how many input modalities (imageModality and extra_modalities) were provided, only a single value for normalize_mode is saved in the model's `config'.

Describe the solution you'd like

  1. When multiple input images were provided and the same normalization mode was used for all of them, then a single value fornormalize_mode is valid
  2. When multiple input images of different types/modalities were provided, then a list of normalization modes corresponding to the number of input images should be used for normalize_mode.

Additional context

https://github.com/lassoan/SlicerMONAIAuto3DSeg/issues/32
https://github.com/JolleyLab/Internal/issues/194

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Auto3dSeg Autorunner path that writes the model config and compare its handling with the tutorials' auto3dseg/tasks/hecktor22/input.yaml example. Trace how imageModality and extra_modalities become normalize_mode values. Done means identical modes remain a single value, while differing modes are saved in input order as a list, including an unnormalized label modality.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.