<font size="2"><font face="verdana,sans-serif">True. <a href="http://www.vtk.org/Wiki/Improvements_in_VTK_5.6">http://www.vtk.org/Wiki/Improvements_in_VTK_5.6</a><br></font></font><br><div class="gmail_quote">2011/8/4 Joseph D. Wieber Jr. <span dir="ltr"><<a href="mailto:jdwieber@gmail.com">jdwieber@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><u></u>
<div bgcolor="#ffffff" text="#000000">
Thanks for your reply. Unfortunately, I don't see
vtkGPUVolumeRayCastMapper in the version (5.4.2-8ubuntu4) I'm
using. I guess it's time for an upgrade.<div><div></div><div class="h5"><br>
<br>
On 08/04/2011 05:45 AM, Dženan Zukić wrote:
<blockquote type="cite"><font size="2"><font face="verdana,sans-serif">Have
you tried vtkGPUVolumeRayCastMapper?<br>
</font></font><br>
<div class="gmail_quote">On Thu, Aug 4, 2011 at 02:59, Joseph D.
Wieber Jr. <span dir="ltr"><<a href="mailto:jdwieber@gmail.com" target="_blank">jdwieber@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">I apologize, I figured it out. It was the
single line in generateVolume that reads:
spVolumeProperty->IndependentComponentsOff(); When I
comment out this line, and uncomment the lines for linear
interpolation and shading it looks very nice. However, it's
terribly slow. I suspect that this version is software
rendered. Is there a similar hardware accelerated method?<br>
<br>
Thanks
<div>
<div><br>
<br>
On 08/03/2011 07:18 PM, Joseph D. Wieber Jr. wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<br>
Hi all,<br>
<br>
I'm trying to do some volume rendering using the below
code, but nothing is showing in the render window. When
I run the code I see the window and the background color
that I set, but no data. The code cranks for about 5
seconds before I see the default render window replaced
(the default render window is white, and the volume
render window is gray-ish). I don't see error messages
in the console either.<br>
<br>
I'm using Qt with QVTKWidget to create the GUI. I'm
obviously doing something wrong, but I don't see what it
is. Does anyone see what I'm missing? Thanks.<br>
<br>
Regards,<br>
<br>
Joseph<br>
<br>
void MainWindow::on_actionOpenDirectory_triggered()<br>
{<br>
QString dirname = QFileDialog::getExistingDirectory(
this,<br>
tr("Select a Directory"),<br>
QDir::currentPath() );<br>
if( !dirname.isNull() )<br>
{<br>
string pattern( dirname.toStdString () );<br>
pattern += "/%03d.png";<br>
cerr << "using pattern:<" <<
pattern << ">\n";<br>
<br>
vtkSmartPointer< vtkVolume > spVolume =
generateVolume ( pattern );<br>
<br>
vtkSmartPointer<vtkRenderWindow> spRenWin =<br>
vtkSmartPointer<vtkRenderWindow>::New();<br>
<br>
vtkSmartPointer< vtkRenderer> spRen =<br>
vtkSmartPointer< vtkRenderer
>::New();<br>
spRen->AddViewProp ( spVolume );<br>
<br>
spRenWin->AddRenderer( spRen );<br>
m_pUi->qvtkWidget->SetRenderWindow (
spRenWin );<br>
vtkSmartPointer< vtkRenderWindowInteractor
> spIren =<br>
m_pUi->qvtkWidget->GetInteractor
();<br>
spIren->SetRenderWindow( spRenWin );<br>
spRen->SetBackground( 0.2, 0.3, 0.4 );<br>
spRen->ResetCamera ();<br>
<br>
//I tried this in place of ResetCamera, but id
didn't work either<br>
// vtkSmartPointer< vtkCamera >
spCamera = spRen->GetActiveCamera();<br>
// double* c = spVolume->GetCenter();<br>
// spCamera->SetFocalPoint( c[ 0 ], c[
1 ], c[ 2 ] );<br>
// spCamera->SetPosition( c[ 0 ] + 400,
c[ 1 ], c[ 2 ] );<br>
// spCamera->SetViewUp( 0, 0, -1 );<br>
<br>
<br>
spRenWin->Render();<br>
m_pUi->qvtkWidget->setCursor (
Qt::ArrowCursor );<br>
}<br>
else<br>
{<br>
//TODO: do something intelligent here!<br>
}<br>
}<br>
<br>
<br>
//---------------------------------------------------------------------------------------------------------------------------
<br>
vtkSmartPointer< vtkVolume >
MainWindow::generateVolume( const std::string&
pattern )<br>
{<br>
//m_spReader is a vtkSmartPointer< vtkPNGReader
><br>
m_spReader->SetFilePattern ( pattern.c_str () );<br>
m_spReader->SetFileNameSliceOffset ( 1 );//images
start at 001.png<br>
//TODO: derive these from input<br>
m_spReader->SetDataExtent( 0, 511, 0, 511, 1, 370
);//images go from 1 to 370<br>
m_spReader->SetDataSpacing( 1.0, 1.0, 1.0 ); // mm<br>
m_spReader->SetDataOrigin( 0, 0, 0 );<br>
m_spReader->SetDataScalarTypeToUnsignedChar();<br>
//m_spReader->Update();<br>
<br>
vtkSmartPointer< vtkPiecewiseFunction >
spOpacityTransferFunction =<br>
vtkSmartPointer< vtkPiecewiseFunction
>::New();<br>
spOpacityTransferFunction->AddPoint( 0, 0.0 );<br>
spOpacityTransferFunction->AddPoint( 255, 1.0 );<br>
<br>
vtkSmartPointer< vtkVolumeProperty >
spVolumeProperty =<br>
vtkSmartPointer< vtkVolumeProperty
>::New();<br>
spVolumeProperty->SetScalarOpacity( 0,
spOpacityTransferFunction );<br>
spVolumeProperty->SetScalarOpacity( 1,
spOpacityTransferFunction );<br>
spVolumeProperty->SetScalarOpacity( 2,
spOpacityTransferFunction );<br>
spVolumeProperty->IndependentComponentsOff();<br>
spVolumeProperty->SetInterpolationTypeToLinear();<br>
//spVolumeProperty->ShadeOn();<br>
//spVolumeProperty->SetAmbient( 0.4 );<br>
//spVolumeProperty->SetDiffuse( 0.6 );<br>
//spVolumeProperty->SetSpecular( 0.2 );<br>
<br>
vtkSmartPointer< vtkFixedPointVolumeRayCastMapper
> spVolumeMapper =<br>
vtkSmartPointer<
vtkFixedPointVolumeRayCastMapper >::New();<br>
<br>
spVolumeMapper->SetInputConnection(
m_spReader->GetOutputPort() );<br>
<br>
vtkSmartPointer< vtkVolume > spVolume =<br>
vtkSmartPointer< vtkVolume >::New();<br>
spVolume->SetMapper( spVolumeMapper );<br>
spVolume->SetProperty( spVolumeProperty );<br>
<br>
return spVolume;<br>
}<br>
<br>
</blockquote>
_______________________________________________<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>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
</div></div></div>
</blockquote></div><br>