Error : Could not load: 1: RTPLAN: Prostate1_v1 as a RT

Hello,

I have two questions.
I am using Slicer 4.6.2, and the SlicerRT toolkit is installed as well. However, when I import a DICOM file and load it, I receive an error that says Could not load RTPLAN as a RT. How are we able to load RTPLAN in Slicer?

Also, by using information in RTPLAN, such as the coordinates of catheters used in a brachytherapy prostate, I want to calculate the Hausdorff distance between the “dwell positions” on certain catheters and the rectum. I know that by suing SlicerRT–>Segment Comparison, we are able to calculate Hausdorff distance metrics between different segments. However, is it possible to calculate Hausdorff distance between selected points (dwell positions) and a segment (rectum) ?

Thank you in advance

Hi Reza,

RTPLAN import was not available at all in 4.6.2, and does not support brachy plans even in the current version. For your application, you probably can workaround this limitation using dcmdump and grep

Regarding your second question, what it sounds like you are wanting is not the Hausdorff distance between segments, but rather distance from a point to a segment. This can be accomplished by creating a distance map to the segment, and then probing its value at the location of interest.

Greg

If you have some experience in Python, then you could also implement a simple importer that parses data using pydicom (already bundled with Slicer) and create markup fiducial or model nodes from the dwell positions. Let us know if you were interested in working on this and we’ll help getting you started.

Hi Greg,

Thank you for your response. I appreciate your consideration.
Could you please explain how the dcmdump and grep is done?

Also, regarding the second part, the distance between a point and a segment would be practical. How can we create a distance map in slicer?

Hello Andras,

Your help is greatly appreciated.
Yes, I am interested in working on that. Could you please help me in that regard.

Hi Reza,

Sure. You would need a unix shell of some sort, and dcmtk installed. Then you do something like this:

dcmdump file.dcm | grep ControlPoint3DPosition | uniq | sed -e ‘s/[^[//’ | sed -e 's/].//’

Andras already answered the second question here. :smiling_face:

Peace,
Greg

Hi Reza,

  1. Although Greg’s suggestion to dump the tags and use them directly sounds simpler, it is a one-time solution for a problem you may need very often, so it’s better to add the import feature.
    If you’re willing to spend some time with adding brachy plan support to SlicerRT, that would be really great! Many from the community would be happy to have this feature. And I’d be happy to help with the implementation, with giving you pointers about where to start and what to use, etc.

  2. Distance maps can be calculated in the Simple Filters module by selecting the SignedMaurerDistanceMapImageFilter filter.