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

DOC: Update Transforms module documentation to include interaction info #7663

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Sunderlandkyl
Copy link
Member

Adds information to the documentation pertaining to the new interaction options, including instructions on how to create, display, change the center of rotation, and how to interact with the handles.

TODO

  • Once published, update link to video to show new interaction handles rather than box widget.

Adds information to the documentation pertaining to the new interaction options, including instructions on how to create, display, change the center of rotation, and how to interact with the handles.
Copy link
Contributor

@lassoan lassoan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much, it looks good just added a few trivial comments and a slight code change might be needed.

@@ -19,8 +19,9 @@ Supported transform types:

Transform node can be created in multiple ways:
- Method A: In Data module's Subject hierarchy tab, right-click on the "Transform" column and choose "Create new transform". This always creates a general "Transform".
- Method B: In Data module's Transform hierarchy tab, right-click on an item and choose "Insert transform". This always creates a "Linear transform". Advantage of this method is that it is easy to build and overview hierarchy of transforms.
- Method C: In Transforms module click on "Active transform" node selector and choose one of the "Create new..." options.
- Method B: In Data module's Subject hierarchy tab, right-click on the "Visibility" column of any transformable node and choose "Interaction" to create a parent transform and display the interaction handles. This always creates a "Linear transform"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For all new developments we should use general Transform instead of linear (since the transform type can change as you harden transforms on each other, using class name to distinguish between transforms is not a good solution). See #5718

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The node created is a linear "vtkMRMLTransformNode", so no changes should be needed in the code.


![Interaction handles in 2D and 3D views.](https://github.com/Slicer/Slicer/releases/download/docs-resources/interaction_handles_1.png)

#### Interaction keybinds
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keyboard shortcuts and gestures are usually defined in a table and referred to as shortcuts. For example:

Mouse & Keyboard Shortcuts

Generic shortcuts

Shortcut Operation
Ctrl + f find module by name (hit Enter to select)
Ctrl + o add data from file
Ctrl + s save data to files
Ctrl + w close scene
Ctrl + 0 show Error Log
Ctrl + 1 show Application Help
Ctrl + 2 show Application Settings
Ctrl + 3 / Ctrl + ` show/hide Python Console
Ctrl + 4 show Extensions Manager
Ctrl + 5 show/hide Module Panel
Ctrl + h open default startup module (configurable in Application Settings)

Slice views

The following shortcuts are available when a slice view is active. To
activate a view, click inside the view: if you do not want to change
anything in the view, just activate it then do right-click without
moving the mouse. Note that simply hovering over the mouse over a slice
view will not activate the view.

Shortcut Operation
right-click + drag up/down zoom image in/out (Alt optional, useful during point placement)
Ctrl + mouse wheel zoom image in/out
middle-click + drag pan (translate) view (Alt optional, useful during point placement)
Shift + left-click + drag pan (translate) view (Alt optional, useful during point placement)
left arrow / right arrow move to previous/next slice
b / f move to previous/next slice
Shift + mouse move move crosshair in all views
Ctrl + Alt + left-click + drag rotate slice intersection of other views (Slice intersections must be enabled in Crosshair selection toolbar)
v toggle slice visibility in 3D view
r reset zoom and pan to default
g toggle segmentation or labelmap volume
t toggle foreground volume visibility
[ / ] use previous/next volume as background
{ / } use previous/next volume as foreground
left-double-click maximize view/restore view layout


![](https://github.com/Slicer/Slicer/releases/download/docs-resources/module_transforms_edit.png)
![Widget for editing linear transforms.](https://github.com/Slicer/Slicer/releases/download/docs-resources/module_transforms_edit.png)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove double empty line (I think it is rendered as a single empty line anyway)

@lassoan
Copy link
Contributor

lassoan commented Apr 29, 2024

Let me know if this is ready for review. Thank you!

@lassoan
Copy link
Contributor

lassoan commented May 20, 2024

@Sunderlandkyl It would be great if you could finalize this and then we could announce the feature. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants