I use reader-&gt;GetScalarRange() because before I was using raycastmap that accept only unsigned values.the getScalarRange is for get the smaller value of image and to do a rescale of the values the volume.The image dicom that I am opennig range from -1000 to 500, after the rescale the range is from 0 to up. But this is not the problem. I do&#39;nt need more the vtkImageShiftScale . I am not using raycastmap.<div>

<br></div><div><br></div><div><br></div><div> 2010/9/14 Jim Peterson <span dir="ltr">&lt;<a href="mailto:jimcp@cox.net">jimcp@cox.net</a>&gt;</span><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

HEber,<br>
you appear to be discounting all scalar values below zero. What is the actual range of values returned from reader-&gt;GetScalarRange()?<br>
<br>
Jim<div><div></div><div class="h5"><br>
<br>
Héber de Padua Sousa wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5">
Hi!<br>
I need help, please!<br>
I&#39;m working with vtkImagePlaneWidget, but the image is not showing on the plane.<br>
Where the plane intersect the volume It shows the color white Instead slice&#39;s grayscale texture.<br>
What is the problem?<br>
thanks<br>
this is the code:<br>
<br>
 #include &quot;vtkImageData.h&quot;<br>
 #include &quot;vtkImageViewer2.h&quot;<br>
 #include &quot;vtkRenderWindowInteractor.h&quot;<br>
 #include &quot;vtkDICOMImageReader.h&quot;<br>
 #include &quot;vtkVolumeRayCastMapper.h&quot;<br>
#include &quot;vtkRenderWindowInteractor.h&quot;<br>
<br>
 #include &quot;vtkVolumeTextureMapper2D.h&quot;<br>
 #include &quot;vtkVolumeTextureMapper3D.h&quot;<br>
#include &quot;vtkVolumeProperty.h&quot;<br>
#include &quot;vtkColorTransferFunction.h&quot;<br>
#include &quot;vtkPiecewiseFunction.h&quot;<br>
#include &lt;vtkImageShiftScale.h&gt;<br>
#include &quot;vtkVolumeRayCastMIPFunction.h&quot;<br>
#include &quot;vtkVolumeRayCastCompositeFunction.h&quot;<br>
#include &quot;vtkCamera.h&quot;<br>
#include &quot;vtkImagePlaneWidget.h&quot;<br>
#include &quot;vtkSmartPointer.h&quot;<br>
#include &quot;vtkLookupTable.h&quot;<br>
<br>
 #include &quot;vtkRenderer.h&quot;<br>
#include &quot;vtkRenderWindow.h&quot;<br>
<br>
int main()<br>
{<br>
<br>
vtkDICOMImageReader *reader = vtkDICOMImageReader :: New();<br>
 reader-&gt; SetDirectoryName(&quot;C:/volumes/PulmaoExtraido/25fatias&quot;);<br>
  reader-&gt;Update();<br>
     double range[2];<br>
         (reader-&gt;GetOutput())-&gt;GetScalarRange(range);<br>
<br>
   double shiftValue = 0;<br>
if(range[0] &lt; 0) shiftValue =(-1)*range[0];<br>
vtkImageShiftScale *shiftScale = vtkImageShiftScale::New();<br>
shiftScale-&gt;SetInput(reader-&gt;GetOutput());<br>
shiftScale-&gt;SetScale(1);<br>
shiftScale-&gt;SetShift(shiftValue);<br>
shiftScale-&gt;ClampOverflowOn();<br>
shiftScale-&gt;SetOutputScalarTypeToUnsignedShort();<br>
<br>
<br>
vtkRenderer *aRenderer = vtkRenderer::New();<br>
<br>
vtkRenderWindow *renWin = vtkRenderWindow::New();<br>
renWin-&gt;AddRenderer(aRenderer);<br>
<br>
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();<br>
iren-&gt;SetRenderWindow(renWin);<br>
<br>
vtkLookupTable* table1 = vtkLookupTable::New();<br>
table1-&gt;SetNumberOfTableValues(256);<br>
table1-&gt;Build();<br>
double r=0;<br>
double g=0;<br>
double b=0;<br>
int indice;<br>
table1-&gt;SetTableValue(0,r/255,g/255,b/255,1.0);<br>
for(int i=1;i&lt;256;i++) {<br>
<br>
     r++;<br>
     g++;<br>
     b++;<br>
     indice=i;<br>
     table1-&gt;SetTableValue(indice,r/255,g/255,b/255,1.0);<br>
}<br>
table1-&gt;SetTableRange(0,1000);<br>
table1-&gt;SetAlphaRange(1.0,1.0);<br>
<br>
vtkImagePlaneWidget *widget = vtkImagePlaneWidget::New();<br>
widget-&gt;SetLookupTable(table1);<br>
widget-&gt;SetInteractor(iren);<br>
widget-&gt;TextureVisibilityOn();<br>
widget-&gt;EnabledOn();<br>
widget-&gt;SetInput(shiftScale-&gt;GetOutput());<br>
widget-&gt;SetPlaneOrientationToZAxes();<br>
widget-&gt;PlaceWidget (0, 200, 0, 200, 0, 25);<br>
<br>
   aRenderer-&gt;SetBackground(0,0.3,0.3);<br>
<br>
iren-&gt;Initialize();<br>
iren-&gt;Start();<br>
<br>
reader-&gt;Delete();<br>
aRenderer-&gt;Delete();<br>
renWin-&gt;Delete();<br>
iren-&gt;Delete();<br>
return 0;<br>
}<br>
<br></div></div>
------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
  <br>
</blockquote>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>&gt;&gt; Héber de Padua Sousa<br>/~heber<br>
</div>