-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Description Hi, thanks for providing this great framework!
I was reviewing the dataset conversion script for AutoPET II (nnunetv2/dataset_conversion/Dataset221_AutoPETII_2023.py) and noticed something that I would like to clarify regarding the normalization strategy.
In the script, the PET channel (index 1) is labeled as "CT" when generating the dataset json:
Python
nnunetv2/dataset_conversion/Dataset221_AutoPETII_2023.py
generate_dataset_json(out_base, {0: "CT", 1:"CT"}, ...) # Index 1 is PET (SUV), but labeled as CT
My Question Based on my understanding of nnU-Net's preprocessing logic, labeling a channel as "CT" triggers CTNormalization, which clips intensity values to the [0.5, 99.5] percentiles.
I am wondering if this behavior is intended for PET images? My concern is that high SUV values (which are crucial for tumor detection) might fall into the top 0.5% and get clipped by the CTNormalization scheme, potentially losing important signal.
Clarification Should this channel be labeled as "PET" (or another non-CT name) to use ZScoreNormalization without clipping, or is there a specific reason to use CTNormalization for this dataset?
Thanks for your help!