<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
<b>I included some code (used in a templated function) to clarify my question:</b><br><i><br>&nbsp;&nbsp;&nbsp; // ImageTypes<br>&nbsp;&nbsp;&nbsp; typedef itk::Image&lt;PixelType, Dimension&gt; InputImageType;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; // Read<br>&nbsp;&nbsp;&nbsp; typedef itk::ImageFileReader&lt;InputImageType&gt; InputReaderType;<br>&nbsp;&nbsp;&nbsp; typename InputReaderType::Pointer reader = InputReaderType::New();<br>&nbsp;&nbsp;&nbsp; reader-&gt;SetFileName( m_InputFileName);<br>&nbsp;&nbsp;&nbsp; reader-&gt;Update();<br>&nbsp;&nbsp;&nbsp; typename InputImageType::Pointer input= reader-&gt;GetOutput();<br>&nbsp;&nbsp;&nbsp; std::cout&lt;&lt;"Input Origin is "&lt;&lt;input-&gt;GetOrigin()&lt;&lt;std::endl;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; // Filter<br>&nbsp;&nbsp;&nbsp; typedef&nbsp;&nbsp; itk::MirrorPadImageFilter&lt;InputImageType, InputImageType&gt; MirrorPadImageFilterType;<br>&nbsp;&nbsp;&nbsp; typename&nbsp; MirrorPadImageFilterType::Pointer mirrorFilter=MirrorPadImageFilterType::New();<br>&nbsp;&nbsp;&nbsp; mirrorFilter-&gt;SetInput(input);<br>&nbsp;&nbsp;&nbsp; typename InputImageType::SizeType size;<br>&nbsp;&nbsp;&nbsp; size.Fill(10);<br>&nbsp;&nbsp;&nbsp; mirrorFilter-&gt;SetPadLowerBound(size);<br>&nbsp;&nbsp;&nbsp; mirrorFilter-&gt;Update();<br><br>&nbsp;&nbsp;&nbsp; // Output<br>&nbsp;&nbsp;&nbsp; typename InputImageType::Pointer output=mirrorFilter-&gt;GetOutput();<br>&nbsp;&nbsp;&nbsp; std::cout&lt;&lt;"Output Origin is "&lt;&lt;output-&gt;GetOrigin()&lt;&lt;std::endl;<br>&nbsp;&nbsp;&nbsp; output-&gt;Update();<br>&nbsp;&nbsp;&nbsp; std::cout&lt;&lt;"Output Origin is "&lt;&lt;output-&gt;GetOrigin()&lt;&lt;std::endl;<br><br>&nbsp;&nbsp;&nbsp; // Write<br>&nbsp;&nbsp;&nbsp; typedef itk::ImageFileWriter&lt;InputImageType&gt; WriterType;<br>&nbsp;&nbsp;&nbsp; typename WriterType::Pointer writer = WriterType::New();<br>&nbsp;&nbsp;&nbsp; writer-&gt;SetFileName(m_ArgsInfo.output_arg);<br>&nbsp;&nbsp;&nbsp; writer-&gt;SetInput(output);<br>&nbsp;&nbsp;&nbsp; writer-&gt;Update();</i><br><br><b>Output of this piece of code is </b><br><br><i>Input Origin is [0, 0, -282]<br>Output Origin is [0, 0, -282]<br>Output Origin is [0, 0, -282]</i><br><b><br><br>However the written output has header file:<br></b><br><i>ObjectType = Image<br>NDims = 3<br>BinaryData = True<br>BinaryDataByteOrderMSB = False<br>CompressedData = False<br>TransformMatrix = 1 0 0 0 1 0 0 0 1<br>Offset = -20 -20 -302<br>CenterOfRotation = 0 0 0<br>AnatomicalOrientation = RAI<br>ElementSpacing = 2 2 2<br>DimSize = 245 186 292<br>ElementType = MET_FLOAT<br>ElementDataFile = air_padded.raw</i><br><br><b>In this header, the origin HAS changed according to the padding size at the lower end?<br><br>Thank you in advance for your help,<br>Jef</b><br><br><br><br>&gt; Date: Tue, 15 Sep 2009 08:22:50 -0400<br>&gt; Subject: Re: [Insight-users] Get and Set itk Origin<br>&gt; From: bill.lorensen@gmail.com<a title="Send" href="javascript:;" onclick="if(window.ComposeContactPicker)return Control.invokeStatic('ComposeContactPicker', 'sendMessagePrep', event, null);" id="SendMessage">
    <span class="Label">Send</span></a><br>&gt; To: jvdmb@hotmail.com<br>&gt; CC: insight-users@itk.org<br>&gt; <br>&gt; Maybe you should post some code. What you describe should work.<br>&gt; <br>&gt; Bill<br>&gt; <br>&gt; On Tue, Sep 15, 2009 at 5:32 AM, jef vdmb &lt;jvdmb@hotmail.com&gt; wrote:<br>&gt; &gt; Hi,<br>&gt; &gt;<br>&gt; &gt; I am having a hard time understanding the way meta data like the image<br>&gt; &gt; origin is updated after a pipeline execution.<br>&gt; &gt;<br>&gt; &gt; My situation is the following:<br>&gt; &gt;<br>&gt; &gt; * an image is read<br>&gt; &gt; * next passed as input to a filter (in this case MirrorPadImageFilter, but I<br>&gt; &gt; have seen it for others as well)<br>&gt; &gt; * the filter is updated (-&gt;Update());<br>&gt; &gt; * the output retrieved using -&gt;GetOutput()<br>&gt; &gt;<br>&gt; &gt; The initial input had origin (0,0,0). The output however should have an<br>&gt; &gt; origin different from zero (with the parameters I used for the<br>&gt; &gt; MirrorPadImageFilter). When the output is interrogated for its origin<br>&gt; &gt; (-&gt;GetOrigin() ), it (wrongly) shows all zeros. When writing the image<br>&gt; &gt; afterwards, it was written with the correct origin ( offset field of the<br>&gt; &gt; .mhd image format).<br>&gt; &gt;<br>&gt; &gt; It would seem my output image is not yet updated at the time I performed the<br>&gt; &gt; -&gt;GetOrigin(). The last filter was however explicitly updated just before<br>&gt; &gt; and even an "-&gt;Update()" on the output image itself doesn't modify this<br>&gt; &gt; behaviour.<br>&gt; &gt;<br>&gt; &gt; I would like to retrieve the origin for further processing but seem to end<br>&gt; &gt; up with the uninitialized (0,0,0).&nbsp; I would appreciate any suggestions on<br>&gt; &gt; how to assure the meta information is fully updated.<br>&gt; &gt;<br>&gt; &gt; Regards,<br>&gt; &gt; Jef<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; ________________________________<br>&gt; &gt; Hotmail: Powerful Free email with security by Microsoft. Get it now.<br>&gt; &gt; _____________________________________<br>&gt; &gt; Powered by www.kitware.com<br>&gt; &gt;<br>&gt; &gt; Visit other Kitware open-source projects at<br>&gt; &gt; http://www.kitware.com/opensource/opensource.html<br>&gt; &gt;<br>&gt; &gt; Please keep messages on-topic and check the ITK FAQ at:<br>&gt; &gt; http://www.itk.org/Wiki/ITK_FAQ<br>&gt; &gt;<br>&gt; &gt; Follow this link to subscribe/unsubscribe:<br>&gt; &gt; http://www.itk.org/mailman/listinfo/insight-users<br>&gt; &gt;<br>&gt; &gt;<br><br /><hr />Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. <a href='http://clk.atdmt.com/GBL/go/171222985/direct/01/' target='_new'>Sign up now.</a></body>
</html>