Exporting DVH data via DICOM RT

1,793 views
Skip to first unread message

Tallhamer

unread,
Mar 4, 2010, 12:54:23 PM3/4/10
to pinnacle3-users
I’m developing an application at the request of one of my physicians
to evaluate DVHs against published protocols and other literature
which lists dose volume constraints. It also computes various
published and internally developed conformity indices to use for plan
evaluation using the DVH data obtained in the DICOM RT Dose files. I
naively thought that I would start with support for DICOM RT as that
should cover exports from a number if not all the TPS vendors. Out of
the box it works great for Eclipse however upon analyzing Pinnacle
DICOM RT Dose files I found that the DVH sequences for the structures
in the plan are missing (i.e. is only contains the dose grid pixel
information). Is there a way to configure Pinnacle to export the DVH
sequences in DICOM RT? I found the interface to be somewhat limited in
choices (e.g. just pois, rois, plan, dose, drrs, annotations but no
configuration as to things like resolution of the dose or omission of
partially calculated structures)

Thanks,
Michael J. Tallhamer
Medical Physicist
Department of Radiation Oncology
Rocky Mountain Cancer Centers

Scott Dube

unread,
Mar 4, 2010, 10:06:47 PM3/4/10
to pinnacl...@googlegroups.com
Mike, you are way too smart for America.  You should work in Australia!

--
You received this message because you are subscribed to the Google
Groups "pinnacle3-users" group.
To post to this group, send email to pinnacl...@googlegroups.com
To subscribe to this group, send email to
pinnacle3-us...@googlegroups.com
To unsubscribe from this group, send email to
pinnacle3-use...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/pinnacle3-users?hl=en

Bogdon Coroi

unread,
Mar 5, 2010, 10:43:21 AM3/5/10
to pinnacl...@googlegroups.com
We do it the hard way (I guess), using Excel. We compare plan
Doses/DVH's with protocol doses/DVH's (RTOG). A bit cumbersome, but it
all works in the end.

Bogdan Coroi, MS
Medical Physicist, CMMC
cor...@cmhc.org
207.795.2465

>>> mike.ta...@gmail.com 3/4/2010 12:54 PM >>>

Yan, Yulong

unread,
Mar 5, 2010, 10:59:37 AM3/5/10
to pinnacl...@googlegroups.com
Mike,
There is an even harder way to do it. Since you have read RT Dose object, you can read RT Structure Set as well and calculate DVHs by yourself. It needs quite a bit of work, but when you get it done, you can do a lot more. I wish I had other options. I am doing it right now.

Yulong Yan @ Little Rock

Tallhamer

unread,
Mar 5, 2010, 11:39:21 AM3/5/10
to pinnacle3-users
I assume you are using a script to set the bin width and then export
the DVH. We used this in the past but found it clunky to use and the
dosimetrists weren't huge fans. I currently have a small app that will
read in the differential DVHs that are exported via the script convert
it to cumulative DVH and compute the conformity index. It is a step in
the right direction but still requires exporting the DVH data using
the script (naming the files by structure if your script doesn't do it
for you - ours does) and then running the reports. I was just hoping
to further automate the process across multiple platforms by
manipulating the DICOM RT capabilities of most platforms but have now
learned that even the DICOM RT exports are different. It sure would be
nice to get vendors to standardize some of this so we can limit the
amount of development time it takes to get something useful.

-Mike

On Mar 5, 8:43 am, "Bogdon Coroi" <coro...@cmhc.org> wrote:
> We do it the hard way (I guess), using Excel. We compare plan
> Doses/DVH's with protocol doses/DVH's (RTOG). A bit cumbersome, but it
> all works in the end.
>
> Bogdan Coroi, MS
> Medical Physicist, CMMC

> coro...@cmhc.org
> 207.795.2465
>
> >>> mike.tallha...@gmail.com 3/4/2010 12:54 PM >>>

Tallhamer

unread,
Mar 5, 2010, 11:56:59 AM3/5/10
to pinnacle3-users
That is a good idea but I run into a few issues when trying to do
that. Bare in mind I'm not a professional programmer.

