Ran across the following while implementing an RTPlan sender:
PrimaryFluenceModeSequence is missing from DRTBeamSequenceInRTPlanIOD
CumulativeDoseReferenceCoefficient is missing from DRTReferencedDoseReferenceSequence::Item
AccessoryCode is missing from DRTApplicatorSequence::Item
I was able to fix the ::Item ones by adding new members to the classes and remaking the library. The fluence mode sequence however requires a whole new class, as well as modifying the beam sequence class, which is probably beyond my current knowledge level.
Suggestion: It would be nice to be able to add and get "other" elements to the classes. Perhaps maintained as an internal DcmItem. This would solve the problem of private tags and data. Varian Medical Systems, for instance, is famous for throwing private tags into everything.
I'd also like to commend you guys on the work you've done here. The toolkit is extremely easy to use. Well done!
Elements missing from classes
Moderator: Moderator Team
Elements missing from classes
Russ Moore
Medical Applications Programmer
University of Florida
rmoore@neurosurgery.ufl.edu
Medical Applications Programmer
University of Florida
rmoore@neurosurgery.ufl.edu
-
- DCMTK Developer
- Posts: 2542
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
First of all, thank you for testing "dcmrt" and for your comments.
With regard to the missing attributes: You might have realized that more than 99% of the classes (including their implementation) are generated automatically from a machine-readable version of the DICOM standard. The comment header of these source files contains the following line:
That means the 2007 edition of the DICOM standard has been used for this purposes and this version did not yet contain these attributes. As soon as there is a more recent machine-readable version of the DICOM standard, we'll use that and regenerate the classes - which is just a matter of some seconds However, I guess you're right regarding CumulativeDoseReferenceCoefficient - I'll check that ...
With regard to your suggestion: The other elements can be accessed directly via the dcmdata API using the dataset that is passed to the read() or write() method.
With regard to the missing attributes: You might have realized that more than 99% of the classes (including their implementation) are generated automatically from a machine-readable version of the DICOM standard. The comment header of these source files contains the following line:
Code: Select all
Generated automatically from DICOM PS 3.3-2007
With regard to your suggestion: The other elements can be accessed directly via the dcmdata API using the dataset that is passed to the read() or write() method.
-
- DCMTK Developer
- Posts: 2542
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
I checked the sequence classes and found another "specialty" (or let's call it abnormality?) of the DICOM RT IODs: The same sequence attribute might be defined completely differently depending on where it is used, i.e. the attributes contained in the sequence items can be different and, therefore, the C++ classes also have to be. This was already known for different IODs (e.g. RT Plan vs. RT Dose IOD) but now I found out that the same sequence can also be defined differently for a single IOD. Fortunately, it seems that this only happens for different modules, so it should be possible to change the generating XSLT scripts accordingly.
-
- DCMTK Developer
- Posts: 2542
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Who is online
Users browsing this forum: No registered users and 1 guest