MeVisLab Toolbox Reference
mlDicomIODsCreate.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
5 
10 //----------------------------------------------------------------------------------
11 
12 #pragma once
13 
14 #include "MLMLToDicomToolsSystem.h"
15 #include <mlReleaseTools.h>
16 #include <DCMTree_DicomTags.h>
17 #include <DCMTree_Lib.h>
18 #include "mlDicomSegmentItem.h"
19 
20 ML_START_NAMESPACE
21 
25 namespace DicomIODsCreate {
26 
30  const std::string& SOPClassUID,
31  const std::string& SOPInstanceUID);
32 
36  const std::string& instanceNumber,
37  const std::string& contentLabel,
38  const std::string& contentDescription = "",
39  const std::string& contentCreatorsName = "");
40 
44  const std::string& patientsName,
45  const std::string& patientID,
46  const std::string& patientBirthDate,
47  const std::string& patientSexString);
48 
52  const std::string& studyInstanceUID,
53  const std::string& studyDate,
54  const std::string& studyTime,
55  const std::string& referringPhysicianName,
56  const std::string& studyID,
57  const std::string& accessionNumber,
58  const std::string& studyDescription);
59 
71  const std::string& seriesInstanceUID,
72  const std::string& seriesNumber,
73  const std::string& seriesDescription,
74  bool writeLateralityTag = false,
75  const std::string& laterality = "",
76  const std::string& modality = "",
77  bool writePatientPositionTag = false,
78  const std::string& patientPosition = "",
79  bool writeBodyPartExaminedTag = false,
80  const std::string& bodyPartExamined = "");
81 
85  const std::string& manufacturer ,
86  const std::string& manufacturerModelName,
87  const std::string& deviceSerialNumber ,
88  const std::string& softwareVersions );
89 
94  const std::string& contentDate,
95  const std::string& contentTime,
96  const DCMTree::RawTagId dateTagId = DCMTree_ContentDate,
97  const DCMTree::RawTagId timeTagId = DCMTree_ContentTime);
98 
103  const std::string& instanceNumber,
104  const std::string& patientOrientation,
105  const std::string& contentDate,
106  const std::string& contentTime,
107  const bool addPatientOrientation=true);
108 
112  const Vector2& pixelSpacing,
113  const Vector3& imagePositionPatient,
114  const Vector6& imageOrientationPatient,
115  double sliceThickness,
116  double sliceLocation);
117 
121  const std::string& burnedInAnnotation,
122  double rescaleIntercept,
123  double rescaleSlope,
124  const std::string& rescaleType,
125  bool writeNominalScannedPixelSpacing = false,
126  const Vector2& nominalScannedPixelSpacing = Vector2(1, 1),
127  bool writeFrameIncrementPointer = false,
128  const std::string& frameIncrementPointer = "(0000,0000)");
129 
134  const std::string& referencedSOPClassUID,
135  const std::string& referencedSOPInstanceUID,
136  const std::string& referencedFrameNumber=std::string(),
137  const std::string& referencedSegmentNumber=std::string());
138 
144  MLint seriesNumber);
145 
154  const DCMTree::TagId sequenceTagId,
155  const std::string & sequenceName,
156  const std::string & codeValue,
157  const std::string & codingSchemeDesignator,
158  const std::string & codeMeaning);
159 
162  const std::string& codeValue,
163  const std::string& codingSchemeDesignator,
164  const std::string& codeMeaning);
165 
172  const DicomSegmentItem& segmentItem,
173  unsigned int segmentNumber);
174 
177  const DicomSegmentItemVector& segmentSequenceItems);
178 
179 }
180 
181 ML_END_NAMESPACE
#define DCMTree_ContentTime
#define DCMTree_ContentDate
Project global and OS specific declarations.
#define ML_MLToDicomTools_EXPORT
Only for diagnostic purposes.
Class to wrap a tag-id.
Definition: DCMTree_TagId.h:40
Class implementing a segmentation item according to the DICOM Segmentation Image Modul as described i...
Header file of the class implementing a segmentation item according to the DICOM Segmentation Image M...
Main header file including all other headers of the project MLReleaseTools.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:70
unsigned int RawTagId
Definition: DCMTree_Lib.h:147
ML_MLToDicomTools_EXPORT std::string appendReferencedSOPTagUIDs(DCMTree::TreePtr dcmTree, const std::string &referencedSOPClassUID, const std::string &referencedSOPInstanceUID, const std::string &referencedFrameNumber=std::string(), const std::string &referencedSegmentNumber=std::string())
Add DICOM Standard, 10.8 SOP INSTANCE REFERENCE MACRO-Tags Referenced SOP Class UID,...
ML_MLToDicomTools_EXPORT std::string appendGeneralEquipmentModuleTags(DCMTree::TreePtr resultTree, const std::string &manufacturer, const std::string &manufacturerModelName, const std::string &deviceSerialNumber, const std::string &softwareVersions)
Appends required DICOM tags to resultTree according to DICOM standard, C.7.5.1, General Equipment Mod...
ML_MLToDicomTools_EXPORT std::string appendGeneralStudyModuleTags(DCMTree::TreePtr resultTree, const std::string &studyInstanceUID, const std::string &studyDate, const std::string &studyTime, const std::string &referringPhysicianName, const std::string &studyID, const std::string &accessionNumber, const std::string &studyDescription)
Appends required DICOM tags to resultTree according to DICOM standard, C.7.1.3, General Study Module ...
ML_MLToDicomTools_EXPORT std::string appendContentIdentificationMacroTags(DCMTree::TreePtr resultTree, const std::string &instanceNumber, const std::string &contentLabel, const std::string &contentDescription="", const std::string &contentCreatorsName="")
Appends required DICOM tags to resultTree according to DICOM standard, 10.9, Content Identification M...
ML_MLToDicomTools_EXPORT std::string appendImagePlaneModuleTags(DCMTree::TreePtr resultTree, const Vector2 &pixelSpacing, const Vector3 &imagePositionPatient, const Vector6 &imageOrientationPatient, double sliceThickness, double sliceLocation)
Appends required DICOM tags to resultTree according to DICOM standard, C.7.6.2, Image Plane Module At...
ML_MLToDicomTools_EXPORT std::string appendContentDataTimeModuleTags(DCMTree::TreePtr resultTree, const std::string &contentDate, const std::string &contentTime, const DCMTree::RawTagId dateTagId=DCMTree_ContentDate, const DCMTree::RawTagId timeTagId=DCMTree_ContentTime)
Appends required DICOM tags ContentData and ContentTime to resultTree, C.7.6.1, General Image Module ...
ML_MLToDicomTools_EXPORT std::string appendSOPCommonModuleTags(DCMTree::TreePtr resultTree, const std::string &SOPClassUID, const std::string &SOPInstanceUID)
Appends required DICOM tags to resultTree according to DICOM standard, C.12.1, SOP Common Module.
ML_MLToDicomTools_EXPORT std::string appendGeneralSeriesModuleTags(DCMTree::TreePtr resultTree, const std::string &seriesInstanceUID, const std::string &seriesNumber, const std::string &seriesDescription, bool writeLateralityTag=false, const std::string &laterality="", const std::string &modality="", bool writePatientPositionTag=false, const std::string &patientPosition="", bool writeBodyPartExaminedTag=false, const std::string &bodyPartExamined="")
Appends required DICOM tags to resultTree according to DICOM standard, C.7.3.1, General Series Module...
ML_MLToDicomTools_EXPORT std::string appendPatientModuleTags(DCMTree::TreePtr resultTree, const std::string &patientsName, const std::string &patientID, const std::string &patientBirthDate, const std::string &patientSexString)
Appends required DICOM tags to resultTree according to DICOM standard, C.7.1.1, Patient Module Module...
ML_MLToDicomTools_EXPORT std::string appendSCMultiframeImageModuleTags(DCMTree::TreePtr resultTree, const std::string &burnedInAnnotation, double rescaleIntercept, double rescaleSlope, const std::string &rescaleType, bool writeNominalScannedPixelSpacing=false, const Vector2 &nominalScannedPixelSpacing=Vector2(1, 1), bool writeFrameIncrementPointer=false, const std::string &frameIncrementPointer="(0000,0000)")
Appends required DICOM tags to resultTree according to DICOM standard, C.8.6.3 SC Multi-Frame-image m...
ML_MLToDicomTools_EXPORT std::string appendCodeSequenceMacroAttributesTags(DCMTree::TreePtr dcmTree, const DCMTree::TagId sequenceTagId, const std::string &sequenceName, const std::string &codeValue, const std::string &codingSchemeDesignator, const std::string &codeMeaning)
Add a Code Sequence with one entry with Code Sequence Macro Attributes given by the code* parameters.
ML_MLToDicomTools_EXPORT std::string appendGeneralAnatomyMandatoryMacroAttributesTags(DCMTree::TreePtr dcmTree, const std::string &codeValue, const std::string &codingSchemeDesignator, const std::string &codeMeaning)
Add General Anatomy Mandatory Macro tags according to DICOM Standard, Table 8.8-1.
ML_MLToDicomTools_EXPORT std::string appendSegmentItemTags(DCMTree::TreePtr dcmTree, const DicomSegmentItem &segmentItem, unsigned int segmentNumber)
Add the contents of a segment item to dcmTree according.
ML_MLToDicomTools_EXPORT std::string appendGeneralImageModuleTags(DCMTree::TreePtr resultTree, const std::string &instanceNumber, const std::string &patientOrientation, const std::string &contentDate, const std::string &contentTime, const bool addPatientOrientation=true)
Appends required DICOM tags to resultTree according to DICOM standard, C.7.6.1, General Image Module ...
ML_MLToDicomTools_EXPORT std::string appendSegmentSequenceTags(DCMTree::TreePtr dcmTree, const DicomSegmentItemVector &segmentSequenceItems)
Add all segment items of segmentSequence as SegmentSequence tag to dcmTree by using addSegmentItem.
ML_MLToDicomTools_EXPORT std::string appendSegmentationSeriesModuleAttributesTags(DCMTree::TreePtr dcmTree, MLint seriesNumber)
Add tags described in DICOM Standard, C.8.20.1: Segmentation Series Module Attributes to dcmTree.
std::vector< DicomSegmentItem > DicomSegmentItemVector
Type describing a sequence of SegmentItems similar to its description in the DICOM standard under SEG...
Tvec2< MLdouble > Vector2
A vector with 2 components of type double.
Definition: mlVector2.h:159