MeVisLab Toolbox Reference
mlCSOListToRTStructureSetIOD.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
38 
43 //----------------------------------------------------------------------------------
44 #ifndef __mlCSOListToRTStructureSetIOD_H
45 #define __mlCSOListToRTStructureSetIOD_H
46 
48 #include "mlProgress.h"
49 
50 #include <mlTypeDefs.h>
51 #include <CSOBase/CSOList.h>
52 #include <string>
53 #include <map>
54 #include <utility>
55 #include <boost/function.hpp>
56 
57 ML_START_NAMESPACE
58 
59 typedef std::map<std::string, std::string> TStrStrMap;
60 typedef std::pair<std::string, std::string> TStrStrPair;
61 
62 class CSO;
63 class CSOGroup;
69 
71 {
72 public:
77  CSOListToRTStructureSetIOD(CSOListPtr csoList, DRTStructureSetIODBase *rtStructureSet,
78  boost::function<void(float)> *callback = NULL);
79 
81  void convert();
82 
83 private:
84  void calculateProgressStep();
85  void populateCSOTypeToGeometricTypeMap();
86  void populateSequences();
87  void addStructureSetROI(DcmDRTStructureSetROISequenceInterface *seq, const CSOGroup &csoGroup,
88  std::string roiNumber);
89  void addRTROIObservation(DcmDRTRTROIObservationsSequenceInterface *seq, const CSOGroup &csoGroup,
90  std::string roiNumber);
91  void addROIContour(DcmDRTROIContourSequenceInterface *seq, const CSOGroup &csoGroup,
92  std::string roiNumber);
93  std::string getROIDisplayColor(const CSOGroup &csoGroup);
94  void addContour(DcmDRTContourSequenceInterface *contourSequence, const CSO &cso,
95  std::string contourNumber);
96  std::string getContourGeometricType(const CSO &cso);
97  std::string getContourData(const CSO &cso);
98 
99  CSOListPtr _csoList;
100  DRTStructureSetIODBase *_rtStructureSet;
101  TStrStrMap _csoTypeToGeometricTypeMap;
102  Progress _progress;
103 
105 };
106 
107 ML_END_NAMESPACE
108 
109 #endif // __mlCSOListToRTStructureSetIOD_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
CSOListToRTStructureSetIOD(CSOListPtr csoList, DRTStructureSetIODBase *rtStructureSet, boost::function< void(float)> *callback=NULL)
Constructor.
void convert()
Converts CSOList to RTStructureSetIOD.
The CSO represents a contour segmentation object.
Definition: CSO.h:44
Base object class for passing DRTStructureSetIOD objects between MeVisLab modules.
Class to provide access to DRTContourSequence.
Class to provide access to DRTROIContourSequence.
Class to provide access to DRTRTROIObservationsSequence.
Class to provide access to DRTStructureSetROISequence.
#define ML_DISALLOW_COPY_AND_ASSIGN(className)
Defines basic macros.
Definition: mlMacros.h:23
std::map< std::string, std::string > TStrStrMap
std::pair< std::string, std::string > TStrStrPair
Class for setting progress.
std::map< std::string, std::string > TStrStrMap