X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkWriteDicomSeriesGenericFilter.txx;h=a2bccc4aa0daa52fbef3b8a34cb115b3eb9cc20c;hb=1512c37902327dde2650268e1fbd7fbc085b7a89;hp=480e4969847db27b312e63f59f5b6214ed184fbb;hpb=300af893aa6a88e8576cf5f246ee74a207b156b9;p=clitk.git diff --git a/tools/clitkWriteDicomSeriesGenericFilter.txx b/tools/clitkWriteDicomSeriesGenericFilter.txx index 480e496..a2bccc4 100644 --- a/tools/clitkWriteDicomSeriesGenericFilter.txx +++ b/tools/clitkWriteDicomSeriesGenericFilter.txx @@ -139,7 +139,7 @@ WriteDicomSeriesGenericFilter::UpdateWithDimAndPixelType() namesGenerator->SetInputDirectory( m_ArgsInfo.inputDir_arg ); namesGenerator->SetOutputDirectory( m_ArgsInfo.outputDir_arg ); typename ReaderType::FileNamesContainer filenames_in = namesGenerator->GetInputFileNames(); - typename ReaderType::FileNamesContainer filenames_out; + typename ReaderType::FileNamesContainer filenames_out = namesGenerator->GetOutputFileNames(); // Output the dicom files unsigned int numberOfFilenames = filenames_in.size(); @@ -153,6 +153,12 @@ WriteDicomSeriesGenericFilter::UpdateWithDimAndPixelType() // Read the series typename ReaderType::Pointer reader = ReaderType::New(); + if (m_ArgsInfo.preserve_flag) { +#if GDCM_MAJOR_VERSION >= 2 + gdcmIO->LoadPrivateTagsOn(); + gdcmIO->KeepOriginalUIDOn(); +#endif + } reader->SetImageIO( gdcmIO ); reader->SetFileNames( filenames_in ); try { @@ -314,7 +320,6 @@ WriteDicomSeriesGenericFilter::UpdateWithDimAndPixelType() gdcmIO->SetKeepOriginalUID(true); #endif namesGenerator->SetOutputDirectory( m_ArgsInfo.outputDir_arg ); - filenames_out = namesGenerator->GetOutputFileNames(); } filenames_out.resize(numberOfFilenames); @@ -378,6 +383,9 @@ WriteDicomSeriesGenericFilter::UpdateWithDimAndPixelType() // file UIDs are recreated for new studies or series if (!useInputFileUID) { + if (m_ArgsInfo.verbose_flag) + std::cout << "Recreating file UIDs" << std::endl; + std::string fileUID; #if GDCM_MAJOR_VERSION >= 2 gdcm::UIDGenerator fid; @@ -405,6 +413,8 @@ WriteDicomSeriesGenericFilter::UpdateWithDimAndPixelType() // Write try { + if (m_ArgsInfo.verbose_flag) + std::cout << seriesWriter << std::endl; seriesWriter->Update(); } catch( itk::ExceptionObject & excp ) { std::cerr << "Error: Exception thrown while writing the series!!" << std::endl;