<div dir="ltr"><div><div><div><div><div><div><div>Hi all,<br></div><div><br></div>I
 don&#39;t know if this is an itk or gdcm issue. When I try to load a file 
of 20 frames and 100 slices per frame, using the pipe exposed here, the 
itk object has dimension [288,288,2000,1] instead of [288,288,100,20] <br>
</div>The problem to me seems to be that in the file itkImageSeriesReader.hxx line 185 says :<br>dimSize[this-&gt;m_NumberOfDimensionsInImage] = m_FileNames.size();<br></div>and because every image is 2D, then dimSize[2]=2000.<br>

<br></div>I think there may be a connection between itkGDCMImageIO and 
itkImageSeriesReader, that always thinks that it is a 3D volume and 
never checks the 0018,1060 tag.<br><br></div><div>Here is the gdcmdump of the series:<br><a href="https://www.dropbox.com/s/bxytgpt0gprhuly/gdcmdump.txt" target="_blank">https://www.dropbox.com/s/bxytgpt0gprhuly/<span class="">gdcmdump</span>.txt</a><br>

<br></div><div><br></div>What can I do?<br><br></div>Thanks.<br>
<br></div>Pipeline:<br><br>typedef unsigned short    PixelType;<br>const unsigned int      Dimension3 = 3;<br>const unsigned int      Dimension4 = 4;<br><br>const PixelType lowerThreshold = atoi( argv[7] );<br>

<br>typedef itk::Image&lt; PixelType, Dimension3&gt;         ImageType3D;<br>typedef itk::Image&lt; PixelType, Dimension4 &gt;         ImageType;<br><br><br>typedef itk::ImageSeriesReader&lt; ImageType &gt;        ReaderType;<br>


ReaderType::Pointer reader = ReaderType::New();<br><br>typedef itk::GDCMImageIO       ImageIOType;<br>ImageIOType::Pointer dicomIO = ImageIOType::New();<br><br>reader-&gt;SetImageIO( dicomIO );<br>typedef itk::GDCMSeriesFileNames NamesGeneratorType;<br>


NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();<br><br>nameGenerator-&gt;SetDirectory( argv[9]);<br><br>typedef std::vector&lt; std::string &gt;    SeriesIdContainer;<br>const SeriesIdContainer &amp; seriesUID = nameGenerator-&gt;GetSeriesUIDs()<div>

;<br>
SeriesIdContainer::const_iterator seriesItr = seriesUID.begin();<br>SeriesIdContainer::const_iterator seriesEnd = seriesUID.end();<br>std::string seriesIdentifier;<br>seriesIdentifier = seriesUID.begin()-&gt;c_str();<br>

typedef std::vector&lt; std::string &gt;   FileNamesContainer;<br>
FileNamesContainer fileNames;<br>fileNames = nameGenerator-&gt;GetFileNames( seriesIdentifier );<br>reader-&gt;SetFileNames( fileNames );<br>reader-&gt;Update();<br></div><br clear="all"><br>-- <br>José Ignacio Prieto<br>
celular(nuevo): 94348182
</div>