ImagingDataCommons / CloudSegmentator

Medical imaging segmentation workflows for FireCloud (Terra) and Seven Bridges Cancer Genomics Cloud
Apache License 2.0
3 stars 2 forks source link

Fix radiomics features units #34

Closed vkt1414 closed 10 months ago

vkt1414 commented 10 months ago

This PR addresses #33 and thanks for catching the error.

Summary: Added Hounsfield Unit as the unit for all intensity fields based on IBSI documentation.

Here was my understanding upon reading IBSI paper. https://pubs.rsna.org/doi/suppl/10.1148/radiol.2020191145/suppl_file/IBSI_Reference_Manual.pdf

We must use calibrated units for CT and for modalities like MRI we must use arbitrary units a/c below paragraph from IBSI. Examples of calibrated units were Hounsfield for CT and SUV for PET

image

That means we must use Intensity-based statistical features to encode all intensity-based radiomics features for modalities like CT and Intensity histogram features for modalities like MRI.

image

However, there are two features that pyradomics refers to Intensity histogram features by default,

image image

For units, this was my thought process, Wherever Xgl is present, I assumed the unit will be Hounsfield Unit and X^2 will be square Hounsfield Unit. While I could find Hounsfield Unit as [hnsf'U], I presumed, square Hounsfield Unit as [hnsf'U]2 but we may need to confirm it with D.Clunie.

image

It would be great to have a second set of eyes to confirm that the units are correct, as this seems to be vulnerable to errors.

vkt1414 commented 10 months ago

Just one small fix is needed, unless I messed it up - looks good otherwise!

Thank you! I corrected the units now.

fedorov commented 10 months ago

To follow up on the above, it seems that pyradiomics will always calculate statistical minimum/maximum (see https://github.com/AIM-Harvard/pyradiomics/blob/master/radiomics/firstorder.py#L71-L95), without binning. Which means we should use IBSI code 1GSF (see below).

image

However, the standard appears to only contain codes for discretized intensity 1PR8:

image

See in part 16: https://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_cid_7478.html.

@dclunie why is the first type of intensity feature with code 1GSF is not included in the standard?

fedorov commented 9 months ago

@vkt1414 we discussed the above with @dclunie and confirmed we should use the appropriate code from IBSI even if it is not included in the standard. David will amend the standard to include missing codes.

fedorov commented 9 months ago

@dclunie to follow up on what you said: what are the DICOM means to know the input units of pixel intensity other than Modality for CT?

fedorov commented 9 months ago

Per discussion, for now we will abort the workflow if the input is not CT, but for the reference, here are some comments from @dclunie:

DICOM CT images are HU unless otherwise specified:

https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.8.2.html#para_ac9aacea-a51a-40d4-8398-77d8b09cfd9a

and for multi-energy CT it has become complicated:

https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.11.html#sect_C.11.1.1.2

There is also PET, which has an attribute called Units:

https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.8.9.html#sect_C.8.9.1.1.3