I currently read in the rt plan, rt structures, and rt dose. I have
found that calculating the rt structure volumes from the contour
points usually gives me a slightly different volume than the volume
listed in the TPS (regardless of the vendor exporting the file). I use
a rather simplified approach summing over all the contour slices using
the surveyors formula to compute the area of every contour slice and
then multiply it by the slice thickness using half the slice thickness
for the first and last slice. This gives a fairly accurate volume but
it is different (as you can imagine) from the TPS volume which uses
some type of mesh approximation of the volume. On relatively large
volumes with rather regular surfaces this difference is negligible but
on small irregular targets like some SBRT lung nodules or SRS targets
in the head and neck the volumes can be very different and hence the
computed DVHs are different.

Would you mind sharing how you address the issues associated with
recomputing the volume (what method do you use) and how you then
compute the DVH on those volumes using the DICOM RT Dose file. I have
a couple other ideas to try to make the process a bit easier on me
from a coding standpoint but might be interested in trying my hand at
what your doing on my own time just to see if I can do it. Do you mind
sharing what language you are using as well?

-Mike

On Mar 5, 8:59 am, "Yan, Yulong" <YanYul...@uams.edu> wrote:
> Mike,
>     There is an even harder way to do it. Since you have read RT Dose object, you can read RT Structure Set as well and calculate DVHs by yourself. It needs quite a bit of work, but when you get it done, you can do a lot more. I wish I had other options. I am doing it right now.
>
> Yulong Yan @ Little Rock
>
> -----Original Message-----
> From: pinnacl...@googlegroups.com [mailto:pinnacl...@googlegroups.com] On Behalf Of Bogdon Coroi
> Sent: Friday, March 05, 2010 9:43 AM
> To: pinnacl...@googlegroups.com
> Subject: Re: [p3rtp] Exporting DVH data via DICOM RT
>
> We do it the hard way (I guess), using Excel. We compare plan
> Doses/DVH's with protocol doses/DVH's (RTOG). A bit cumbersome, but it
> all works in the end.
>
> Bogdan Coroi, MS
> Medical Physicist, CMMC

> coro...@cmhc.org
> 207.795.2465
>
> >>> mike.tallha...@gmail.com 3/4/2010 12:54 PM >>>

> For more options, visit this group athttp://groups.google.com/group/pinnacle3-users?hl=en

Kantor,Michael E

unread,
Mar 5, 2010, 12:12:08 PM3/5/10
to pinnacl...@googlegroups.com
If you sum the differential DVH volume it should equal the ROI volume that Pinnacle shows. Using slice thickness and area is not quite enough, the Pinnacle voxel masking and weighting process has a lot of intricacy to it, I'm not sure what for. I have an algorithm to take contour points and get a volume out that matches Pinnacle exactly, in MATLAB.

For DVH evaluation, I also convert the differential output to cumulative, and then find specific values as needed, based on structure name. This is integrated with some other functionality in a Python program, and everything is output to PostScript and PDF.

Mike Kantor

Tallhamer

unread,
Mar 5, 2010, 12:40:23 PM3/5/10
to pinnacle3-users
My old program does the same thing with the differential DVH but I
would really like to stick to DICOM RT files which without the DVH
sequences would require me to compute the contour volumes from the
points alone. If it has the DVH sequences you can just grab the first
volume element from the DVH corresponding to 0 or 1 cGy and that
should be the total volume of the structure.

Would you mind sharing that algorithm to compute the volumes with me?
I use Python as well and would like to see if I could rewrite it in
pure Python. Do you use the python program to output the PS and PDF
using reportlab or something else?

-Mike

Kantor,Michael E

unread,
Mar 5, 2010, 12:50:21 PM3/5/10
to pinnacl...@googlegroups.com
I write the postscript directly with python, skipping reportlab.

Sorry, but I can't share the algorithm at the moment, due to the way my work was funded at the time I produced it. But, I can set you on the right path if you want to chase it: MATLAB's poly2mask function helps a lot, interpolation does not work the same way for all vector directions, you have to use single precision (which some of MATLAB's functions ignore), and an overlaid contour cancels the mask of the one under it.

Tallhamer

unread,
Mar 5, 2010, 12:57:08 PM3/5/10
to pinnacle3-users
Thanks. It sounds like it isn't for the faint of heart :-)
Reply all
Reply to author
Forward
0 new messages