Dan,<br><br>After looking at the header, I realized that it could be a byte-order issue.  Changing it to True did the trick.<br><br><div style="margin-left: 40px;"><span style="font-family: courier new,monospace;">NDims = 3</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">DimSize = 1388 560 48</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">ElementSpacing = 1.29 1.29 5.44</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Position = 0 0 0</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">ElementByteOrderMSB = False</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">ElementType = MET_USHORT</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">ElementDataFile = img8.raw</span><br style="font-family: courier new,monospace;">
</div>






<br style="font-family: courier new,monospace;">
Thanks,<br><br>KLN<br><br><br><br><span style="font-family: courier new,monospace;"></span><br style="font-family: courier new,monospace;"><br><div class="gmail_quote">On Thu, Nov 18, 2010 at 11:52 PM, Dan Mueller <span dir="ltr">&lt;<a href="mailto:dan.muel@gmail.com">dan.muel@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Kevin,<br>
<br>
Please post the Meta Header (*.mhd) file corresponding to the raw<br>
file. The header can skip leading bytes by specifying HeaderSize. See<br>
here:<br>
    <a href="http://www.itk.org/Wiki/MetaIO/Documentation" target="_blank">http://www.itk.org/Wiki/MetaIO/Documentation</a><br>
    <a href="http://www.itk.org/Wiki/images/2/27/MetaIO-Introduction.pdf" target="_blank">http://www.itk.org/Wiki/images/2/27/MetaIO-Introduction.pdf</a><br>
<br>
Cheers, Dan<br>
<div><div></div><div class="h5"><br>
On 18 November 2010 22:25, Kevin Neff &lt;<a href="mailto:kevin.l.neff@gmail.com">kevin.l.neff@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; I am trying to read in a raw data file (via MetaImage reader).  It&#39;s<br>
&gt; skipping the first byte of my file.<br>
&gt;<br>
&gt; The file, according to xxd -b &lt;file&gt; | less<br>
&gt;<br>
&gt; 0000000: 00000000 00001001 00000000 00000110 00000000 00001010  ......<br>
&gt; 0000006: 00000000 00000101 00000000 00000101 00000000 00000110  ......<br>
&gt; 000000c: 00000000 00000000 00000000 00000100 00000000 00000100  ......<br>
&gt; 0000012: 00000000 00001001 00000000 00000011 00000000 00000100  ......<br>
&gt;<br>
&gt; The code:<br>
&gt;<br>
&gt; #include &lt;iostream&gt;<br>
&gt; #include &quot;itkImage.h&quot;<br>
&gt; #include &quot;itkImageFileReader.h&quot;<br>
&gt; #include &quot;itkImageFileWriter.h&quot;<br>
&gt; //#include &quot;itkRawImageIO.h&quot;<br>
&gt; #include &quot;itkMetaImageIO.h&quot;<br>
&gt;<br>
&gt; #define print std::cout<br>
&gt; #define nl    std::endl<br>
&gt;<br>
&gt; int main( int argc, char** argv )<br>
&gt; {<br>
&gt;   typedef itk::Image&lt; unsigned short, 3 &gt; ImageType;<br>
&gt;<br>
&gt;   ImageType::Pointer image = ImageType::New();<br>
&gt;<br>
&gt;   ImageType::IndexType start;<br>
&gt;   start[0] =   0;  // first index on X<br>
&gt;   start[1] =   0;  // first index on Y<br>
&gt;   start[2] =   0;  // first index on Z<br>
&gt;<br>
&gt;   ImageType::SizeType  size;<br>
&gt;   size[0]  = 1388;  // size along X<br>
&gt;   size[1]  =  560;  // size along Y<br>
&gt;   size[2]  =   48;  // size along Z<br>
&gt;<br>
&gt;   ImageType::RegionType region;<br>
&gt;   region.SetSize( size );<br>
&gt;   region.SetIndex( start );<br>
&gt;   image-&gt;SetRegions( region );<br>
&gt;<br>
&gt;   image-&gt;Allocate();<br>
&gt;<br>
&gt;   typedef itk::ImageFileReader&lt; ImageType &gt; ReaderType;<br>
&gt;   typedef itk::ImageFileWriter&lt; ImageType &gt; WriterType;<br>
&gt;   typedef itk::MetaImageIO                  ImageIOType;<br>
&gt;<br>
&gt;   ImageIOType::Pointer MIIO = ImageIOType::New();<br>
&gt;<br>
&gt;   ReaderType::Pointer reader = ReaderType::New();<br>
&gt;   const char * infile = argv[1];<br>
&gt;   reader-&gt;SetFileName( infile );<br>
&gt;   image = reader-&gt;GetOutput();<br>
&gt;<br>
&gt;   print &lt;&lt; &quot;Reading from file (&quot; &lt;&lt; argv[0] &lt;&lt; &quot;)&quot; &lt;&lt; nl;<br>
&gt;   try{ reader-&gt;Update(); }<br>
&gt;   catch( itk::ExceptionObject &amp; err )    {<br>
&gt;     std::cerr &lt;&lt; &quot;ExceptionObject caught!  Check filename&quot; &lt;&lt; std::endl;<br>
&gt;     std::cerr &lt;&lt; err &lt;&lt; std::endl;<br>
&gt;     return EXIT_FAILURE;<br>
&gt;   }<br>
&gt;<br>
&gt;   const ImageType::SpacingType&amp; sp = image-&gt;GetSpacing();<br>
&gt;   print &lt;&lt; &quot;Spacing = &quot;;<br>
&gt;   print &lt;&lt; sp[0] &lt;&lt; &quot;, &quot; &lt;&lt; sp[1] &lt;&lt; &quot;, &quot; &lt;&lt; sp[2] &lt;&lt; std::endl;<br>
&gt;<br>
&gt;   const ImageType::PointType&amp; orgn = image-&gt;GetOrigin();<br>
&gt;   std::cout &lt;&lt; &quot;Origin = &quot;;<br>
&gt;   std::cout &lt;&lt; orgn[0] &lt;&lt; &quot;, &quot; &lt;&lt; orgn[1] &lt;&lt; &quot;, &quot; &lt;&lt; orgn[2] &lt;&lt; std::endl;<br>
&gt;<br>
&gt;   typedef itk::Point&lt; double, ImageType::ImageDimension &gt; PointType;<br>
&gt;<br>
&gt;   PointType p;<br>
&gt;   ImageType::IndexType i;<br>
&gt;   ImageType::PixelType v;<br>
&gt;   for(  int x = 0;  x &lt; 10;  x += 1  )   {<br>
&gt;     p[0] = x; p[1] = 0; p[2] = 0;<br>
&gt;     image-&gt;TransformPhysicalPointToIndex(p,i);<br>
&gt;     v = image-&gt;GetPixel( i );<br>
&gt;     print &lt;&lt; &quot;Value of (&quot; &lt;&lt; p[0] &lt;&lt; &quot;,&quot; &lt;&lt; p[1] &lt;&lt; &quot;,&quot; &lt;&lt; p[2] &lt;&lt; &quot;) is &quot;<br>
&gt; &lt;&lt; v &lt;&lt; &quot; and has index &quot; &lt;&lt; i &lt;&lt; nl;<br>
&gt;   }<br>
&gt;<br>
&gt;   return 0;<br>
&gt; }<br>
&gt;<br>
&gt; The output:<br>
&gt;<br>
&gt;<br>
&gt; tukey # make &amp;&amp; ./register img8.mhd<br>
&gt; Scanning dependencies of target register<br>
&gt; [100%] Building CXX object CMakeFiles/register.dir/main.cxx.o<br>
&gt; Linking CXX executable register<br>
&gt; [100%] Built target register<br>
&gt; Reading from file (./register)<br>
&gt; Spacing = 1.29, 1.29, 5.44<br>
&gt; Origin = 0, 0, 0<br>
&gt; Value of (0,0,0) is 2304 and has index [0, 0, 0]<br>
&gt; Value of (1,0,0) is 1536 and has index [1, 0, 0]<br>
&gt; Value of (2,0,0) is 2560 and has index [2, 0, 0]<br>
&gt; Value of (3,0,0) is 2560 and has index [2, 0, 0]<br>
&gt; Value of (4,0,0) is 1280 and has index [3, 0, 0]<br>
&gt; Value of (5,0,0) is 1280 and has index [4, 0, 0]<br>
&gt; Value of (6,0,0) is 1536 and has index [5, 0, 0]<br>
&gt; Value of (7,0,0) is 1536 and has index [5, 0, 0]<br>
&gt; Value of (8,0,0) is 0 and has index [6, 0, 0]<br>
&gt; Value of (9,0,0) is 1024 and has index [7, 0, 0]<br>
&gt;<br>
&gt; Looks like the first byte of the file is being skipped.  Is this an error or<br>
&gt; a feature?<br>
&gt;<br>
&gt; KLN<br>
&gt;<br>
&gt;<br>
&gt; ---------<br>
&gt; Kevin Neff, Ph.D.<br>
&gt; Mayo Clinic College of Medicine<br>
&gt; Rochester, MN<br>
</div></div></blockquote></div><br>