MeVisLab Toolbox Reference
mlStructureSetROIToCSOGroup.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
5 
10 //----------------------------------------------------------------------------------
11 #ifndef __mlStructureSetROIToCSOGroup_H
12 #define __mlStructureSetROIToCSOGroup_H
13 
15 
16 #include <CSOBase/CSOList.h>
21 
22 ML_START_NAMESPACE
23 
25 {
26 public:
31 
35 
39 
43 
44 private:
45  void populateROINumberToROIContourMap();
46  void populateROINumberToRTDoseROIMap();
47  void populateROINumberToRTROIObservationMap();
48  void setCSOGroupProperties(CSOGroup *csoGroup,
49  const DcmDRTStructureSetROISequenceInterface::Item &structureSetROI);
50  void setCSOGroupPropertiesFromStructureSetROI(CSOGroup *csoGroup,
51  const DcmDRTStructureSetROISequenceInterface::Item &structureSetROI);
52  void setCSOGroupPropertiesFromROIContour(CSOGroup *csoGroup, MLuint roiNumber);
53  void setCSOGroupPropertiesFromRTDoseROI(CSOGroup *csoGroup, MLuint roiNumber);
54  void setCSOGroupPropertiesFromRTROIObservation(CSOGroup *csoGroup, MLuint roiNumber);
55  void setCSOGroupOtherProperties(CSOGroup *csoGroup);
56  Vector3 getROIContourColor(const DcmDRTROIContourSequenceInterface::Item &roiContour);
57  MLuint getROINumber(const DcmDRTStructureSetROISequenceInterface::Item &structureSetROI);
58  void parseContourSequence(CSOGroup *csoGroup, DcmDRTContourSequenceInterface seq);
59 
60  CSOListPtr _csoList;
61  const DcmDRTROIContourSequenceInterface _roiContourSequence;
62  const DcmDRTRTROIObservationsSequenceInterface *_rtRTROIObservationSequence;
63  const DcmDRTRTDoseROISequenceInterface *_rtDoseROISequence;
64  std::map<MLuint, DcmDRTROIContourSequenceInterface::Item> _roiNumberToROIContourMap;
65  std::map<MLuint, DcmDRTRTDoseROISequenceInterface::Item> _roiNumberToRTDoseROIMap;
66  std::map<MLuint, DcmDRTRTROIObservationsSequenceInterface::Item> _roiNumberToRTROIObservationMap;
67 
69 };
70 
71 ML_END_NAMESPACE
72 
73 #endif // __mlStructureSetROIToCSOGroup_H
Project global and OS specific declarations.
#define MLDCMTKMLCONVERTERS_EXPORT
A CSOGroup comprises a number of CSOs, which themselves can be in a number of different CSOGroups.
Definition: CSOGroup.h:38
Class to provide access to DRTContourSequence.
Class to provide access to DRTROIContourSequence.
Class to provide access to DRTRTDoseROISequence.
Class to provide access to DRTRTROIObservationsSequence.
StructureSetROIToCSOGroup(CSOListPtr csoList, const DcmDRTROIContourSequenceInterface &seq)
Constructor.
void setRTDoseROISequence(const DcmDRTRTDoseROISequenceInterface *seq)
Set RTDoseROISequence to provide additional data for added CSOGroups.
void setRTROIObservationsSequence(const DcmDRTRTROIObservationsSequenceInterface *seq)
Set RTROIObservationsSequence to provide additional data for added CSOGroups.
void addCSOGroup(const DcmDRTStructureSetROISequenceInterface::Item &structureSetROI)
Adds CSOGroup to CSOList.
#define ML_DISALLOW_COPY_AND_ASSIGN(className)
Defines basic macros.
Definition: mlMacros.h:23
Class to provide access to DRTROIContourSequence.
Class to provide access to DRTRTDoseROISequence.
Class to provide access to DRTRTROIObservationsSequence.
Class to provide access to DRTStructureSetROISequence.
MLuint64 MLuint
An unsigned ML integer type with at least 64 bits used for index calculations on very large images ev...
Definition: mlTypeDefs.h:594