Well I checked that example of Qt and VTK, got some others qvtkwidgets working fine, my last is as follows:<br><br>vtkSmartPointer< vtkDICOMImageReader > reader =<br> vtkSmartPointer< vtkDICOMImageReader >::New();<br>
reader->SetDataByteOrderToLittleEndian();<br> //reader->SetDirectoryName(argv[1]);<br> reader->SetDirectoryName("C:\\VTK5.10\\DATA\\DICOM");<br> //reader->SetDirectoryName("C:\\VTK5.10\\DATA\\TUBO");<br>
//reader->SetDataSpacing(3.2, 3.2, 1.5);<br> //reader->SetDataOrigin(0.0, 0.0, 0.0);<br> reader->Update();<br><br> vtkSmartPointer< vtkImageCast > readerImageCast =<br> vtkSmartPointer< vtkImageCast >::New();<br>
readerImageCast->SetInput((vtkDataObject *)reader->GetOutput());<br> readerImageCast->SetOutputScalarTypeToUnsignedChar();<br> readerImageCast->ClampOverflowOn();<br><br> vtkSmartPointer< vtkImageThreshold > thresh =<br>
vtkSmartPointer< vtkImageThreshold >::New();<br> thresh->SetInputConnection(readerImageCast->GetOutputPort());<br> //thresh->SetInValue(32768);<br> thresh->SetInValue(32768);<br> thresh->ThresholdBetween(350, 500);<br>
<br> m_opacityFunction = vtkPiecewiseFunction::New();<br> m_colorTransferFunction = vtkColorTransferFunction::New();<br><br> vtkSmartPointer< vtkVolumeProperty > volumeProperty =<br> vtkSmartPointer <vtkVolumeProperty >::New();<br>
volumeProperty->SetColor(m_colorTransferFunction);<br> volumeProperty->SetScalarOpacity(m_opacityFunction);<br> volumeProperty->ShadeOn();<br> volumeProperty->SetInterpolationTypeToLinear();<br><br>
UpdateMIP();<br><br> //vtkSmartPointer< vtkVolumeRayCastCompositeFunction > compositeFunction =<br> // vtkSmartPointer< vtkVolumeRayCastCompositeFunction >::New();<br> vtkSmartPointer< vtkFixedPointVolumeRayCastMapper > volumeMapper =<br>
vtkSmartPointer< vtkFixedPointVolumeRayCastMapper >::New();<br> //vtkSmartPointer< vtkVolumeRayCastMapper > volumeMapper =<br> // vtkSmartPointer< vtkVolumeRayCastMapper >::New();<br> //volumeMapper->SetVolumeRayCastFunction(compositeFunction);<br>
//volumeMapperMIP->SetInput(readerImageCast->GetOutput());<br> volumeMapper->SetInputConnection(thresh->GetOutputPort());<br> //volumeMapper->SetInput(thresh->GetOutput());<br> <br> vtkSmartPointer< vtkVolume > volume =<br>
vtkSmartPointer< vtkVolume >::New();<br> volume->SetMapper(volumeMapper);<br> volume->SetProperty(volumeProperty);<br><br> volumeMapper->SetBlendModeToComposite();<br> volumeProperty->ShadeOn();<br>
<br> vtkSmartPointer< vtkRenderer > renderer =<br> vtkSmartPointer< vtkRenderer >::New();<br> renderer->AddVolume(volume);<br> renderer->ResetCamera();<br> renderer->SetBackground(0.1, 0.2, 0.3);<br>
<br> //ui->mipvolume->GetRenderWindow()->AddRenderer(renderer);<br> connect(this->ui->updateMIP, SIGNAL(clicked()), this, SLOT(UpdateMIP()));<br><br> vtkSmartPointer< vtkAxesActor > axes =<br>
vtkSmartPointer< vtkAxesActor >::New();<br> vtkSmartPointer< vtkOrientationMarkerWidget > widget =<br> vtkSmartPointer< vtkOrientationMarkerWidget >::New();<br> widget->SetInteractor(ui->mipvolume->GetInteractor());<br>
widget->SetOutlineColor(0.9300, 0.5700, 0.1300);<br> widget->SetOrientationMarker(axes);<br> //widget->SetViewport(0.0, 0.0, 0.4, 0.4);<br> widget->EnabledOn();<br> widget->SetEnabled(1);<br>
widget->InteractiveOn();<br> <br> //this->ui->mipvolume->GetInteractor()->Initialize();<br> //this->ui->mipvolume->GetInteractor()->Start();<br> //this->ui->mipvolume->GetInteractor()->SetRenderWindow(this->ui->mipvolume->GetRenderWindow());<br>
ui->mipvolume->GetRenderWindow()->AddRenderer(renderer);<br><br>These gives me the following error when opening the .exe output<br><br>Generic Warning: In C:\Users\RODRIGO LOVERA\Documents\PUCP\Tesis\VTK 5.10\VTK\Widgets\vtkOrientationMarkerWidget.cxx, line 532<br>
Set interactor and Enabled before changing interaction.<br><br>I really dont know how to solve it.<br>
<div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/26 David Doria <span dir="ltr"><<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Sun, Nov 25, 2012 at 10:49 PM, Rodrigo Lovera <span dir="ltr"><<a href="mailto:lobo.theslayer@gmail.com" target="_blank">lobo.theslayer@gmail.com</a>></span> wrote:<br></div><div class="gmail_quote">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I just added the code I linked before, I can't fully provide the code im working on cuz it's a gui and in these case it's just a function I call to the main for a qvtkwidget.<br></blockquote><div><br></div></div>
Why can you not provide minimal code for a GUI?</div>
<div class="gmail_quote"><br>The first thing I suggest you do is look at the examples (e.g. <a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/RenderWindowUIMultipleInheritance" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/Cxx/Qt/RenderWindowUIMultipleInheritance</a>) - you will see that there is no vtkRenderWindowInteractor created (and thus no interactor->Start() called) because all of this is handled inside the QVTKWidget.<span class="HOEnZb"><font color="#888888"><br clear="all">
<br>David<br><br><div> </div></font></span></div>
</blockquote></div><br><br clear="all"><br>-- <br><b><font face="'comic sans ms', sans-serif" color="#000066">Rodrigo aka WarHearT</font></b><br>
</div>