<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:MingLiU;
        panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Cambria;
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:MingLiU;
        panose-1:2 2 5 9 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Cambria","serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Cambria","serif";}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-TW link=blue vlink=purple style='text-justify-trim:punctuation'><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='color:black'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Now I send it to Insight-Users mailing list.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>My purpose is to extract elements from the tensor image to analyze and register the tensor channels. With your help now I can do so with vector image adaptor, which extracts one of the element of the vector. However, in the example of ImageAdaptor3.cxx, the adaptor itself cannot directly be fed into the writer to create a scalar image. It is shown that a filter, such as rescaling the intensity, has to be done and therefore the rescaler-&gt;GetOutput() can be set as the input image for writer. Is there a way not to modify the intensity of the image? Is there an identity filter or something like that?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Michael<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'><o:p>&nbsp;</o:p></span></p><div style='border:none;border-bottom:solid windowtext 1.0pt;padding:0cm 0cm 1.0pt 0cm'><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p></div><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>This is more of a question for the Insight-Users mailing list.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>That being said, you don't show your work, so I can't say exactly what you're doing wrong.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>I wrote the NIfTI image reader, and as I remember there's some strange things that go on with respect to &nbsp;Images with dimension &gt; 3.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>If I recall correctly, in a NIfTI image dimensions of [ 128 128 64 1 6 ] would not correspond to an 5D scalar image at all. &nbsp;It would be a 3D image where each voxel is a 6-element vector. &nbsp;The 4th dimension is ALWAYS interpreted as a time dimension, and the sixth and subsequent dimensions are interpreted according to what the image modality actually was. &nbsp;Most often, and what's implemented in the reader, is to interpret it as an Image of Vector voxels. So NiftiImageIO reads in 6 3D volumes, and then constructs vector pixels by pulling one pixel from each of the volumes.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>In other words if you used<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>typedef itk::Image&lt; itk::Vector&lt;float, 6&gt;, 3 &gt; ImageType;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>typedef itk::ImageFileReader&lt;Imagetype&gt; ImageReaderType;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>You would get all the data. &nbsp;If you use<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>typedef itk::Image&lt;float, 3&gt; ImageType;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>typedef itk::ImageFileReader&lt;ImageType&gt; ImageReaderType;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'>the ImageFileReader will think that it's a vector image and try to convert the vector voxels to a scalar voxel, probably by taking the first value of each voxel's vector. &nbsp;It will then report the image size as you reported.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;color:black'>From: </span></b><span lang=EN-US style='font-size:11.0pt;color:black'>Hsieh &lt;<a href="mailto:M.Hsieh@student.tudelft.nl">M.Hsieh@student.tudelft.nl</a>&gt;<br><b>Date: </b>Fri, 18 Feb 2011 16:35:07 +0100<br><b>To: </b>ITK &lt;<a href="mailto:insight-developers@itk.org">insight-developers@itk.org</a>&gt;<br><b>Subject: </b>[Insight-developers] Problem in reading 5D nifti image<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:8.5pt;color:black'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Hi, <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>&nbsp;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>I am trying to read a diffusion tensor image in nifti(.nii) format, which has dimension of [128 128 64 1 6]. However, the image I got after read by the itkImageFileReader.h had dimension only [128 128 64 1 1]. The last two dimension are suppressed by the reader. When I looked into the class (.h) and the .txx file, I found out that the </span><span lang=EN-US style='font-size:9.0pt;font-family:MingLiU;color:black'>numberOfDimensionsIO</span><span lang=EN-US style='color:black'>, which is 3,</span><span lang=EN-US style='font-size:9.0pt;font-family:MingLiU;color:black'> </span><span lang=EN-US style='color:black'>is smaller than</span><span lang=EN-US style='font-size:9.0pt;font-family:MingLiU;color:black'> TOutputImage::ImageDimension</span><span lang=EN-US style='color:black'>, which is set manually to 5, so that the 4<sup>th</sup> and the 5<sup>th</sup> dimension are set to 1 later. Why does that happen? </span><span lang=EN-US style='font-size:9.0pt;font-family:MingLiU;color:black'>numberOfDimensionsIO</span><span lang=EN-US style='color:black'> should be 5 in this case.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>&nbsp;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Meng-Kang Hsieh (Michael)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>OpSciTech, Erasmus Mundus<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>Delft University of Technology<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Best regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=NL>Meng-Kang Hsieh (Michael)<o:p></o:p></span></p><p class=MsoNormal><span lang=NL>OpSciTech, Erasmus Mundus<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Delft University of Technology<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p></div></body></html>