Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model hierarchy within subject hierarchy #4

Closed
7 tasks done
cpinter opened this issue Oct 30, 2018 · 6 comments
Closed
7 tasks done

Model hierarchy within subject hierarchy #4

cpinter opened this issue Oct 30, 2018 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@cpinter
Copy link
Contributor

cpinter commented Oct 30, 2018

In order to label the existing atlases in Slicer properly, we need a way to assign standard terminologies to models in a hierarchy. Instead of fixing the current model hierarchy (which is quite buggy and that's part of the reason SH is not based on the original MRML scene model), we can achieve this within subject hierarchy:

  • Add a new column for color
    • Proposed design: new function in abstract plugin which SH plugins can implement if makes sense to show one color (models, segments, fiducials, ?)
    • Add option to SH tree view to whitelist/blacklist plugins. This will be done with two QLists that, if not empty, will specify which plugins are used for populating the context menu
    • On double-click on color, the terminology selector will pop up, which sets the color and writes the terminology in the proper place (the relevant SH plugins would do this).
    • Add a remove button to terminology selector (in segments it's mandatory but in other nodes it's not)
  • Add opacity SH plugin that has a slider in a sub-menu of the action (similarly to slice spacing in slice view controller)
  • Add color information to folder items, allow them to override branch color
@cpinter cpinter added the enhancement New feature or request label Oct 30, 2018
@cpinter cpinter self-assigned this Oct 30, 2018
cpinter added a commit to cpinter/SlicerGitSVNArchive that referenced this issue Nov 23, 2018
- Add new column for color between visibility and transform columns. It shows the color for segments, models, and markup fiducials (selected color)
- Double-clicking the color brings up terminology selector where terminology and color can be selected. Terminology information is stored in segments as before (segment attributes), and for models and markups it is stored in MRML node attributes. When selecting a terminology type, color is overwritten but name is not by default
Re PerkLab/SlicerOpenAnatomy#4

- Transform column now shows icon instead of the first few letters of the transform name. There is a separate icon for linear and deformable transforms
- Double-clicking the icon brings up a menu instead of a node selector that had to be clicked again
- Subject hierarchy reference highlights are now updated immediately after selecting a transforms, so the highlighted transform node is always correct
Re https://issues.slicer.org/view.php?id=4401
slicerbot pushed a commit to Slicer/SlicerGitSVNArchive that referenced this issue Nov 26, 2018
- Add new column for color between visibility and transform columns. It shows the color for segments, models, and markup fiducials (selected color)
- Double-clicking the color brings up terminology selector where terminology and color can be selected. Terminology information is stored in segments as before (segment attributes), and for models and markups it is stored in MRML node attributes. When selecting a terminology type, color is overwritten but name is not by default
Re PerkLab/SlicerOpenAnatomy#4

- Transform column now shows icon instead of the first few letters of the transform name. There is a separate icon for linear and deformable transforms
- Double-clicking the icon brings up a menu instead of a node selector that had to be clicked again
- Subject hierarchy reference highlights are now updated immediately after selecting a transforms, so the highlighted transform node is always correct
Re https://issues.slicer.org/view.php?id=4401

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27571 3bd1e089-480b-0410-8dfb-8563597acbee
slicerbot pushed a commit to Slicer/SlicerGitSVNArchive that referenced this issue Nov 30, 2018
It is now possible to determine a subset of enabled subject hierarchy plugins for each subject hierarchy tree and combobox.
- Whitelist contains the enabled plugins, and if it's not empty, then all plugins not in the list are disabled.
- Blacklist contains the disabled plugins; all other plugins are enabled. By default both lists are empty, meaning that all plugins are enabled.

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27583 3bd1e089-480b-0410-8dfb-8563597acbee
slicerbot pushed a commit to Slicer/SlicerGitSVNArchive that referenced this issue Nov 30, 2018
The opacity plugin adds an Opacity action in the visibility context menu with a sub-menu that contains a slider showing the opacity and which can be used to change the opacity of the item.

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27585 3bd1e089-480b-0410-8dfb-8563597acbee
@cpinter
Copy link
Contributor Author

cpinter commented Nov 30, 2018

@lassoan I finished all items in this ticket. I think we are now ready to replace the model hierarchy to subject hierarchy in the Models module.

slicerbot pushed a commit to Slicer/SlicerGitSVNArchive that referenced this issue Dec 4, 2018
An important step towards making subject hierarchy usable as model hierarchy. Model hierarchy nodes have been represented as folders in subject hierarchy already, so it makes sense to use the folders for the same purpose.
- Folders now can have color associated to them. If it's a mirrored model hierarchy node, then it uses the display node of the MH node, otherwise it creates a model display node associated to the folder item
- A visibility context menu action called 'Apply color to branch' allows overriding the color of the model nodes in the folder, the same way the checkbox does in the model hierarchy (the two functions are reflected in the two types of hierarchies so there is no confusion if used together)
- Right-clicking the color column now shows the visibility context menu as color is related to visibility

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27592 3bd1e089-480b-0410-8dfb-8563597acbee
@cpinter
Copy link
Contributor Author

cpinter commented Dec 12, 2018

Pull request for replacing model hierarchy with subject hierarchy in the Models module:
Slicer/Slicer#1054

This PR enables managing atlases in Slicer accoridng to the needs defined by the OpenAnatomy project. Expected integration is after the release of Slicer 4.10.1.

jcfr added a commit to Slicer/SlicerGitSVNArchive that referenced this issue Jan 16, 2019
- Add new column for color between visibility and transform columns. It shows the color for segments, models, and markup fiducials (selected color)
- Double-clicking the color brings up terminology selector where terminology and color can be selected. Terminology information is stored in segments as before (segment attributes), and for models and markups it is stored in MRML node attributes. When selecting a terminology type, color is overwritten but name is not by default
Re PerkLab/SlicerOpenAnatomy#4

- Transform column now shows icon instead of the first few letters of the transform name. There is a separate icon for linear and deformable transforms
- Double-clicking the icon brings up a menu instead of a node selector that had to be clicked again
- Subject hierarchy reference highlights are now updated immediately after selecting a transforms, so the highlighted transform node is always correct
Re https://issues.slicer.org/view.php?id=4401

git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27784 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr added a commit to Slicer/SlicerGitSVNArchive that referenced this issue Jan 16, 2019
It is now possible to determine a subset of enabled subject hierarchy plugins for each subject hierarchy tree and combobox.
- Whitelist contains the enabled plugins, and if it's not empty, then all plugins not in the list are disabled.
- Blacklist contains the disabled plugins; all other plugins are enabled. By default both lists are empty, meaning that all plugins are enabled.

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27796 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr added a commit to Slicer/SlicerGitSVNArchive that referenced this issue Jan 16, 2019
The opacity plugin adds an Opacity action in the visibility context menu with a sub-menu that contains a slider showing the opacity and which can be used to change the opacity of the item.

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27798 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr added a commit to Slicer/SlicerGitSVNArchive that referenced this issue Jan 16, 2019
An important step towards making subject hierarchy usable as model hierarchy. Model hierarchy nodes have been represented as folders in subject hierarchy already, so it makes sense to use the folders for the same purpose.
- Folders now can have color associated to them. If it's a mirrored model hierarchy node, then it uses the display node of the MH node, otherwise it creates a model display node associated to the folder item
- A visibility context menu action called 'Apply color to branch' allows overriding the color of the model nodes in the folder, the same way the checkbox does in the model hierarchy (the two functions are reflected in the two types of hierarchies so there is no confusion if used together)
- Right-clicking the color column now shows the visibility context menu as color is related to visibility

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27805 3bd1e089-480b-0410-8dfb-8563597acbee
@cpinter
Copy link
Contributor Author

cpinter commented Feb 18, 2019

Further tasks to allow fast handling of large atlases:

  • Change SH behaviour so that it does not set slice intersection visibility
  • Change display nodes (base class and down) so that they have a 2D and 3D visibility
    • The node is visible in 2D if and only if both overall visibility and 2D visibility are enabled.
    • The node is visible in 3D if and only if both overall visibility and 3D visibility are enabled.
    • The advantage of this decoupling is that we can show/hide of a node without changing its 2D/3D visibility flags.
  • Add a simple Visibility plugin in SH that offers toggling 2D and 3D visibility separately from the visibility context menu (right-click eye)
  • (Later) DMs to use SH ancestor visibilities instead of show/hide every item in branch

@cpinter
Copy link
Contributor Author

cpinter commented Mar 18, 2019

Integrated in Slicer/Slicer@1feb9fa

@cpinter
Copy link
Contributor Author

cpinter commented Sep 17, 2019

The last task in the list from above turned out to be a major change that involves a refactoring and improvement of the subject hierarchy folders and displayable managers handling visibility and other display properties, as well as the removal of the old model hierarchy mechanism from Slicer.

Slicer/Slicer#1214

@cpinter
Copy link
Contributor Author

cpinter commented Sep 19, 2019

Change integrated in Slicer core, closing the issue.

@cpinter cpinter closed this as completed Sep 19, 2019
jcfr added a commit to Slicer/Slicer that referenced this issue Mar 13, 2020
- Add new column for color between visibility and transform columns. It shows the color for segments, models, and markup fiducials (selected color)
- Double-clicking the color brings up terminology selector where terminology and color can be selected. Terminology information is stored in segments as before (segment attributes), and for models and markups it is stored in MRML node attributes. When selecting a terminology type, color is overwritten but name is not by default
Re PerkLab/SlicerOpenAnatomy#4

- Transform column now shows icon instead of the first few letters of the transform name. There is a separate icon for linear and deformable transforms
- Double-clicking the icon brings up a menu instead of a node selector that had to be clicked again
- Subject hierarchy reference highlights are now updated immediately after selecting a transforms, so the highlighted transform node is always correct
Re https://issues.slicer.org/view.php?id=4401

svn-url: https://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=27784
git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27784 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr added a commit to Slicer/Slicer that referenced this issue Mar 13, 2020
It is now possible to determine a subset of enabled subject hierarchy plugins for each subject hierarchy tree and combobox.
- Whitelist contains the enabled plugins, and if it's not empty, then all plugins not in the list are disabled.
- Blacklist contains the disabled plugins; all other plugins are enabled. By default both lists are empty, meaning that all plugins are enabled.

Re PerkLab/SlicerOpenAnatomy#4

svn-url: https://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=27796
git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27796 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr added a commit to Slicer/Slicer that referenced this issue Mar 13, 2020
The opacity plugin adds an Opacity action in the visibility context menu with a sub-menu that contains a slider showing the opacity and which can be used to change the opacity of the item.

Re PerkLab/SlicerOpenAnatomy#4

svn-url: https://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=27798
git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27798 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr added a commit to Slicer/Slicer that referenced this issue Mar 13, 2020
An important step towards making subject hierarchy usable as model hierarchy. Model hierarchy nodes have been represented as folders in subject hierarchy already, so it makes sense to use the folders for the same purpose.
- Folders now can have color associated to them. If it's a mirrored model hierarchy node, then it uses the display node of the MH node, otherwise it creates a model display node associated to the folder item
- A visibility context menu action called 'Apply color to branch' allows overriding the color of the model nodes in the folder, the same way the checkbox does in the model hierarchy (the two functions are reflected in the two types of hierarchies so there is no confusion if used together)
- Right-clicking the color column now shows the visibility context menu as color is related to visibility

Re PerkLab/SlicerOpenAnatomy#4

svn-url: https://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=27805
git-svn-id: https://svn.slicer.org/Slicer4/branches/Slicer-4-10@27805 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr pushed a commit to NA-MIC/svn.slicer.org-Slicer4 that referenced this issue Dec 22, 2022
- Add new column for color between visibility and transform columns. It shows the color for segments, models, and markup fiducials (selected color)
- Double-clicking the color brings up terminology selector where terminology and color can be selected. Terminology information is stored in segments as before (segment attributes), and for models and markups it is stored in MRML node attributes. When selecting a terminology type, color is overwritten but name is not by default
Re PerkLab/SlicerOpenAnatomy#4

- Transform column now shows icon instead of the first few letters of the transform name. There is a separate icon for linear and deformable transforms
- Double-clicking the icon brings up a menu instead of a node selector that had to be clicked again
- Subject hierarchy reference highlights are now updated immediately after selecting a transforms, so the highlighted transform node is always correct
Re https://issues.slicer.org/view.php?id=4401

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27571 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr pushed a commit to NA-MIC/svn.slicer.org-Slicer4 that referenced this issue Dec 22, 2022
It is now possible to determine a subset of enabled subject hierarchy plugins for each subject hierarchy tree and combobox.
- Whitelist contains the enabled plugins, and if it's not empty, then all plugins not in the list are disabled.
- Blacklist contains the disabled plugins; all other plugins are enabled. By default both lists are empty, meaning that all plugins are enabled.

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27583 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr pushed a commit to NA-MIC/svn.slicer.org-Slicer4 that referenced this issue Dec 22, 2022
The opacity plugin adds an Opacity action in the visibility context menu with a sub-menu that contains a slider showing the opacity and which can be used to change the opacity of the item.

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27585 3bd1e089-480b-0410-8dfb-8563597acbee
jcfr pushed a commit to NA-MIC/svn.slicer.org-Slicer4 that referenced this issue Dec 22, 2022
An important step towards making subject hierarchy usable as model hierarchy. Model hierarchy nodes have been represented as folders in subject hierarchy already, so it makes sense to use the folders for the same purpose.
- Folders now can have color associated to them. If it's a mirrored model hierarchy node, then it uses the display node of the MH node, otherwise it creates a model display node associated to the folder item
- A visibility context menu action called 'Apply color to branch' allows overriding the color of the model nodes in the folder, the same way the checkbox does in the model hierarchy (the two functions are reflected in the two types of hierarchies so there is no confusion if used together)
- Right-clicking the color column now shows the visibility context menu as color is related to visibility

Re PerkLab/SlicerOpenAnatomy#4

git-svn-id: https://svn.slicer.org/Slicer4/trunk@27592 3bd1e089-480b-0410-8dfb-8563597acbee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant