Hi Dan,<br><br>Thanks for the answer.<br>Finally, I solved my problem by copying the buffer using the iterator on my image, instead of using the import filter.<br><br>Agnès<br><br><div class="gmail_quote">2010/5/1 Dan Mueller <span dir="ltr">&lt;<a href="mailto:dan.muel@gmail.com">dan.muel@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Agnès,<br>
<br>
itkImportImageFilter creates an image around the buffer provided to<br>
the filter (ie. if you have the buffer in memory, no further memory is<br>
allocated for the pixels).<br>
<br>
If you then use the imported image in a processing pipeline, each<br>
processing filter will -- typically -- create a new output image (ie.<br>
allocate a new pixel buffer). Therefore the original imported buffer<br>
is not changed. You can see this in itkImageSource (from which all<br>
itkImageToImageFilters derive):<br>
<br>
  /** The GenerateData method normally allocates the buffers for all of the<br>
   * outputs of a filter. Some filters may want to override this default<br>
   * behavior. For example, a filter may have multiple outputs with<br>
   * varying resolution. Or a filter may want to process data in place by<br>
   * grafting its input to its output. */<br>
  virtual void AllocateOutputs();<br>
<br>
This comment alludes to the solution:<br>
Code/Common/itkInPlaceImageFilter. Running your processing operation<br>
&quot;in place&quot; means that the output will be stored in the incoming pixel<br>
buffer. To enable this feature you can call the following on any<br>
filter which derives from itkInPlaceImageFilter:<br>
    filter-&gt;InPlaceOn();<br>
<br>
Unfortunately, not all processing operations can run in place (for<br>
example, operations which change the image resolution, or pixel type).<br>
Hopefully the processing operation you wish to perform derives from<br>
itkInPlaceImageFilter...<br>
<br>
HTH<br>
<br>
Cheers, Dan<br>
<div><div></div><div class="h5"><br>
On 30 April 2010 17:31, Agnes Masson-Sibut &lt;<a href="mailto:agnes.massonsibut@gmail.com">agnes.massonsibut@gmail.com</a>&gt; wrote:<br>
&gt; Hello everyone,<br>
&gt;<br>
&gt; I&#39;m getting an issue when I use an ImportFilter to create an image using an<br>
&gt; existed buffer.<br>
&gt;<br>
&gt; In fact, when I do some operations on an image I read from a file, no<br>
&gt; problem. But when I try to do the same operations on the image created from<br>
&gt; a buffer, it seems to me that the operations are performing on a copy of the<br>
&gt; buffer in the image, and not on the original buffer of the image. So that,<br>
&gt; when I try to save my image, the modifications due to the operations do not<br>
&gt; appear in the saved file.<br>
&gt;<br>
&gt; So my question is : Do I have to do something special with the import filter<br>
&gt; so that the object image I get can be filtered by my operations the same way<br>
&gt; the image I get from reading a file ?<br>
&gt;<br>
&gt; Thanks a lot.<br>
&gt;<br>
&gt; --<br>
&gt; Agnès Masson-Sibut<br>
&gt; Étudiante au doctorat<br>
&gt; Lissi, Université Paris Est Créteil<br>
&gt; Aesculap SAS, Dpt R&amp;D Software<br>
&gt; tél : 06-73-60-52-91<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Agnès Masson-Sibut<br>Étudiante au doctorat<br>Lissi, Université Paris Est Créteil<br>Aesculap SAS, Dpt R&amp;D Software<br>tél : 06-73-60-52-91<br>