Normalization strives to remove systematic differences between images that are due to differences in acquisition and therefore represent noise that can suppress any signal in your data.
For example, if 1 scanner stores it’s values with 10x than another scanner, your model will most likely reflect which scanner acquired the image, and not any true differences in texture, etc.
For CT this is generally less of a problem and normalization may be switched off, as the values are linked to an absolute value (Hounsfield Units reflecting density/atomic number of the tissue at that specific voxel). However, MR uses a relative intensity, so the value in itself doesn’t really mean anything, just in relation to other values. Therefore there is no ‘standard’ value to compare against.
Normalization in PyRadiomics is fairly simple, and better methods probably exist, but are outside the scope of the PyRadiomics project. In short, PyRadiomics assumes that your input images reflect more or less the same area in your patients and should therefore have a comparable range of intensity values. This is then enforced to be so by subtracting the mean and dividing by the standard deviation (meaning the mean and standard deviation afterwards will be 0 and 1, respectively, though the latter can be scaled by
Any differnces between ROIs should be retained as often, the ROI represents just a very small area of the image and should not have a large influence on the overall mean and standard deviation.