Hi Zsombor,

Amir or Stephen may add something about the mxn widget editor, which is 
specifically developed for such use cases.


For now I can propose the classic solution to this kind of problem. Appearance 
of data in MITK is typically stored in the properties of a data node. You may 
be familiar with the Properties View/Plugin to inspect them right in the 
MitkWorkbench.


Data nodes do not only have a single property list, but also dedicated property 
lists for each and every render window. If a property with a certain name is 
found in such a specific property list, it has the precedence.


You'll notice that DataNode methods like GetPropertyList() have an optional 
parameter to specify such a dedicated property list, either by a pointer to the 
according renderer or by the name of the renderer. There's also a 
GetPropertyListNames() method for querying the names.


You'll also notice a "Property List" combo box in the Properties View/Plugin 
which you can use to inspect property lists other than the default data node 
property list. Make sure to select a data node before, though.


You can use the View to get a better understanding of the lists. For example, 
choose another data node property list of a certain render window, click on the 
"Add new property" button and add a float property with the name "opacity" and 
the value 0.1. While the global opacity value of the data node is applied to 
all other render windows, the opacity of the render window you chose is now set 
to 0.1. You may need to click once into the render window to see the effect.


Best,

Stefan


________________________________
Von: VR Bay <bayvr...@gmail.com>
Gesendet: Montag, 28. November 2022 10:13
An: mitk-users@lists.sourceforge.net
Betreff: [mitk-users] DataStorage clone

Dear MITK-Developers!

I have urgent question about how to clone DataStorage or DataNodes. I want to 
display the same loaded image in two views in one window, but I can't fully 
without the separation.
The problem is when I change the opacity in the first image view, it will be 
also change in the second view.
So one loaded image in two separated views.

mitk::StandaloneDataStorage::Pointer dataStorage = 
mitk::StandaloneDataStorage::New();
mitk::StandaloneDataStorage::SetOfObjects::Pointer dataNodes = 
mitk::IOUtil::Load(path, dataNodes*);

I also used the clone method, but give me a lightobject, which is not separated 
from the source.

Regards,
Zsombor


_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to