comparison OrthancFramework/Sources/DicomFormat/DicomMap.cpp @ 4501:11c2ddb4e2ca

FromDcmtkBridge::LogMissingTagsForStore()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 09 Feb 2021 15:24:36 +0100
parents d9473bd5ed43
children b47ee86a0d10
comparison
equal deleted inserted replaced
4500:3b4940bca158 4501:11c2ddb4e2ca
918 } 918 }
919 919
920 920
921 void DicomMap::LogMissingTagsForStore() const 921 void DicomMap::LogMissingTagsForStore() const
922 { 922 {
923 std::string patientId, studyInstanceUid, seriesInstanceUid, sopInstanceUid;
924
925 if (HasTag(DICOM_TAG_PATIENT_ID))
926 {
927 patientId = ValueAsString(*this, DICOM_TAG_PATIENT_ID);
928 }
929
930 if (HasTag(DICOM_TAG_STUDY_INSTANCE_UID))
931 {
932 studyInstanceUid = ValueAsString(*this, DICOM_TAG_STUDY_INSTANCE_UID);
933 }
934
935 if (HasTag(DICOM_TAG_SERIES_INSTANCE_UID))
936 {
937 seriesInstanceUid = ValueAsString(*this, DICOM_TAG_SERIES_INSTANCE_UID);
938 }
939
940 if (HasTag(DICOM_TAG_SOP_INSTANCE_UID))
941 {
942 sopInstanceUid = ValueAsString(*this, DICOM_TAG_SOP_INSTANCE_UID);
943 }
944
945 LogMissingTagsForStore(patientId, studyInstanceUid, seriesInstanceUid, sopInstanceUid);
946 }
947
948
949 void DicomMap::LogMissingTagsForStore(const std::string& patientId,
950 const std::string& studyInstanceUid,
951 const std::string& seriesInstanceUid,
952 const std::string& sopInstanceUid)
953 {
923 std::string s, t; 954 std::string s, t;
924 955
925 if (HasTag(DICOM_TAG_PATIENT_ID)) 956 if (!patientId.empty())
926 { 957 {
927 if (t.size() > 0) 958 if (t.size() > 0)
928 t += ", "; 959 t += ", ";
929 t += "PatientID=" + ValueAsString(*this, DICOM_TAG_PATIENT_ID); 960 t += "PatientID=" + patientId;
930 } 961 }
931 else 962 else
932 { 963 {
933 if (s.size() > 0) 964 if (s.size() > 0)
934 s += ", "; 965 s += ", ";
935 s += "PatientID"; 966 s += "PatientID";
936 } 967 }
937 968
938 if (HasTag(DICOM_TAG_STUDY_INSTANCE_UID)) 969 if (!studyInstanceUid.empty())
939 { 970 {
940 if (t.size() > 0) 971 if (t.size() > 0)
941 t += ", "; 972 t += ", ";
942 t += "StudyInstanceUID=" + ValueAsString(*this, DICOM_TAG_STUDY_INSTANCE_UID); 973 t += "StudyInstanceUID=" + studyInstanceUid;
943 } 974 }
944 else 975 else
945 { 976 {
946 if (s.size() > 0) 977 if (s.size() > 0)
947 s += ", "; 978 s += ", ";
948 s += "StudyInstanceUID"; 979 s += "StudyInstanceUID";
949 } 980 }
950 981
951 if (HasTag(DICOM_TAG_SERIES_INSTANCE_UID)) 982 if (!seriesInstanceUid.empty())
952 { 983 {
953 if (t.size() > 0) 984 if (t.size() > 0)
954 t += ", "; 985 t += ", ";
955 t += "SeriesInstanceUID=" + ValueAsString(*this, DICOM_TAG_SERIES_INSTANCE_UID); 986 t += "SeriesInstanceUID=" + seriesInstanceUid;
956 } 987 }
957 else 988 else
958 { 989 {
959 if (s.size() > 0) 990 if (s.size() > 0)
960 s += ", "; 991 s += ", ";
961 s += "SeriesInstanceUID"; 992 s += "SeriesInstanceUID";
962 } 993 }
963 994
964 if (HasTag(DICOM_TAG_SOP_INSTANCE_UID)) 995 if (!sopInstanceUid.empty())
965 { 996 {
966 if (t.size() > 0) 997 if (t.size() > 0)
967 t += ", "; 998 t += ", ";
968 t += "SOPInstanceUID=" + ValueAsString(*this, DICOM_TAG_SOP_INSTANCE_UID); 999 t += "SOPInstanceUID=" + sopInstanceUid;
969 } 1000 }
970 else 1001 else
971 { 1002 {
972 if (s.size() > 0) 1003 if (s.size() > 0)
973 s += ", "; 1004 s += ", ";