comparison OrthancServer/FromDcmtkBridge.cpp @ 176:81f11fb357f2

uid generation
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 07 Nov 2012 17:21:21 +0100
parents fe180eae201d
children 4031f73fe0e4
comparison
equal deleted inserted replaced
175:662af781a227 176:81f11fb357f2
55 #include <dcmtk/dcmdata/dcvrfl.h> 55 #include <dcmtk/dcmdata/dcvrfl.h>
56 #include <dcmtk/dcmdata/dcvrsl.h> 56 #include <dcmtk/dcmdata/dcvrsl.h>
57 #include <dcmtk/dcmdata/dcvrss.h> 57 #include <dcmtk/dcmdata/dcvrss.h>
58 #include <dcmtk/dcmdata/dcvrul.h> 58 #include <dcmtk/dcmdata/dcvrul.h>
59 #include <dcmtk/dcmdata/dcvrus.h> 59 #include <dcmtk/dcmdata/dcvrus.h>
60 #include <dcmtk/dcmdata/dcuid.h>
60 61
61 #include <boost/math/special_functions/round.hpp> 62 #include <boost/math/special_functions/round.hpp>
62 63
63 namespace Orthanc 64 namespace Orthanc
64 { 65 {
612 it = values.map_.begin(); it != values.map_.end(); it++) 613 it = values.map_.begin(); it != values.map_.end(); it++)
613 { 614 {
614 result[GetName(it->first)] = it->second->AsString(); 615 result[GetName(it->first)] = it->second->AsString();
615 } 616 }
616 } 617 }
618
619
620 std::string FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel level)
621 {
622 char uid[100];
623
624 switch (level)
625 {
626 case DicomRootLevel_Instance:
627 return dcmGenerateUniqueIdentifier(uid, SITE_INSTANCE_UID_ROOT);
628
629 case DicomRootLevel_Series:
630 return dcmGenerateUniqueIdentifier(uid, SITE_SERIES_UID_ROOT);
631
632 case DicomRootLevel_Study:
633 return dcmGenerateUniqueIdentifier(uid, SITE_STUDY_UID_ROOT);
634
635 default:
636 throw OrthancException(ErrorCode_ParameterOutOfRange);
637 }
638 }
639
617 } 640 }