Discussion:
[mitk-users] Building Tutorial Step 03 without qt
Jorge Quiroga
2017-05-25 13:44:13 UTC
Permalink
Hello all,

I'm trying to build a small module with MITK like the one in the step 03
but Qt free, I have been using the QtFreeRender example as a reference but
I have gotten nowhere, the code uses "QmitkRegisterClasses.h"
"QmitkRenderWindow.h", its possible to make a step 03 of tutorial like
program without qt?

Thank!

Regards.
Dinkelacker, Stefan
2017-05-29 07:57:38 UTC
Permalink
Hi,


you already found QtFreeRender, which shows how to render things with just VTK. When you want to adapt Step03 to VTK-only, you would have to remove all the Qt-related classes and replace the rendering stuff with something similar to QtFreeRender. Also make sure to remove the Qt-dependencies from the CMakeLists.txt of Step03. QtFreeRender just references MitkCore for example.


Best,

Stefan

________________________________
Von: Jorge Quiroga <***@gmail.com>
Gesendet: Donnerstag, 25. Mai 2017 15:44
An: mitk-***@lists.sourceforge.net
Betreff: [mitk-users] Building Tutorial Step 03 without qt

Hello all,

I'm trying to build a small module with MITK like the one in the step 03 but Qt free, I have been using the QtFreeRender example as a reference but I have gotten nowhere, the code uses "QmitkRegisterClasses.h" "QmitkRenderWindow.h", its possible to make a step 03 of tutorial like program without qt?

Thank!

Regards.
[Loading Image...
Jorge Quiroga
2017-05-29 09:20:36 UTC
Permalink
Thanks! I was sort of able to run the step 03 without Qt, by changing the
QtFreeRender a little, I hadn't set the volumerendering to "true", I
customized the windows and runs great

What I'm having troubles now It's with the 2D planes I decided to keep from
the example, they are static and don't react to pointer input, for what I'm
able to understand in the code I should be able to interact, I changed the
false values but it had no effect

mitk::RenderWindow::Pointer mitkWidget1;
mitk::RenderWindow::Pointer mitkWidget2;
mitk::RenderWindow::Pointer mitkWidget3;
mitk::RenderWindow::Pointer mitkWidget4;
mitk::DisplayInteractor::Pointer m_DisplayInteractor;
vtkSmartPointer<vtkMitkRectangleProp> m_RectangleRendering1;
vtkSmartPointer<vtkMitkRectangleProp> m_RectangleRendering2;
vtkSmartPointer<vtkMitkRectangleProp> m_RectangleRendering3;
vtkSmartPointer<vtkMitkRectangleProp> m_RectangleRendering4;
mitk::SliceNavigationController *m_TimeNavigationController = NULL;
mitk::DataStorage::Pointer m_DataStorage;
mitk::DataNode::Pointer m_PlaneNode1;
mitk::DataNode::Pointer m_PlaneNode2;
mitk::DataNode::Pointer m_PlaneNode3;
mitk::DataNode::Pointer m_Node;
void InitializeWindows()
{
// Set default view directions for SNCs
mitkWidget1->GetSliceNavigationController()->SetDefaultViewDirection(mitk::SliceNavigationController::Axial);
mitkWidget2->GetSliceNavigationController()->SetDefaultViewDirection(mitk::SliceNavigationController::Sagittal);
mitkWidget3->GetSliceNavigationController()->SetDefaultViewDirection(mitk::SliceNavigationController::Frontal);
mitkWidget4->GetSliceNavigationController()->SetDefaultViewDirection(mitk::SliceNavigationController::Original);
// initialize m_TimeNavigationController: send time via
sliceNavigationControllers
m_TimeNavigationController =
mitk::RenderingManager::GetInstance()->GetTimeNavigationController();
m_TimeNavigationController->ConnectGeometryTimeEvent(mitkWidget1->GetSliceNavigationController(),
false);
m_TimeNavigationController->ConnectGeometryTimeEvent(mitkWidget2->GetSliceNavigationController(),
false);
m_TimeNavigationController->ConnectGeometryTimeEvent(mitkWidget3->GetSliceNavigationController(),
false);
m_TimeNavigationController->ConnectGeometryTimeEvent(mitkWidget4->GetSliceNavigationController(),
false);
mitkWidget1->GetSliceNavigationController()->ConnectGeometrySendEvent(
mitk::BaseRenderer::GetInstance(mitkWidget4->GetVtkRenderWindow()));
// reverse connection between sliceNavigationControllers and
m_TimeNavigationController
mitkWidget1->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
mitkWidget2->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
mitkWidget3->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
mitkWidget4->GetSliceNavigationController()->ConnectGeometryTimeEvent(m_TimeNavigationController,
false);
I'm also getting this from the vtk output window "ERROR: In
C:\M8\MITK-superbuild\ep\src\VTK\Rendering\OpenGL\vtkOpenGLExtensionManager.cxx,
line 745vtkOpenGLExtensionManager (14C8AEF8): Extension GL_VERSION_1_2
could not be loaded.", for what I have been reading it might be related to
my graphics card, but I'm not sure if it's the reason I can't interact with
planes.

I got an integrated graphics card i5-2410M if it's relevant.

Thanks a lot!!

Regards.


2017-05-29 9:57 GMT+02:00 Dinkelacker, Stefan <
Hi,
you already found QtFreeRender, which shows how to render things with just
VTK. When you want to adapt Step03 to VTK-only, you would have to remove
all the Qt-related classes and replace the rendering stuff with something
similar to QtFreeRender. Also make sure to remove the Qt-dependencies from
the CMakeLists.txt of Step03. QtFreeRender just references MitkCore for
example.
Best,
Stefan
------------------------------
*Gesendet:* Donnerstag, 25. Mai 2017 15:44
*Betreff:* [mitk-users] Building Tutorial Step 03 without qt
Hello all,
I'm trying to build a small module with MITK like the one in the step 03
but Qt free, I have been using the QtFreeRender example as a reference but
I have gotten nowhere, the code uses "QmitkRegisterClasses.h"
"QmitkRenderWindow.h", its possible to make a step 03 of tutorial like
program without qt?
Thank!
Regards.
Loading...