View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002936 | Slicer4 | Module DICOM | public | 2013-02-11 11:07 | 2015-12-12 02:22 |
Reporter | wangk | Assigned To | pieper | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | Slicer 4.2.2-1 | ||||
Target Version | Slicer 4.3.0 | Fixed in Version | Slicer 4.3.0 | ||
Summary | 0002936: Multiple RT objects with same type not distinguishable in DICOM module | ||||
Description | When using DICOM module to import dose, plan and structure set, if there are multiple object with same type. e.g. two rt dose files, there are no description to distinguish one from another. try pinnacle3-0.0-phantom data. Need to fix this as this is often encountered in adaptive RT. See attached picture. | ||||
Tags | No tags attached. | ||||
2013-02-11 11:07
|
|
Is the dose file something that gets detected by a SlicerRT DICOM plugin? In that case the plugin can choose a name that will be presented in the dialog (name property of the DICOMLoadable). For example, the ScalarVolume plugin creates a name which is the series number followed by the series description. For dose, in ART maybe the series date could be post-pended? |
|
Can you comment on whether this can be accomplished inside the RT plugin? |
|
I think this could be accomplished inside RT plugin. However, it is a bit complicated. For a CT series, one can just look for the series description in one of the dicom files and that is how it is done in ScalarVolume plugin. For RT dose, there is no series description in itself and it only provides a reference UID to a RT plan, then the series description can be extract from the RT plan. so it is easy to extract the description, but I am not sure how to look for the reference RT plan in the RT plugin or using the general Dicom infrastructure. |
|
Hi Kevin - I'm not 100% sure about how these are structured in RT, but within the plugin you can have access to the dicom database, which lets you get header values for a tag for any of the instances in the database. So can you walk the chain of references to get the info needed to make a meaningful name for a given RT object? -Steve |
|
Thanks Steve for your information. It helps a lot! I will start to modify our RT plugin for this. Will keep you posted. |
|
Hi Steve, I am using the python interface to access the dicom database but met a problem. I am trying to access an item in a sequence. more specifically the "ReferencedRTPlanSequence" whose dicom tag is "300C,0002" and item "ReferencedSOPInstanceUID" whose dicom tag is "0008,1155". using slicer.dicomDatabase2.fileValue() method with both tags return ''. I used dcmtk's dcmdump and checked the dcm file and it is not empty for this item. is there a way to access an item in a sequence using ctkDICOM? Thanks, Kevin |
|
Hi Kevin - This should be possible by doing something like what is shown below - it's not optimized (not in the tagCache), but maybe you only need to do it once per series so not a big issue. If performance turns out to be an issue we can prioritize a fix. In the example below I load a new-style MR object with sequences and extract the 0008,1155 value so it should work for you also. Note the output is in 'dcmdump' string format so you need to parse that by hand in python. Note that you can use loadFileHeader if you know the file name or loadInstanceHeader if you have the sopInstanceUID. Marco and I talked a lot about how to deal with sequences but this is all we have right now, so I hope it works for you. In the future I'd like to see the ctkDICOMDataset class exposed with explicit sequence support. -Steve
|
|
Thanks a lot, Steve. It works for me. I am working on a quick solution that only modifies the DicomRTImport Plugin. will email you once it is done. |
|
Steve: I was able to modify the dicomRtPlugin python code to get the correct name for the RTDose object from its referenced RTPlan and display in the bottom table. Thanks for the help. However, the information in the top tree is populated using CTK from fields that are read from the database. So it is not possible to change them right now. That is something we need to think in the long term. for now, I think you can close the ticket. |
|
Great - glad that is working. I agree about the dicom database not having all the right information in many cases - it's been vexing us for a while. I've been thinking lately that we might need something higher level but I don't have anything concrete yet. |
|
Dear Steve, |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2013-02-11 11:07 | wangk | New Issue | |
2013-02-11 11:07 | wangk | Status | new => assigned |
2013-02-11 11:07 | wangk | Assigned To | => pieper |
2013-02-11 11:07 | wangk | File Added: dicom-no-description.png | |
2013-02-11 13:52 | pieper | Note Added: 0007887 | |
2013-02-16 03:29 | pieper | Note Added: 0007964 | |
2013-02-16 03:29 | pieper | Status | assigned => feedback |
2013-02-20 09:33 | wangk | Note Added: 0007989 | |
2013-02-20 09:54 | pieper | Note Added: 0007992 | |
2013-02-20 10:00 | wangk | Note Added: 0007993 | |
2013-03-06 11:55 | wangk | Note Added: 0008090 | |
2013-03-06 12:19 | pieper | Note Added: 0008091 | |
2013-03-07 05:24 | wangk | Note Added: 0008094 | |
2013-03-07 06:32 | jcfr | Target Version | => Slicer 4.3.0 |
2013-03-07 10:50 | wangk | Note Added: 0008096 | |
2013-03-08 12:41 | pieper | Note Added: 0008100 | |
2013-03-08 12:41 | pieper | Status | feedback => closed |
2013-03-08 12:41 | pieper | Resolution | open => fixed |
2013-03-08 12:41 | pieper | Fixed in Version | => Slicer 4.3.0 |
2015-12-12 02:22 | kieumy | Note Added: 0013675 |