After I have cropped images to their tumour masks, I am aiming to:
- Resize all images to a specific image resolution
- Normalize image intensities
- Discretize images (Binning)
However, I do not know what is the correct order or, simply, what is the order that pyRadiomics applies when all these steps are implicitly “required” through specification of their settings in the parameter file.
Thank you in advance for your time!
The order forced in PyRadiomics is:
- Normalization (using Z-score)
- Resampling the spacing (resolution)
- Discretizing the gray values (only when calculating texture features and firstorder Uniformity and Entropy)
Thank you for your reply @JoostJM; Why should one normalize before resampling? What is the rationale behind it? I would like to hear your opinion on this, as I am not sure which order should be best, I’ve read that resampling should be first. Thank you!
Normalization is applied to reduce systemic differences between different vendors. In short, to increase the repeatability of features and make them more robust against variations due to image acquistion. We do this before resampling, as resampling also partially crops the image around the mask (much more computationally efficient, especially in large images with small masks). normalizing the cropped area makes the normalization dependent on the location and size of the mask, introducing unwanted noise. Therefore we normalize before resampling.
I’m not entirely sure what the rationale would be for normalizing after resampling, other than that it would entail images of the same pixel spacing and therefore more comparable. IMHO that difference is less than the difference introduced due to cropping.