]> Creatis software - clitk.git/blobdiff - tools/clitkImage2DicomGenericFilter.txx
Add preserve studyUID in clitkImage2Dicom
[clitk.git] / tools / clitkImage2DicomGenericFilter.txx
index da30589e125085dbc921179967144a794620d0fd..37fa8a55a3cfc45052692396cb6300fcc22281af 100644 (file)
@@ -216,14 +216,22 @@ Image2DicomGenericFilter<args_info_type>::UpdateWithDimAndPixelType()
   // to keep the same study UID. But we need new series and frame of
   // reference UID's.
 #if ITK_VERSION_MAJOR >= 4
-  gdcm::UIDGenerator suid;
-  std::string seriesUID = suid.Generate();
   gdcm::UIDGenerator fuid;
   std::string frameOfReferenceUID = fuid.Generate();
 #else
-  std::string seriesUID = gdcm::Util::CreateUniqueUID( gdcmIO->GetUIDPrefix());
   std::string frameOfReferenceUID = gdcm::Util::CreateUniqueUID( gdcmIO->GetUIDPrefix());
 #endif
+  std::string seriesUID;
+  if (m_ArgsInfo.newUID_flag) {
+#if ITK_VERSION_MAJOR >= 4
+    gdcm::UIDGenerator suid;
+    seriesUID = suid.Generate();
+#else
+    seriesUID = gdcm::Util::CreateUniqueUID( gdcmIO->GetUIDPrefix());
+#endif
+  } else {
+    itk::ExposeMetaData<std::string>(*inputDict, "0020|000e", seriesUID);
+  }
   std::string studyUID;
   std::string sopClassUID;
   itk::ExposeMetaData<std::string>(*inputDict, "0020|000d", studyUID);