How to match two dose distributions (TPS and Monte Carlo results) and CT images automatically (editing metadata tags)?

Hi Dears 3DSlicer developers and users

My ultimate goal is to perform the Gamma analysis between two absorbed dose distributions using “Dose Comparison” module. These are the absorbed dose distributions obtained from calculations in the Monte Carlo simulation (PRIMO code, in text format) and Treatment Planning System (ISOgray in DICOM RT-Dose format).

It should be noted that the output file (absorbed dose distribution) of PRIMO code is in Text format. At firstly, it is converted to the Volume node using Python Interactor and then the Dose Volume node .

The specifics of these data are as follows.


Image Dimensions: 512 x 512 x 89

Image Spacing: 0.962891mm x 0.962891mm x 5.000000mm

dose TPS:

Image Dimensions: 62 x 46 x 88

Image Spacing: 5mm x 5mm x 5mm

dose PRIMO:

Image Dimensions: 256 x 256 x 89

Image Spacing: 1.925782mm x 1.925782mm x 5.000000mm

The following figure is a demonstration of the current situation.

In the first step, I want to match the two absorbed dose distributions and CT images with together. After doing it, I want to normalize them.

I do not want to use manual transform methods to do this (this method is subjective).

I noticed in the following link that this may be possible to do matching (2 dose distribution and CT images) through editing metadata tags.

Title: VTK - Users - Matching CT and RT dose coordinates

As mentioned Scott Johnson in this link that “If the FrameOfReferenceUIDs of the CT and the RT dose are the same, they both exist in the same coordinate system, if they don’t, you will have to register the dose to the CT somehow”, Is this my understanding right?
I think this is possible because as shown in the figure above, the images are physically the same size.
In the other words, is it possible to match two absorbed dose distributions through the Metadata tags?


Can I match this data (Dose volume node of the PRIMO absorbed dose distribution) by Export to DICOM… (in 3DSlicer) and then adding some tags (such as FrameOfReferenceUID) to DICOM files with software such as DVTK or DicomBrowser and finally loading it with DICOM Browser module in 3DSlicer?

I am waiting for your guidance.
Please guide me.

I don’t think you should manually register the dose volumes. It would not make sense, since this would not be an option if you computed the dose for a patient CT either.

Computed dose volumes must be spatially aligned with the CT volumes (therefore with each other, if you use the same CT) without any registration. If they don’t then it is a software bug that must be fixed.