Actually, the problem is probably that the pipeline is updating.&nbsp; You are&nbsp; modifying the&nbsp; image<br>from the reader, however, the reader is still in the pipeline.&nbsp; So any call to Update() may <br>overwrite your changes (the reader could read the data again).
<br><br>You can try disconnecting the imag from the reader.<br><br>this-&gt;itkImage3D&nbsp; = dicomReader-&gt;GetOutput();<br>this-&gt;itkImage3D-&gt;DisconnectPipeline();<br><br>this-&gt;connectorMRI-&gt;SetInput( this-&gt;itkImage3D );
<br><br><br><div><span class="gmail_quote">On 5/3/06, <b class="gmail_sendername">Yixun Liu</b> &lt;<a href="mailto:yxliu@fudan.edu.cn">yxliu@fudan.edu.cn</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="direction: ltr;">






<div><font face="Bookman Old Style">Hi,</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">I build a pipeline as below,</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">//read dicom series</font></div>
<div><font face="Bookman Old Style">&nbsp;this-&gt;dicomReader-&gt;SetImageIO( 
itk::GDCMImageIO::New() );</font></div>
<div><font face="Bookman Old Style">&nbsp;this-&gt;dicomReader-&gt;SetFileNames( 
fileNames );&nbsp;<br>&nbsp;this-&gt;dicomReader-&gt;Update();</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">&nbsp;this-&gt;itkImage3D = 
dicomReader-&gt;GetOutput();<br>&nbsp;</font></div>
<div>&nbsp;</div>
<div><font face="Bookman Old Style">&nbsp;//convert itk image with short 
type&nbsp;to vtk image<br>&nbsp;this-&gt;connectorMRI = 
ConnectorType::New();<br>&nbsp;this-&gt;connectorMRI-&gt;SetInput(this-&gt;dicomReader-&gt;GetOutput());<br>&nbsp;try<br>&nbsp;{ 
<br>&nbsp;&nbsp;this-&gt;connectorMRI-&gt;Update();<br>&nbsp;}<br>&nbsp;catch( 
itk::ExceptionObject &amp; excp )<br>&nbsp;{<br>&nbsp;&nbsp;std::cerr &lt;&lt; 
&quot;Error reading the series &quot; &lt;&lt; std::endl;<br>&nbsp;&nbsp;std::cerr 
&lt;&lt; excp &lt;&lt; std::endl;<br>&nbsp;}<br>&nbsp;</font></div>
<div>&nbsp;</div>
<div><font face="Bookman Old Style">&nbsp;//shift the image from short to 
unsigned&nbsp;short for visualization using vtk<br>&nbsp;vtkImageShiftScale 
*shift = 
vtkImageShiftScale::New();<br>&nbsp;shift-&gt;SetInput(this-&gt;connectorMRI-&gt;GetOutput());<br>&nbsp;shift-&gt;SetScale(1);</font></div>
<div><font face="Bookman Old Style">&nbsp;shift-&gt;SetOutputScalarTypeToUnsignedShort();</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">//generate a volume actor</font></div>
<div><font face="Bookman Old Style">&nbsp;this-&gt;volume = 
this-&gt;GenerateVolumeRenActor(shift-&gt;GetOutput());</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">Using above pipeline I can render the dicom 
series correctly. However, when I change the itkImage3D, for 
example,</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">short *image = 
this-&gt;itkImage3D-&gt;GetBufferPointer();</font></div>
<div><font face="Bookman Old Style">ImageType_Short::RegionType region = 
this-&gt;itkImage3D-&gt;GetBufferedRegion();<br>const unsigned int numberOfPixel 
= region.GetNumberOfPixels();</font></div>
<div><font face="Bookman Old Style">for(int i = 0; i &lt; numberOfPixel ; 
i++)</font></div>
<div><font face="Bookman Old Style">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
image[i] = i;</font></div>
<div><font face="Bookman Old Style">this-&gt;itkImage3D-&gt;Modified();</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">The pipeline can not update and the volume 
is sama as the old one.</font></div>
<div><font face="Bookman Old Style">Only when I change 
the&nbsp;vtkImage,&nbsp;namely the output of the shift, the volume change. I 
guess the pipelien can not update although the itk filter modified.</font></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">Regards,</font></div></div><div style="direction: ltr;"><span class="sg">
<div>&nbsp;</div>
<div><font face="Bookman Old Style">Yixun Liu</font>&nbsp;</div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>
<div><font face="Bookman Old Style">&nbsp;</font></div>
<div><br></div>
<div><br></div>
<div><font face="Bookman Old Style"></font>&nbsp;</div>

</span></div><br>_______________________________________________<br>Insight-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br><br><br></blockquote></div><br>