<div dir="ltr"><div>Hi, I am trying to load a 4d image into ITK using gdcm libraries. They are a 4DFlow and a M2D Dicom created with a phillips resonator. I have both datasets in multiple files dicom and in enhanced dicom. I can load them as a 3d image now, with time changing in Z direction (all frames together for a single z position, and then the next slice in z direction again with all the frames), but i want the libaries to recognize it is a 4d, not a 3d. I have tried to load every volume separated by the tag 0018|1060, but it would be a vector of volumes and not a 4d matrix. And I don&#39;t know how to make it for enhanced dicom. What would be the best approach??<br>
</div>Thanks!<br><div><br>#include &quot;itkImage.h&quot;<br>#include &quot;itkImageFileReader.h&quot;<br>#include &quot;itkImageFileWriter.h&quot;<br>#include &quot;itkGDCMImageIO.h&quot;<br>#include &quot;itkGDCMSeriesFileNames.h&quot;<br>
#include &quot;itkImageSeriesReader.h&quot;<br>#include &quot;itkImageFileWriter.h&quot;<br>#include &lt;itkImageToVTKImageFilter.h&gt;<br>#include &lt;itkExtractImageFilter.h&gt;<br><br>typedef unsigned short    PixelType;<br>
typedef itk::Image&lt; PixelType, Dimension3&gt;         ImageType3D;<br>typedef itk::Image&lt; PixelType, Dimension4 &gt;         ImageType;<br>typedef itk::ImageSeriesReader&lt; ImageType &gt;        ReaderType;<br>typedef itk::GDCMSeriesFileNames NamesGeneratorType;<br>
typedef std::vector&lt; std::string &gt;   FileNamesContainer;<br>typedef itk::GDCMImageIO       ImageIOType;<br>typedef std::vector&lt; std::string &gt;    SeriesIdContainer;<br><br>const unsigned int      Dimension3 = 3;<br>
const unsigned int      Dimension4 = 4;<br>ReaderType::Pointer reader = ReaderType::New();<br>ImageIOType::Pointer dicomIO = ImageIOType::New();<br>NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();<br>
FileNamesContainer fileNames;<br>std::string seriesIdentifier;<br><br>reader-&gt;SetImageIO( dicomIO );<br>nameGenerator-&gt;SetDirectory( argv[9]);<br>const SeriesIdContainer &amp; seriesUID = nameGenerator-&gt;GetSeriesUIDs();<br>
SeriesIdContainer::const_iterator seriesItr = seriesUID.begin();<br>SeriesIdContainer::const_iterator seriesEnd = seriesUID.end();<br>seriesIdentifier = seriesUID.begin()-&gt;c_str();<br>fileNames = nameGenerator-&gt;GetFileNames( seriesIdentifier );<br>
reader-&gt;SetFileNames( fileNames );<br>reader-&gt;Update();<br><br clear="all"><div><br>-- <br>José Ignacio Prieto<br>celular(nuevo): 94348182
</div></div></div>