Radiomics in dicom and nrrd

Hi,

I am doing a small radiomics study on clinical patients. The way I did it is imported dicom via “Load Data” in 3d Slicer and then saved the volume and segmentation as nrrd files. After that I did a batch processing. So I compared the feature values with Load dicom and then extracted features directly from Slicer 3D. Some of the features are quite different (even doubling the values), I tried then importing to nrrd again and using python script to extract features it is again different from one from 3D slicer. So the feature values depend on which format I used to extract from? which one is the correct way, is it because some infomration is lost in converting to nrrd format?

best
Tenzin

I mean majority sample cases are same but one or two comes of with different feature values (one or two patients).

If you went covert the DICOM. I thinke the best way is using the DICOM module to load the DICOM datas and then save as a NRRD files

As you can see from radiomics questions posted on this forum, there are radiomics features that tend to be very sensitive to how exactly they are computed. If you want to use these sensitive features then you need to get to know them very well, understand what parameters are needed to compute them, make a decision on how to determine those parameters, and ensure that you consistently follow your established rules.

If you give more specific information then (which features you have the problem with, what values do you get, on what images, etc.) then you may be able to get more specific help.

1 Like

In addition to @lassoan’s great points, I’d like to point out that both PyRadiomics batch processing, as it’s implementation in Slicer includes a load of diagnostic features as part of the standard output. These include information both on the exact input used, as well as software versions and the configuration used in the extraction. It’s therefore is a great place to start to investigate any differences.

If you want more in-depth info on the extraction process itself, carefully read the (extensive) documentation, and extract using logging (potentially on DEBUG level).

1 Like