Hello Amir,
Thank you very much for your reply!
You are very close to what I am doing, however last days I did some
changes.
MRI tab was like before, with the conventional 4 window Widget (2D windows:
axial, sagital and coronal and one 3D). Regarding the US image tab I
created three separated QmitkRenderWindow (no QmitkStdMultiWidget any
more), two 2D axial and one 3D. In total: 5 2D Render Windows and 2 3D
RenderWindows.
"You want to manage both multi widgets individually with different image
modalities, so you created two data storages, one for each multi widget.
One data storage contains the MRI image to be shown in the first multi
widget, the other data storage contains the US image to be shown in the
second multi widget.
Later you created two separate rendering manager so that each one only
initializes its associated render windows ."
This is correct!
Yes, I thought about your problem mentioned before.. And I tried (just to
see what happened) to create a different Rendering Manager for one of the
2D render window in US tab (so two rendering managers in US tab sharing
dataStorage). And it happened exactly the same as before... So I discarded "a
call somewhere that automatically initializes all the render windows of a
rendering manager".
To initialize the views of the rendering managersI did:
m_rendering_manager_us->InitializeView(m_2DrenderWindow_us->
GetVtkRenderWindow(),
m_data_storage_us->GetNamedNode("US")->GetData()->GetGeometry(), false);
m_rendering_manager_us_doppler->InitializeView(m_2DrenderWindow_us_doppler->
GetVtkRenderWindow(),
m_data_storage_us->GetNamedNode("US_doppler")->GetData()->GetGeometry(),
false);
My last chance was trying it with two different dataStorages in same
rendering manager... In that way it works but I would prefer the "best
solution".. Regarding that, I have never debugged using mitk in linux,
would you have any tip? Sorry if this is a very basic question!
And another question would be: you say that automatically initializes all
the render windows of a rendering manager with* the bounding box* of all
nodes in the data storage, but the *bounding box* is about dimensions
right? What I see is that it always shows the last node charged to the data
storage. Is there any way to say a render window what to show in a more
direct way? something regarding layers? I found something about this
in *QmitkRenderWindowManagerView,
*I tried to use the plugin but I don't find the way of using it properly...
Best,
Rocío
2018-03-23 13:17 GMT+01:00 Kalali, Amir <[email protected]>:
> Hi again,
>
>
>
> So you now have 4 data storages in total? That does not sound like “the
> best solution”.
>
>
>
> Let me go back some steps and see what you want to achieve:
>
> You have two QmitkStdMultiWidgets, each with 2 2D-RenderWindows and a
> 3D-RenderWindow (so in total: 4 2D-RenderWindows and 2 3D-RenderWindows).
>
> You want to manage both multi widgets individually with different image
> modalities, so you created two data storages, one for each multi widget.
>
> One data storage contains the MRI image to be shown in the first multi
> widget, the other data storage contains the US image to be shown in the
> second multi widget.
>
>
>
> Later you created two separate rendering manager so that each one only
> initializes its associated render windows .
>
>
>
> Your new goal is now to have two US images in the “US-dataStorage” and
> show both in their individual render windows.
>
> However, now you might run into the problem I mentioned before: There
> might be a call somewhere that automatically initializes all the render
> windows of a rendering manager with the bounding box of all nodes in the
> data storage (two “US”-images).
>
>
>
> You should check and debug the calls to ‘void
> RenderingManager::InternalViewInitialization’
> to see if the function is called from somewhere, where the whole data
> storage is used or all render windows or something similar.
>
>
>
> Best,
>
>
>
> Amir
>
>
>
> *From:* LOPEZ VELAZCO, ROCIO [mailto:[email protected]]
> *Sent:* Thursday, 22 March, 2018 12:23
> *To:* [email protected]
> *Subject:* Re: [mitk-users] How to show two different axial images
> simultaneously in same MultiWidget
>
>
>
> Hello,
>
> I solved this by creating two different dataStorage for each render
> window. I don't know if this is the best solution...
>
> Best,
>
> Rocio
>
>
>
> 2018-03-20 17:20 GMT+01:00 LOPEZ VELAZCO, ROCIO <[email protected]>:
>
> Hello again ^^',
>
> In the MITK based application I am developing, I would like to show two US
> axial images (stored in same datastorage). I changed the appeareace of the
> QmitkStdMultiWidget so that having 2x2D Render Window and a 3D render
> window (like in the following figure):
>
> I want to show the axial view of both US images in each 2D render window.
> In order to do so I first first changed the view directrion of widget 2
> from sagital to axial and that works properly:
>
> m_multiWidget_us->GetRenderWindow2()->GetSliceNavigationController()->
> SetDefaultViewDirection(mitk::SliceNavigationController::Axial);
>
>
>
> Then I Initialize both views each one with one known data:
>
> m_rendering_manager_us->InitializeView(m_multiWidget_us->GetRenderWindow1
> ()->GetVtkRenderWindow(),
>
> m_data_storage_us->GetNamedNode("US")->GetData()->GetGeometry(),
>
> false);
>
> m_rendering_manager_us->InitializeView(m_multiWidget_us->GetRenderWindow2
> ()->GetVtkRenderWindow(),
>
> m_data_storage_us->GetNamedNode("US_doppler")->GetData()->GetGeometry(),
>
> false);
>
>
>
> Where *m_rendering_manager_us* is the rendering manager of that
> multiwidget.
>
> However this does not work properly since the last node loaded is
> initialized in widget1 too, I assume it is because it is the last node
> initialized and it gets priority?
>
>
>
> So... my main question would be, how can I "separate" priority and charge
> them separately? Does it have to do with time geometry? Would it be better
> if I create separated render window widgets in spite of the
> QmitkStdMultiWidget?
>
> I have no more ideas in how to try this...
>
>
>
> Thank you very much in advance!
>
> Best regards,
>
>
>
> Rocío
>
> --
>
> Rocío López Velazco
>
> *SimbioSYS group, BCN MedTech*
>
> *UniversityPompeu Fabra*
>
> *Department of Information and Communication Technologies *
>
> *Roc Boronat, 122
> <https://maps.google.com/?q=Roc+Boronat,+122&entry=gmail&source=g> (Tànger
> Building), 08018 Barcelona Office 55 119 *
> *https://bcn-medtech.upf.edu/ <https://bcn-medtech.upf.edu/>*
>
>
>
>
>
>
>
>
> --
>
> Rocío López Velazco
>
> *SimbioSYS group, BCN MedTech*
>
> *UniversityPompeu Fabra*
>
> *Department of Information and Communication Technologies *
>
> *Roc Boronat, 122
> <https://maps.google.com/?q=Roc+Boronat,+122&entry=gmail&source=g> (Tànger
> Building), 08018 Barcelona Office 55 119 *
> *https://bcn-medtech.upf.edu/ <https://bcn-medtech.upf.edu/>*
>
>
>
>
>
--
Rocío López Velazco
*SimbioSYS** group, BCN MedTech*
*UniversityPompeu Fabra*
*Department of Information and Communication Technologies Roc Boronat, 122
(Tànger Building), 08018 Barcelona Office 55 119
https://bcn-medtech.upf.edu/ <https://bcn-medtech.upf.edu/>*
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users