Screenshot with transparent background in GUI

Dear 3D Slicer community,

I have a question regarding the option to export screenshots with transparent backgrounds:
There is the option to do so using a python snippet (Script repository — 3D Slicer documentation). Why is this not implemented in the GUI? Is there a technical reason why this is not implemented?

Most of the people that I know who work with 3D Slicer do not have basic skills in using scripting languages and are likely to be intimidated by the necessity of having to modify a section of python code. Moreover, I would consider exporting PNGs with transparencies as one of the core functionalities of a program such as 3D Slicer. PNGs with transparencies are so much easier to work with, when preparing figures and I think offering this functionality in the GUI would help a lot with the adoption of the program among the more visual-minded potential users. We have such nice visualization techniques already present in 3D Slicer and it is overall such a nice and intuitive experience even for students with little previous experience in other software. Making this option more accessible would really provide a more consistent experience for new users.

I think in this respect there is also room for other improvements such as a GUI tool for setting the background color (including a gradient option) but having screenshots with transparent backgrounds available through the GUI is much more pressing.

Best wishes,
Mario

I know many users that provide figures with the background specifically included. I’m not sure what a figure for a paper would look like with a transparent background. Can you post a few images of what you have created for your papers? Preferably the images that you created with 3D Slicer that you wish were easier to create than what you had to do.

Right-click to copy the image to clipboard is added relatively recently (maybe a year ago), so we appreciate any feedback.

The current implementation is due to that we did not want to add two separate menu items for almost the same feature (copy with with/without background), so we chose the simpler, safer option to copy exactly what you see. I agree with @jamesobutler that most users are fine with having a background (may not even realize that backgrounds can be transparent) and they just change the background to black or white if they want to blend in the image better with the background.

There is no technical difficulty in allowing taking screenshots with transparent background.
This option is already available in Screen Capture module (in Advanced section). However, I don’t see where we could add an option for the “Copy image” option in the view context menu. We could add an option to the application settings, but most users would not find it. Do you have any suggestion how the option could be offered for users without making the GUI more busy (one more option in the menu) or less convenient (e.g., adding one more click)?

Thank you for your replies!

I also think that many users will not use this feature, whether this accounts for most users, I am not sure.
As for my workflow and that of most of my colleagues (zoomorphologists/palaeontologist): I like to save all my rendered images at more than enough resolution and as PNG with transparent background. This way I can later decide, maybe weeks afterwards how my background should look like when arranging the figure plates, while not having to go back to 3D Slicer or other Programs like Blender or Drishti. For many models a grey or slightly colored background has visual advantages to either a black or a white background. With a black background it is possible that the contrast to the darkest part of the model is a bit too high and with a white background it can be vice versa. Here an example of one of my colleagues (unfortunately does not use 3D Slicer, yet).

I also agree that menus should be kept as simple as possible. But I also think that adding this feature would not add much clutter to the menu. When I was looking for the feature this would be the place where I would expect the option to save the image with transparent background (quick sketch) and where I looked for it in the first place.

Thanks for pointing out that I can use and recommend the screen capture module in the meanwhile. Still I think such an option should be a bit more easily accessible to the user.

1 Like

If we changed the toolbar button so that it opens the Screen Capture module (instead of the very limited Annotation screenshot popup) would that be easy enough to find? Or we should also move out the transparent background option from the Advanced section?

From the perspective of a new user, having the toolbar button link to the Screen Capture Module is probably not the best experience. A new user wants something to easily save a 2D view to their drive (so that they can share it or embed it in a figure plate. Having to use a more complex UI (the Screen Capture module where “screenshots” are only one option is probably not the best experience.

In my opionion, a perfect version of the “Annotation Screenshot” Dialog should be named “Save image” or “Save Screenshot”, so that it is clear that this is not only for annotating, and should save images immediately - not only after pressing CTRL + S to save everything. In this regard one could think of a nomenclatural distinction between saving/exporting still images and setting up reproducible screen capture instances. I suspect only the more experienced users will make efficient use of the latter and most users would prefer the former because of its simplicity. Then, it should contain an option to have a transparent background as well as an option to adjust the final size of the rendered (“scale factor”, this is already well implemented, I like the simplicity because there is no confusion about what will be visible in the captured image).