<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
That's a lot of new classes.<br>
<br>
I tried to upgrade but now I get 717 linker errors. I posted a new
question regarding this.<br>
<br>
On 08/04/2011 08:58 AM, Dženan Zukić wrote:
<blockquote
cite="mid:CAPf2UMSoZYfhWhg2aeVbxdkBk-3y54cEygP-LVCE7xcjbC9Vyw@mail.gmail.com"
type="cite"><font size="2"><font face="verdana,sans-serif">True. <a
moz-do-not-send="true"
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 moz-do-not-send="true"
href="mailto:jdwieber@gmail.com">jdwieber@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<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 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
moz-do-not-send="true"
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 moz-do-not-send="true"
href="http://www.kitware.com"
target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a
moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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>
</blockquote>
</body>
</html>