Registration of 2 RT Dose from TPS and Monte Carlo code

Slicer version:4.10.1
Hi 3D Slicer experts and all
I want to compare two RT Dose which are obtained the first from Treatment Planning System(TPS) and the second from Monte Carlo code (Primo software) , by using the Dose Comparison module in 3D Slicer.the Primo software inputs are CT image, RT Structure, RT Plan and its output is RT Dose. this output is a text file and we converted it to a Dose volume by using the command in the following figure. as shown in figure b ,when the primo RT Dose is imported to slicer, the size of cube in 3D view is changed and these RT Doses(from TPS and Primo) don’t match together.
1- how can I register these RT Doses together automatically ?
2-Although the CT image and RT Dose which are exported from TPS have different dimensions(CT Dimensions:512,512,89 and rt dose:62,46,88), what is the basis of 3D slicer to match them together? in the other words,is there a specific reference to match them together? and if yes, what is this reference?
thanks a lot


You don’t need to register the dose volumes, just read image origin, spacing, and axis directions from the computed dose file and set it in the volume node.

Evaluated dose volume is resampled to the reference dose volume’s grid.

Hi 3D Slicer exerts and all
Thank you very much for your guidance. I could match these RT Doses, by using the volumes and Transforms modules. But the max values for the Primo dose is acquired 293! in volumes module( TPS RT Dose is the reference volume) ; while these values was 2, before matching two RT Dose. why this value is changed and How can I convert it into 2?
Thanks a lot

In DICOM the dose values are stored as integer and there is a scaling factor in the header that needs to be applied (done here when loading RTDOSE). Maybe there’s something similar with your Primo volumes?

aseman, can you state your question more clearly? Are you saying that the maximum value changed when you used the transform module? Please describe what you did in a step-by-step manner.

Sorry for the delay in responding. As I said before, the Primo output ia a text file that we converted to nrrd format by using the above commands. Then , with the sample filters module(Add image filter) , we combined three of these outputs, and after that averaged them by using Shift Scale image filter. then we set the values of image spacing and image origin for primo dose with the TPS Dose , by using the Volumes module. As shown in figure C , initially the min and max values for this volume are 0 and 2.95 (and not 2), respectively. After that we used the Transforms module to change the axis directions in this module. the following steps were performed respectively:
1: Active Transform : Create new transform
2- Transform matrix: editing the matrix to [-1 0 0 ; 0 -1 0 ; 0 0 1] instead of [1 0 0 ; 0 1 0 ; 0 0 1]
3-the primo dose was selected in Transformed node
4-Reference volume: TPS Dose
5- output volume: create new volume
6- Apply
as shows the figure D , the max and min values after transformation are 293 and -317! can you help me about this problem?
Thanks a lot

The volumes in C and D are apparently not the untransformed and transformed versions of the same volume, because basic volume information are different. Just look at number of scalars, scalar type, file name… Other volume information are not included in the screenshot, so it doesn’t show if it’s the same node or not. You must have done something between the C and D states that are more than simple geometric alignment.

Somehow you seem to have cropped the image. Look at your “Image Dimensions”.

Hi 3D Slicer experts and all
I’m sorry for my very long delay in replying. As said to me in the first guidance, my goal was to set the Image Spacing, origin and axis directions between the Primo and TPS RT Dose. As mentioned above, I used Volumes and Transforms modules. After Transformation, in addition to the Spacing, Origin and axis directions, the image Dimensions of Primo dose changed to the TPS RT Dose dimensions(figure E)), that resulted in the unacceptable max and min values for Primo dose. ( in Transforms module, the TPS RT Dose was selected as Reference volume). How can I set these parameters without changing in the max and min values of Primo Dose?
Thanks a lot


If you don’t want voxel values to be changed at all then you can resample using “Resample Scalar/Vector/DWI volume” module with nearest neighbor (nn) interpolation mode.