DICOM and hounsfield unit ranges

Dear FLUKA experts,

I am starting a study on evaluating doses received by organs at risk during radiotherapy. I have multiple CT images that describe the patient’s anatomy, along with associated RTstruct, RTplan, and RTdose files. I have loaded the CT images into FLAIR using the DICOM capability, but I have encountered a problem with the first step related to Hounsfield units. I am aware that I need to extract these values from my CT images and upload them in the body.mat file, which can now be directly implemented in the new version of FLAIR. I used 3D Slicer and obtained ranges of Hounsfield units for my regions of interest (ROIs), but I am confused about how to implement them since the manual states that the ranges have to be consecutive. Here are the ranges I obtained from 3D Slicer, and I would appreciate your assistance in understanding how to proceed:

the ranges of Hu are provided in the excel file
Ranges of Hus for each ROI

Thank you for your help

Hi @ibtissam.zidouh
The organs at risk (OAR) and the other region of interest (ROIs) are independent from the Hounsfield units. They represent a group of “voxels” in a certain location of space and there is no need to be consecutive in hounsfield units.

They are typically described in the DICOM RTSTRUCT modality. You need this extra dicom file and import it in flair to generate a voxel file that will embded the ROIs and OARs.

WIth this additional information flair can generate the DVH

Dear @vasilis

Thank you so much for the clarification. I got confused when I read in many posts that the body.mat file was just an example. Therefore, I thought that the modifications that had to be added should include the addition of HU range values for ROIs. As for the missing tissue materials in the FLAIR RTstruct modality, I noticed that many tissue materials are already defined. However, I am unsure how to define the missing ones. Should I define the MATERIAL & COMPOUND corresponding to a tissue in the corresponding input, or is there another way?
Additionally, I have some ROIs that contain two or more tissues, apparently defined to target tumors. Should I define them, or could I just skip these ROIs when defining the phantom? If it’s necessary to include all ROIs in the phantom definition, how should I define the corresponding material?

Thank you for the additional clarification, and I apologize for my late reply

For the generation of the voxel, flair is using the materials defined in its internal material database. To add extra materials for the HU → material conversion, you can do it in the material page.

Then you need to load the example body.mat or head.mat and introduce your material corresponding to the specific HU range that it should be applied

Thank you for your previous responses.
I have another question regarding the construction of the phantom. Is it necessary to include all ROIs in the RTstruct modality definition to construct the phantom, or is it possible to skip some if they are not relevant to my study or are too complex to include? I want to ensure that my phantom is appropriate for my purposes.
Any advice on this would be appreciated.


If you use your CT to create a voxel (with body.mat that provides a mapping of HU to the tissue material), it is not necessary to have all ROI defined in the RTSTRUCT.
Within the voxel (even made from only CT - without RTSTRUCT), you shall have a proper definition of body tissues in your phantom.
In addition to that, you can of course overwrite material in ROI structures, which need to be specified in the RTSTRUCT. All this depends on your specific needs. For example, if you have a delineated metal implant (ROI_implant), CT typically shows ‘wronged’ HU’s in this region, therefore during the creation of the voxel it will also assign a wrong material. Therefore you will need to overwrite this wrong material for this specific ROI_implant and assign a respective metal implant composition. You can do it as well for other ROIs, if you want to be more detailed within your phantom.
Finally, RTSTRUCT is useful if you want to create DVH or do ROI-specific dose scoring.

1 Like

Dear @wkozlows,

Thank you so much for your detailed explanation. Thanks to you and @vasilis, I have successfully built the voxel file. However, I am now struggling with the source definition since the RTplan I am using deals with a Photon beam,. I have found some discussions on the forum that address this point, but I am still confused. After creating the BEAMSPOT, BEAMPOS, and BEAMDIR cards, going to the RTplan modality, and clicking on ‘create’, I received an error message (see the picture “error”). Could you please take a look at the source definition (SRC_photon) and help me fix the issue?

The second point I need help with is regarding the USRBIN definition. I am aiming to get results from it and compare it to DVH (using the urbin2rtdose). I defined the card, but when I started the run, it ended after a few cycles with the message “Finished with error.” Perhaps it is related to the source definition.
Thank you for your patience while I worked on this. I greatly appreciate your promptness in helping me resolve these issues.



Hi @ibtissam.zidouh

As @vasilis stated here RTPlan can not be recognized - #4 by vasilis RTPLAN was originally created to support proton/light-ion plans.
Therefore exporting photons plans (from DICOM RTPLAN) is currently under development.

Hello @wkozlows
Thank you for your response. I am still confused about how to construct the Photon source using the BEAMSPOT and preprocessors. However, I believe that the main issue of this conversation has been resolved. Therefore, I plan to close this conversation and open a new one specifically addressing the remaining issue.