I&#39;ve tested &quot;DicomImageReadChangeHeaderWrite&quot; with the code :<br><font face="courier new,monospace"><br>&nbsp; std::string entryId(&quot;008|103e&quot;);<br>&nbsp; std::string value(&quot;NEW VALUE&quot;);&nbsp;&nbsp;&nbsp; <br><br style="font-family: arial,helvetica,sans-serif;">
<span style="font-family: arial,helvetica,sans-serif;">and it works...</span><br style="font-family: arial,helvetica,sans-serif;"><br style="font-family: arial,helvetica,sans-serif;"><br style="font-family: arial,helvetica,sans-serif;">
<span style="font-family: arial,helvetica,sans-serif;">I think the origin of the problem could be the dictionary :<br><br>In the code :<br style="font-family: arial,helvetica,sans-serif;"></span></font><br><font face="courier new,monospace">ImageType::Pointer inputImage = reader-&gt;GetOutput();&nbsp; <br>
DictionaryType &amp; dictionary = inputImage-&gt;GetMetaDataDictionary();&nbsp; <br>[...]<br>itk::EncapsulateMetaData&lt;std::string&gt;( dictionary, entryId, value );&nbsp;&nbsp; <br><br><br><font face="arial,helvetica,sans-serif">I don&#39;t really now what represents the variable &quot;dictionary&quot;. Because the &quot;reader&quot; is a reader of a SERIE and of an IMAGE...<br>
<br>Then what returns </font></font><font face="courier new,monospace">GetMetaDataDictionary() <font face="arial,helvetica,sans-serif">of a DICOM serie ?<br><br>Do I have to find a way to iterate on the dictionaries of each image of the serie ? <br>
<span style="font-family: arial,helvetica,sans-serif;">(Because I want to modify the header of each DICOM image...)</span><br style="font-family: arial,helvetica,sans-serif;"></font></font><font face="courier new,monospace"><font style="font-family: arial,helvetica,sans-serif;" face="arial,helvetica,sans-serif"><br>
</font><br style="font-family: arial,helvetica,sans-serif;"><br style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;">Thank you,</span><br style="font-family: arial,helvetica,sans-serif;">
<br style="font-family: arial,helvetica,sans-serif;"><br style="font-family: arial,helvetica,sans-serif;"><span style="font-family: arial,helvetica,sans-serif;">Stéphane</span><br style="font-family: arial,helvetica,sans-serif;">
<br><br><br style="font-family: arial,helvetica,sans-serif;"><br></font><br><div class="gmail_quote">2008/11/19 Stéphane CALANDE <span dir="ltr">&lt;<a href="mailto:scalande@gmail.com">scalande@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Oh sorry, there was a mistake in the entry...<br><br>But the field is still not modified... :-(<br>
<br><br>Any other idea ?<br><br><br>Thank you Bill ;-)<br><br><br><br><br>Stéphane<br><br><br>&nbsp;<br><br><div class="gmail_quote">
2008/11/19 Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span><div><div></div><div class="Wj3C7c"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Try<br>
&nbsp;std::string entryId(&quot;0008|103e&quot;);<br>
instead of<br>
<div>&nbsp;std::string entryId(&quot;008|103e&quot;);<br>
<br>
</div>Bill<br>
<div><div></div><div><br>
On Wed, Nov 19, 2008 at 6:53 AM, Stéphane CALANDE &lt;<a href="mailto:scalande@gmail.com" target="_blank">scalande@gmail.com</a>&gt; wrote:<br>
&gt; Hi itk-list,<br>
&gt;<br>
&gt;<br>
&gt; I&#39;m using the example of &quot;DicomSeriesReadSeriesWrite&quot;, but I&#39;d like to<br>
&gt; modify one DICOM header field before writing the Series.<br>
&gt;<br>
&gt; Then I had a look in &quot;DicomImageReadChangeHeaderWrite&quot; and I tried to apply<br>
&gt; the part of the code that change the header field into the code of<br>
&gt; &quot;DicomSeriesReadSeriesWrite&quot;.<br>
&gt;<br>
&gt;<br>
&gt; But it doesn&#39;t seem to work. The field I want to change has not changed in<br>
&gt; the output files. Could you have a look in the (simplified) following code<br>
&gt; to help me ?<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; typedef signed short &nbsp; &nbsp;PixelType;<br>
&gt; &nbsp; const unsigned int &nbsp; &nbsp; &nbsp;Dimension = 3;<br>
&gt; &nbsp; typedef itk::Image&lt; PixelType, Dimension &gt; &nbsp; &nbsp; &nbsp;ImageType;<br>
&gt; &nbsp; typedef itk::ImageSeriesReader&lt; ImageType &gt; &nbsp; &nbsp; ReaderType;<br>
&gt; &nbsp; typedef itk::ImageFileReader&lt; ImageType &gt; &nbsp; &nbsp; &nbsp; ReaderMHDType;<br>
&gt; &nbsp; typedef itk::GDCMImageIO &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ImageIOType;<br>
&gt; &nbsp; typedef itk::GDCMSeriesFileNames &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NamesGeneratorType;<br>
&gt;<br>
&gt; &nbsp; ImageIOType::Pointer gdcmIO = ImageIOType::New();<br>
&gt; &nbsp; NamesGeneratorType::Pointer namesGenerator = NamesGeneratorType::New();<br>
&gt;<br>
&gt; &nbsp; namesGenerator-&gt;SetInputDirectory( [...DIRECTORY...] );<br>
&gt;<br>
&gt; &nbsp; const ReaderType::FileNamesContainer &amp; filenames =<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; namesGenerator-&gt;GetInputFileNames();<br>
&gt;<br>
&gt; &nbsp; ReaderType::Pointer reader = ReaderType::New();<br>
&gt;<br>
&gt; &nbsp; reader-&gt;SetImageIO( gdcmIO );<br>
&gt; &nbsp; reader-&gt;SetFileNames( filenames );<br>
&gt;<br>
&gt; &nbsp; reader-&gt;Update();<br>
&gt;<br>
&gt; &nbsp; // BEGIN =&gt; I&#39;m trying to modify one DICOM Header field &lt;&lt;&lt;<br>
&gt;<br>
&gt; &nbsp; typedef itk::MetaDataDictionary &nbsp; DictionaryType;<br>
&gt;<br>
&gt; &nbsp; ImageType::Pointer inputImage = reader-&gt;GetOutput();<br>
&gt; &nbsp; DictionaryType &amp; dictionary = inputImage-&gt;GetMetaDataDictionary();<br>
&gt;<br>
&gt; &nbsp; std::string entryId(&quot;008|103e&quot;);<br>
&gt; &nbsp; std::string value(&quot;NEW VALUE&quot;);<br>
&gt;<br>
&gt; &nbsp; itk::EncapsulateMetaData&lt;std::string&gt;( dictionary, entryId, value );<br>
&gt;<br>
&gt; &nbsp; &nbsp;// END<br>
&gt;<br>
&gt; &nbsp; &nbsp; [...]<br>
&gt;<br>
&gt; &nbsp; typedef signed short &nbsp; &nbsp;OutputPixelType;<br>
&gt; &nbsp; const unsigned int &nbsp; &nbsp; &nbsp;OutputDimension = 2;<br>
&gt;<br>
&gt; &nbsp; typedef itk::Image&lt; OutputPixelType, OutputDimension &gt; &nbsp; &nbsp;Image2DType;<br>
&gt;<br>
&gt; &nbsp; typedef itk::ImageSeriesWriter&lt; ImageType, Image2DType &gt;<br>
&gt; SeriesWriterType;<br>
&gt;<br>
&gt; &nbsp; SeriesWriterType::Pointer seriesWriter = SeriesWriterType::New();<br>
&gt;<br>
&gt; &nbsp; seriesWriter-&gt;SetInput( [...VOLUME...] );<br>
&gt; &nbsp; seriesWriter-&gt;SetImageIO( gdcmIO );<br>
&gt;<br>
&gt; &nbsp; namesGenerator-&gt;SetOutputDirectory( outputDirectory );<br>
&gt;<br>
&gt; &nbsp; seriesWriter-&gt;SetFileNames( namesGenerator-&gt;GetOutputFileNames() );<br>
&gt;<br>
&gt; &nbsp; seriesWriter-&gt;SetMetaDataDictionaryArray(<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader-&gt;GetMetaDataDictionaryArray() );<br>
&gt;<br>
&gt; &nbsp; seriesWriter-&gt;Update();<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; I would be very grateful if you could help me.<br>
&gt;<br>
&gt;<br>
&gt; Thank you very much,<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Stéphane<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Insight-users mailing list<br>
&gt; <a href="mailto:Insight-users@itk.org" target="_blank">Insight-users@itk.org</a><br>
&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;<br>
&gt;<br>
</blockquote></div></div></div><br>
</blockquote></div><br>