comparison Core/DicomFormat/DicomMap.cpp @ 3649:05df4860aea6 storage-commitment

giving a name to the main dicom tags
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 04 Feb 2020 20:00:48 +0100
parents 5120e4985153
children 335611d2b6cd
comparison
equal deleted inserted replaced
3648:eef50f5426a9 3649:05df4860aea6
44 #include "DicomArray.h" 44 #include "DicomArray.h"
45 45
46 46
47 namespace Orthanc 47 namespace Orthanc
48 { 48 {
49 namespace
50 {
51 struct MainDicomTag
52 {
53 const DicomTag tag_;
54 const char* name_;
55 };
56 }
57
58 static const MainDicomTag PATIENT_MAIN_DICOM_TAGS_2[] =
59 {
60 // { DicomTag(0x0010, 0x1010), "PatientAge" },
61 // { DicomTag(0x0010, 0x1040), "PatientAddress" },
62 { DicomTag(0x0010, 0x0010), "PatientName" },
63 { DicomTag(0x0010, 0x0030), "PatientBirthDate" },
64 { DicomTag(0x0010, 0x0040), "PatientSex" },
65 { DicomTag(0x0010, 0x1000), "OtherPatientIDs" },
66 { DICOM_TAG_PATIENT_ID, "PatientID" }
67 };
68
69 static const MainDicomTag STUDY_MAIN_DICOM_TAGS_2[] =
70 {
71 // { DicomTag(0x0010, 0x1020), "PatientSize" },
72 // { DicomTag(0x0010, 0x1030), "PatientWeight" },
73 { DICOM_TAG_STUDY_DATE, "StudyDate" },
74 { DicomTag(0x0008, 0x0030), "StudyTime" },
75 { DicomTag(0x0020, 0x0010), "StudyID" },
76 { DICOM_TAG_STUDY_DESCRIPTION, "StudyDescription" },
77 { DICOM_TAG_ACCESSION_NUMBER, "AccessionNumber" },
78 { DICOM_TAG_STUDY_INSTANCE_UID, "StudyInstanceUID" },
79
80 // New in db v6
81 { DICOM_TAG_REQUESTED_PROCEDURE_DESCRIPTION, "RequestedProcedureDescription" },
82 { DICOM_TAG_INSTITUTION_NAME, "InstitutionName" },
83 { DICOM_TAG_REQUESTING_PHYSICIAN, "RequestingPhysician" },
84 { DICOM_TAG_REFERRING_PHYSICIAN_NAME, "ReferringPhysicianName" }
85 };
86
87 static const MainDicomTag SERIES_MAIN_DICOM_TAGS_2[] =
88 {
89 // { DicomTag(0x0010, 0x1080), "MilitaryRank" },
90 { DicomTag(0x0008, 0x0021), "SeriesDate" },
91 { DicomTag(0x0008, 0x0031), "SeriesTime" },
92 { DICOM_TAG_MODALITY, "Modality" },
93 { DicomTag(0x0008, 0x0070), "Manufacturer" },
94 { DicomTag(0x0008, 0x1010), "StationName" },
95 { DICOM_TAG_SERIES_DESCRIPTION, "SeriesDescription" },
96 { DicomTag(0x0018, 0x0015), "BodyPartExamined" },
97 { DicomTag(0x0018, 0x0024), "SequenceName" },
98 { DicomTag(0x0018, 0x1030), "ProtocolName" },
99 { DicomTag(0x0020, 0x0011), "SeriesNumber" },
100 { DICOM_TAG_CARDIAC_NUMBER_OF_IMAGES, "CardiacNumberOfImage" },
101 { DICOM_TAG_IMAGES_IN_ACQUISITION, "ImagesInAcquisition" },
102 { DICOM_TAG_NUMBER_OF_TEMPORAL_POSITIONS, "NumberOfTemporalPositions" },
103 { DICOM_TAG_NUMBER_OF_SLICES, "NumberOfSlices" },
104 { DICOM_TAG_NUMBER_OF_TIME_SLICES, "NumberOfTimeSlices" },
105 { DICOM_TAG_SERIES_INSTANCE_UID, "SeriesInstanceUID" },
106
107 // New in db v6
108 { DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "ImageOrientationPatientt" }, // TODO - Should have an unit test that fails
109 { DICOM_TAG_SERIES_TYPE, "SeriesType" },
110 { DICOM_TAG_OPERATOR_NAME, "OperatorName" },
111 { DICOM_TAG_PERFORMED_PROCEDURE_STEP_DESCRIPTION, "PerformedProcedureStepDescription" },
112 { DICOM_TAG_ACQUISITION_DEVICE_PROCESSING_DESCRIPTION, "AcquisitionDeviceProcessingDescription" },
113 { DICOM_TAG_CONTRAST_BOLUS_AGENT, "ContrastBolusAgen" }
114 };
115
116 static const MainDicomTag INSTANCE_MAIN_DICOM_TAGS_2[] =
117 {
118 { DicomTag(0x0008, 0x0012), "InstanceCreationDate" },
119 { DicomTag(0x0008, 0x0013), "InstanceCreationTime" },
120 { DicomTag(0x0020, 0x0012), "AcquisitionNumber" },
121 { DICOM_TAG_IMAGE_INDEX, "ImageIndex" },
122 { DICOM_TAG_INSTANCE_NUMBER, "InstanceNumber" },
123 { DICOM_TAG_NUMBER_OF_FRAMES, "NumberOfFrames" },
124 { DICOM_TAG_TEMPORAL_POSITION_IDENTIFIER, "TemporalPositionIdentifier" },
125 { DICOM_TAG_SOP_INSTANCE_UID, "SOPInstanceUID" },
126
127 // New in db v6
128 { DICOM_TAG_IMAGE_POSITION_PATIENT, "ImagePositionPatient" },
129 { DICOM_TAG_IMAGE_COMMENTS, "ImageComments" },
130
131 /**
132 * Main DICOM tags that are not part of any release of the
133 * database schema yet, and that will be part of future db v7. In
134 * the meantime, the user must call "/tools/reconstruct" once to
135 * access these tags if the corresponding DICOM files where
136 * indexed in the database by an older version of Orthanc.
137 **/
138 { DICOM_TAG_IMAGE_ORIENTATION_PATIENT, "ImageOrientationPatient" } // New in Orthanc 1.4.2
139 };
140
141
142
49 static const DicomTag PATIENT_MAIN_DICOM_TAGS[] = 143 static const DicomTag PATIENT_MAIN_DICOM_TAGS[] =
50 { 144 {
51 //DicomTag(0x0010, 0x1010), // PatientAge 145 //DicomTag(0x0010, 0x1010), // PatientAge
52 //DicomTag(0x0010, 0x1040) // PatientAddress 146 //DicomTag(0x0010, 0x1040) // PatientAddress
53 DicomTag(0x0010, 0x0010), // PatientName 147 DicomTag(0x0010, 0x0010), // PatientName