I use reader->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'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"><<a href="mailto:jimcp@cox.net">jimcp@cox.net</a>></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->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'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's grayscale texture.<br>
What is the problem?<br>
thanks<br>
this is the code:<br>
<br>
#include "vtkImageData.h"<br>
#include "vtkImageViewer2.h"<br>
#include "vtkRenderWindowInteractor.h"<br>
#include "vtkDICOMImageReader.h"<br>
#include "vtkVolumeRayCastMapper.h"<br>
#include "vtkRenderWindowInteractor.h"<br>
<br>
#include "vtkVolumeTextureMapper2D.h"<br>
#include "vtkVolumeTextureMapper3D.h"<br>
#include "vtkVolumeProperty.h"<br>
#include "vtkColorTransferFunction.h"<br>
#include "vtkPiecewiseFunction.h"<br>
#include <vtkImageShiftScale.h><br>
#include "vtkVolumeRayCastMIPFunction.h"<br>
#include "vtkVolumeRayCastCompositeFunction.h"<br>
#include "vtkCamera.h"<br>
#include "vtkImagePlaneWidget.h"<br>
#include "vtkSmartPointer.h"<br>
#include "vtkLookupTable.h"<br>
<br>
#include "vtkRenderer.h"<br>
#include "vtkRenderWindow.h"<br>
<br>
int main()<br>
{<br>
<br>
vtkDICOMImageReader *reader = vtkDICOMImageReader :: New();<br>
reader-> SetDirectoryName("C:/volumes/PulmaoExtraido/25fatias");<br>
reader->Update();<br>
double range[2];<br>
(reader->GetOutput())->GetScalarRange(range);<br>
<br>
double shiftValue = 0;<br>
if(range[0] < 0) shiftValue =(-1)*range[0];<br>
vtkImageShiftScale *shiftScale = vtkImageShiftScale::New();<br>
shiftScale->SetInput(reader->GetOutput());<br>
shiftScale->SetScale(1);<br>
shiftScale->SetShift(shiftValue);<br>
shiftScale->ClampOverflowOn();<br>
shiftScale->SetOutputScalarTypeToUnsignedShort();<br>
<br>
<br>
vtkRenderer *aRenderer = vtkRenderer::New();<br>
<br>
vtkRenderWindow *renWin = vtkRenderWindow::New();<br>
renWin->AddRenderer(aRenderer);<br>
<br>
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();<br>
iren->SetRenderWindow(renWin);<br>
<br>
vtkLookupTable* table1 = vtkLookupTable::New();<br>
table1->SetNumberOfTableValues(256);<br>
table1->Build();<br>
double r=0;<br>
double g=0;<br>
double b=0;<br>
int indice;<br>
table1->SetTableValue(0,r/255,g/255,b/255,1.0);<br>
for(int i=1;i<256;i++) {<br>
<br>
r++;<br>
g++;<br>
b++;<br>
indice=i;<br>
table1->SetTableValue(indice,r/255,g/255,b/255,1.0);<br>
}<br>
table1->SetTableRange(0,1000);<br>
table1->SetAlphaRange(1.0,1.0);<br>
<br>
vtkImagePlaneWidget *widget = vtkImagePlaneWidget::New();<br>
widget->SetLookupTable(table1);<br>
widget->SetInteractor(iren);<br>
widget->TextureVisibilityOn();<br>
widget->EnabledOn();<br>
widget->SetInput(shiftScale->GetOutput());<br>
widget->SetPlaneOrientationToZAxes();<br>
widget->PlaceWidget (0, 200, 0, 200, 0, 25);<br>
<br>
aRenderer->SetBackground(0,0.3,0.3);<br>
<br>
iren->Initialize();<br>
iren->Start();<br>
<br>
reader->Delete();<br>
aRenderer->Delete();<br>
renWin->Delete();<br>
iren->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>>> Héber de Padua Sousa<br>/~heber<br>
</div>