Quantitative features with HeterogeneityCad

@ShivR I assume you are talking about this video.

That is correct. The surface rendering is purely for the visualization purposes. In fact, you don’t need it for any of the radiomics features, not just 1st and 2nd order featurs.

You can also easily toggle visibility of a segment in 3d viewer from the Segment Editor interface, it is generated automatically.

@JoostJM
cc @jayender, @Federeov ,@lassoan,@pieper
Thank You very much for Your observations, If it is possible I’d like to know when the small bugs will be fixed in radiomics for 3d Slicer, because I’like to re-run Radiomics in 3dSlicer on our lung cancer patients.
3DSlicer is one of the Best enviroments tools for many applications in clinical research.

I hope to do some check too.
Yes, in 3d Slicer, “Surface area” using HeterogeneityCad is only a little larger than in Radiomic, (Volume is always perfect equal) but the difference in “Autocorelation” and “Entropy” between HeterogeneityCad and Radiomics are more important, always many orders of magnitude. I think there is other software bugs in heterogeneityCAD for 3dSlicer. I think It is necessary to make correction if these features remain in 3dSlicer. “Autocorrelation” must be less than 1 and Entropy of a perfect mono-intesity homogenus ROI must be 0. In HeterogenityCAD some features are Ok. But many other features are not ok in important way, not only for smal errors in surface calculation and canals setting. It is necessary to make a detailed check and put warning for users.
Also I’d like to re-rerun heterogenityCad on our patients when these bugs on heterogenityCad will be fixed.

@fedorov,
Andrey
Using Radiomics in 3dSlicer, I met a problem with a DICOM CT Volume. Using the same DICOM CT Volume, with HeterogeneityCAD, I was able to calulate the featuers on a label ROI Lesion. I cannot do the same with Radiomics.
(I was able to do the kind of calculations with Radiomics and HeterogenityCAD for more than other 10 Patients).
In this particular case, the calculation of radiomic don’t begin and compare only the name of some fields on the output-table. I have signed the logfile in the radiomic menu, but I cannot find the log file in the directory of the computer.
In which directory of 3dSlicer can I find this file?
The problem is not on the lesion Label (It work in other CT volume with medium contrast), but just the dicom File. I tryed to use dicom filter, trying to limity the Hounsfield Unit or to crop the CT volume near the lesion, but it doesn’t work.
So I’d like to see the logfile of radiomics to try to understand what happened.
Matteo

Thank you Andrey @fedorov for all your help. I’m just about to start taking the data for my study, but I wanted to check in before I start to make sure my data is accurate! In order to get the 1st and 2nd order features of my roi, I have to paint the roi in segment editor with the paint feature, as shown in the attached image (node on the right side of the image). Then, I can check off the radiomic features I want in the radiomics extension and apply them. Is that correct?

Also, I am making the assumption that the features will be incorrect if I accidentally paint outside the lines of my roi (say, my roi is the node and I accidentally paint a little into the the black space of the lungs or outside the node). Therefore, to avoid accidentally including unwanted elements inside my segment, is it ok to only paint a part of my roi. For example, if my roi is the whole node, will the features still be correct if I only paint a small circle inside the node instead of painting the whole node.

Radiomics module logging is added to the Slicer log. You can find the log in the “Help > Report a bug” menu.

Yes

“Correctness” can only be applied to how error-free implementation of the feature calculation is. Correctness of the feature calculation is not affected by the ROI you pass. If the implementation is correct, it will calculate the numbers for any ROI.

A different question is how ROI definition affects your features. Even though they may be correct, you may be getting feature values that are drastically different depending on your ROI definition. You should conduct some experiments to evaluate consistency of the feature calculation as a function of your ROI to understand this better. You may also find this article helpful: http://www.spl.harvard.edu/publications/item/view/2504. Yet another issue is whether these features will be able to answer the clinical question you are investigating. Implementation may be correct, and the features may be very stable with varying ROI, but they may not be helpful at all in predicting patient survival, for example. You should experiment and read existing publications on the subject.

Thank you so much for your help!

Hi everyone!!!
Talking about Radiomics in 3D slicer… has anyone use it for MR images analysis?
How can I get the normalization of the signal intensity normalization?
I don’t found specific instructions about it.
Help me please!!!

Miky

PyRadiomics is a python package for extraction radiomics features, which also has a slicer extension (SlicerRadiomics). Check out the PyRadiomics documentation here
or post a question on google groups forum.

Hello, everyone,

this discussion deals with a problem that we also stumbled upon during an evaluation: HeterogeneityCAD and pyradiomics provide different results. We are only interested in firstorder statistics, in particular entropy and uniformity.

Probably the setting are a (partial) explanation for this, as stated in the post of @jayender (discrete intensity levels, discretization bin width, normalization constants).

What we would like to try now is to configure pyradiomics like HeterogeneityCAD (mainly the bin width). Only: We don’t find the parameters. A search in the source code didn’t lead - at least for us - to the goal… Maybe you can help us @lassoan @JoostJM

@mtamponi What is your opinion? Can we use the results from HeterogenityCAD? Should we at least omit entropy?

Thank you very much in advance!

Hi @apaw,

In SlicerRadiomics, there are currently 2 ways of configuring the extraction; Manually and through a parameter file. Manual configuration offers a limited set of the possible settings, but all configuration possible in PyRadiomics is also exposed in SlicerRadiomics when you use the parameter file.

An exhaustive list of all possible settings is available in the PyRadiomics documentation, found here, and examples of parameter files can be found on the github of PyRadiomics here.

As to differences between HeterogeneityCAD and PyRadiomics, these are partly explained in this and this comment, though additional changes in PyRadiomics changed the output of shape features, and SlicerRadiomics now uses the latest version of PyRadiomics (the bug in GLCM mentioned earlier has now also been fixed for the PyRadiomics used in Slicer).

I’m currently not really up to date on discretization settings in HeterogeneityCAD, but if it’s using a fixed bin count, you can use this by specifying it in the parameter file (not available in Manual customization). Still, we do not advise using a fixed bin count, as then the ‘meaning’ of the discretized gray values becomes dependent on the range found in the ROI, which differs between cases. For a more detailed answer, see here.

I took a quick look at the source code of HeterogeneityCAD and as far as I can see now is that it uses a fixed bin width of 1.

However, there also appears to be an issue with calculation of entropy and uniformity.
This relies on bins calculated here, which represent the frequencies, not the probability of gray values. These get passed to firstorder calculation here, and are used, unaltered, for Entropy and Uniformity calculation. However, these formulas assume probabilities, not frequencies and therefore don’t result in the expected values.

In PyRadiomics, this is prevented by dividing the frequencies in each bin by the sum of frequencies here, resulting in p_i representing the probability of gray values, rather than the frequency of gray values.

Of course, it’s possible I’m misreading something here, so I’ll differ to @jayender for the final verdict.

1 Like

Dear @JoostJM,

many thanks for the fast and profound feedback.

On the one hand it frustrates us because the results with HeterogeneityCAD were very good, on the other hand it reassures us because we now have certainty that there was actually something wrong with the calculation of the parameters.