alibaba-damo-academy / self-supervised-anatomical-embedding-v2

MIT License
50 stars 4 forks source link

Image Intensity Rescaling in Preprocessing #8

Open MAeolus opened 1 week ago

MAeolus commented 1 week ago

Thanks for your brilliant work! I have some questions about the implementation.

According to the configuration files and preprocessing code, the input image intensity is rescaled to the range (0, 255) with an additional bias of 50. dict(type='RescaleIntensity', out_min_max=(0, 255), in_min_max=(0, 1), bias=50), This can be observed in different experiments settings, for example, samv2_ct_mri_intra.py and samv2_ct_mri_inter.py.

I would like to confirm if this rescaling and bias are intentional design choices and why this approach is applied instead of simply normalizing the intensity to (0, 1). Additionally, I would like to know if the released pretrained models were trained using this setting?

2.

The paper does not specify which embedding was used in each experiment. Were all the results obtained by calculating the similarity score matrices separately for the three embeddings—fine appearance, coarse appearance, and semantic—and then averaging them?

Appreciate your response.

aa1234241 commented 1 week ago

Hello, thanks for your interest.

R1: I first rescale the intensity to the range [0, 1] because the augmentations, such as RandomNoise3d and RandomBlur3d, require inputs within this range. Afterward, I rescale back to [0, 255], as the pretrained ResNet-18 model I use expects this setting. Removing this second rescaling step also works, but the pretrained models typically operate with this additional rescaling. R2:get_sim_embed_semantic_loc Yes, I first calculate the similarity map for each embedding, then interpolate the three similarity maps into the same size and find the maximum value location.