Problem With DVH Calculation

Hi Dear 3DSlicerc Developer and User

I want to re-calculate DVH for TPS Plan with 3D Slicer.
I export CT, RTDose and RTStruct from ISOgray TPS and use them as input files for 3D Slicer for DVH calculation.
Based on the software, it should not be hard but when I calculate it I encounter a strange problem…
The 3DSlicer DVH has the same shape in contrast with TPS DVH but the dose per volume are not the same.
for example: I have 41 cGy for 95% of volume in TPS but 3D Slicer show 35.0 for the same volume!!!
I attached both DVH to the message to make it more clear.

I wonder if someone encounter to such problem before?
I will be thankful if someone have suggestion for me…

Best RegardsIMG_56621 Screenshot%20from%202018-10-29%2014-56-55

Can you please try with 4.10? A few DVH-related fixes have been made since 4.8.1.

@cpinter I’m wondering what oversampling factor would be used for the CTV. The data set looks very unusual in that the whole upper body is imaged and contoured - maybe the huge region of interest causes DVH computation to be performed at relatively low resolution?

The oversampling factor is a constant 2 by default, so the resolution should be fine.

I suspect that dose gradient is high at the CTV surface, therefore minor numerical differences in how a 3D region-of-interest is computed from planar contours and how that region is used for integrating dose values can cause significant difference in the DVH.

When comparing DVHs, both volume and dose differences must be considered (see dose comparison module in Slicer). 41cGy volume computed by Slicer/ISOgray differs by approximately 5%. This value is not small, but may be inevitable in case of an ill-conditioned problem. It would be interesting to test this data set in a few other RT planning software to see how much the CTV’s DVH varies.

@cpinter At some point, we added heuristics to not oversample large structures. Maybe the CTV (it seems to be the entire breast) exceeds the size limit?

@MeryMB What is the volume spacing of the CT volume and the dose volume? (you can find the values in Volumes module / Volume information section). Could you please also post a screenshot with the dose volume overlaid with segments (especially the CTV) to see how steep the dose gradient is at the segment boundary? Even better, could you share the data set? Could you compute the DVH in other software (CERR, Pinnacle, etc)?

That heuristics is only enabled if the “A/O” (automatic oversampling) checkbox is checked in the DVH module next to the dose volume selector. By default is off, and so there is a constant oversampling of 2.


  1. By turning A/O on, the resolution of the CTV will probably increase.
  2. You can also manually increase the resolution in the Segment Editor module. Select the segmentation, the dose volume as master volume, click the small box icon next to the master selector, and after choosing the dose volume as source geometry, choose oversampling factor of 4.

Can you calculate DVHs after trying both?

1 Like

Hi Dear Csaba Pinter

I tried with the new version of 3D Slicer (4.10.0).
As you suggested I should turn on A/O or increase the resolution in the Segment Editor module. it works.
But I encounter another problem again. when I draw the DVH with this version, the dose axis is not correct. it should be between 0 to 52 Gy but it increase to 250-260 Gy and when scroll on the DVH graph, it only show the percentage of volume, not dose!!! I attached the screenshot of the new DVH with new version.

Best Regards


Thanks for the update!

When you say automatic oversampling works it means that the difference between your TPS and Slicer’s DVH is gone and they are almost the same?

The difference between dose values might be a side effect of my recent refactoring of DVH plotting. Can you please go to the volumes module, select the dose, and send me the scalar range (min,max)? In the meantime I’ll check this out myself.

Can you please elaborate? I’m not sure if I understand what does scrolling on the graph means.

One last question. I see that your dataset is a very nice breast phantom one. Would it be possible to share it with us for future testing and demonstration purposes? Thank you!

1 Like

Hi Dear Csaba Pinter

Thanks for your answering my questions.

I dont know how should I check that they are the same or not “When you say automatic oversampling works it means that the difference between your TPS and Slicer’s DVH is gone and they are almost the same?”
but when I turn on the O/A, the DVH become correct and the problem will solve. it dont show correctly on the grapg but when you export it as a file the data which extracted, is ok!!

I attached the volume information of dose so you can check what you want.

For Scorlling the mouse I mean when I move the mouse sign on the graph. When I move the mouse on the graph, I only see the volume percentage not with the dose. because in the previous version or in TPS you see both of them (the volume and the dose) .

For breast phantom, it is only the CT DICOM of our Rando Phantom which we did it in our department. I should get permission from department but I think no problem for that. I will inform you.



1 Like

You need to change the plot type from “line” to “scatter” (for line type, X axis is always the element index).


Thank you both for the replies! I’ll change it to scatter plot to fix the X axis labels, and will try to fix the popup so that both the V and D values are shown.

Done, both issues should be fixed if you update the extension tomorrow. Thanks for reporting the issues!

1 Like