Re: [chimerax-users] Displaying silhouette around specific visual elements

Hi Gustavo, Glad you noticed the smoothness of the surface. I made it smoother than the default. The surface came from the molmap command which computes a density map from the atomic model. That command uses a density map grid spacing of 1/3 the requested resolution by default, but I specified an extra option that used a grid spacing 1/8 of the resolution: open 2gbp molmap #1 8 gridSpacing 1 Also if you are doing this with a big molecule (100,000 atoms) the density map created may be very large and may be shown subsampled so the surface looks coarser. Make sure to set the "step" to 1 in the Volume Viewer panel so that it uses the full resolution of the computed map instead of step 2 which would use only every other grid point. One more pro tip about that image composition example. It only worked nicely because the atomic structure was completely behind the surface, so I could layer the surface on top. If part of the atomic model was behind and part in front (for example with a cryoEM map surface), then the layering would not work well -- the composite image would have the surface in front everywhere. Elaine's selection highlight approach can handle that situation with correct occlusions but the edging is not as nice as silhouettes. Tom
On Mar 31, 2021, at 1:00 PM, de Miranda Seabra, Gustavo <seabra@cop.ufl.edu> wrote:
Hi Tom,
This looks beautiful! Just one tangential question: How do you get such a smooth surface? Can you share the exact commands you gave?
Thanks!
-- Gustavo Seabra Assistant Scientist Center for Natural Products, Drug Discovery and Development (CNPD3) Department of Medicinal Chemistry College of Pharmacy University of Florida, Gainesville, FL, USA From: ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu <mailto:chimerax-users-bounces@cgl.ucsf.edu>> on behalf of Tom Goddard <goddard@sonic.net <mailto:goddard@sonic.net>> Sent: Tuesday, March 30, 2021 8:55 PM To: Andre LB Ambrosio <andre@ifsc.usp.br <mailto:andre@ifsc.usp.br>> Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> Subject: Re: [chimerax-users] Displaying silhouette around specific visual elements
[External Email] Hi Andre,
If you are willing to go to a little trouble you can get silhouettes on an atomic model beneath a transparent surface that has no silhouettes. You first save an image of the atomic model with silhouettes with no surface, then save an image of the transparent surface with no atomic model and no silhouettes, then overlay the second image on the first in a photo editor like Gimp. Below is Elaine's example done this way. The command to save the surface image with transparency for overlaying is "save transpsurf.png transparentBackground true".
Tom
Overlay of two images.
Atomic model image
Transparent surface image
On Mar 30, 2021, at 3:11 PM, Andre LB Ambrosio <andre@ifsc.usp.br <mailto:andre@ifsc.usp.br>> wrote:
Dear Elaine, that is excellent! It is the visual effect I was looking for indeed. Thank you very much for this and thank you Tom for the very detailed response and for the feature request ticket. Andre.
Em ter., 30 de mar. de 2021 às 15:59, Elaine Meng <meng@cgl.ucsf.edu <mailto:meng@cgl.ucsf.edu>> escreveu: Hi Andre, Sometimes you can approximately "fake" this effect by using the selection outline. It is not the same, however, as silhouettes; it will only go around the outside perimeter of the selected item(s). For example, if I have a molecule inside a map surface, I can make the surface transparent, select the atomic structure, and make the selection outline color black etc. as in these commands, resulting in the appearance in the attached image.
open 2gbp molmap protein 8 trans 70 view set bgColor white select @* graphics selection color black
I hope this helps, Elaine ----- Elaine C. Meng, Ph.D. UCSF Chimera(X) team Department of Pharmaceutical Chemistry University of California, San Francisco
On Mar 25, 2021, at 8:23 PM, Tom Goddard <goddard@sonic.net <mailto:goddard@sonic.net>> wrote:
Hi Andre,
It is not currently possible to display silhouettes on some models and not others.
Several people have wanted this but I think it is complex to achieve. The silhouettes show boundaries where the depth in the entire scene changes abruptly. In order to have per-model silhouettes the ChimeraX GPU shader programs would need to compute an additional depth buffer separately for each model. Also the silhouette edges are not currently drawn at a specific depth. If per-model silhouettes were supported a stick model with silhouettes beneath a transparent surface needs to draw the silhouettes under the transparent surface so knowing the depth of the silhouette edge becomes important. When not using silhouettes the shader programs need to not compute the extra per-model depth buffers otherwise it would slow down rendering even when not being used. Adding these additional complexities to already complex graphics rendering shader programs have so far made this feature out of reach for our one graphics rendering developer (me).
I made a feature request for per-model silhouette edges and perhaps in the future we will find a simpler way to implement it that makes it feasible.
https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/4420 <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.rbvi.ucsf.edu_trac_...>
Tom
On Mar 25, 2021, at 10:09 PM, Andre LB Ambrosio <andre@ifsc.usp.br <mailto:andre@ifsc.usp.br>> wrote:
Dear all,
I wonder if it's possible to display silhouettes selectively in the same figure; for instance, displaying silhouettes only on structure representation (around sticks, spheres, cartoons and so on), but not around the maps or volumes that surround them. Many thanks in advance,
Andre _
-- Andre LB Ambrosio Associate Professor, IFSC/USP - Brazil www.ifsc.usp.br/alba <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.ifsc.usp.br_alba&d=D...> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://urldefense.proofpoint.com/v2/url?u=https-3A__plato.cgl.ucsf.edu_mail...>

Thank you very much, Tom. Likewise, my images looked great with this alternative approach. One small caveat with this, though, is that when you have solvent exposed, flexible side chains, which are not fully explained by the x-ray map (which is one of my cases), they may look artificial crossing the transparent map boundary. This can be overcomed with the method described by Elaine. Thank you both again for helping. All the best, Andre. Em qua., 31 de mar. de 2021 às 19:03, Tom Goddard <goddard@sonic.net> escreveu:
Hi Gustavo,
Glad you noticed the smoothness of the surface. I made it smoother than the default. The surface came from the molmap command which computes a density map from the atomic model. That command uses a density map grid spacing of 1/3 the requested resolution by default, but I specified an extra option that used a grid spacing 1/8 of the resolution:
open 2gbp molmap #1 8 gridSpacing 1
Also if you are doing this with a big molecule (100,000 atoms) the density map created may be very large and may be shown subsampled so the surface looks coarser. Make sure to set the "step" to 1 in the Volume Viewer panel so that it uses the full resolution of the computed map instead of step 2 which would use only every other grid point.
One more pro tip about that image composition example. It only worked nicely because the atomic structure was completely behind the surface, so I could layer the surface on top. If part of the atomic model was behind and part in front (for example with a cryoEM map surface), then the layering would not work well -- the composite image would have the surface in front everywhere. Elaine's selection highlight approach can handle that situation with correct occlusions but the edging is not as nice as silhouettes.
Tom
On Mar 31, 2021, at 1:00 PM, de Miranda Seabra, Gustavo < seabra@cop.ufl.edu> wrote:
Hi Tom,
This looks beautiful! Just one tangential question: How do you get such a smooth surface? Can you share the exact commands you gave?
Thanks!
-- *Gustavo Seabra* Assistant Scientist Center for Natural Products, Drug Discovery and Development (CNPD3) Department of Medicinal Chemistry College of Pharmacy University of Florida, Gainesville, FL, USA ------------------------------ *From:* ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Tom Goddard <goddard@sonic.net> *Sent:* Tuesday, March 30, 2021 8:55 PM *To:* Andre LB Ambrosio <andre@ifsc.usp.br> *Cc:* ChimeraX Users Help <chimerax-users@cgl.ucsf.edu> *Subject:* Re: [chimerax-users] Displaying silhouette around specific visual elements
*[External Email]* Hi Andre,
If you are willing to go to a little trouble you can get silhouettes on an atomic model beneath a transparent surface that has no silhouettes. You first save an image of the atomic model with silhouettes with no surface, then save an image of the transparent surface with no atomic model and no silhouettes, then overlay the second image on the first in a photo editor like Gimp. Below is Elaine's example done this way. The command to save the surface image with transparency for overlaying is "save transpsurf.png transparentBackground true".
Tom
Overlay of two images.
Atomic model image
Transparent surface image
On Mar 30, 2021, at 3:11 PM, Andre LB Ambrosio <andre@ifsc.usp.br> wrote:
Dear Elaine, that is excellent! It is the visual effect I was looking for indeed. Thank you very much for this and thank you Tom for the very detailed response and for the feature request ticket. Andre.
Em ter., 30 de mar. de 2021 às 15:59, Elaine Meng <meng@cgl.ucsf.edu> escreveu:
Hi Andre, Sometimes you can approximately "fake" this effect by using the selection outline. It is not the same, however, as silhouettes; it will only go around the outside perimeter of the selected item(s). For example, if I have a molecule inside a map surface, I can make the surface transparent, select the atomic structure, and make the selection outline color black etc. as in these commands, resulting in the appearance in the attached image.
open 2gbp molmap protein 8 trans 70 view set bgColor white select @* graphics selection color black
I hope this helps, Elaine ----- Elaine C. Meng, Ph.D. UCSF Chimera(X) team Department of Pharmaceutical Chemistry University of California, San Francisco
On Mar 25, 2021, at 8:23 PM, Tom Goddard <goddard@sonic.net> wrote:
Hi Andre,
It is not currently possible to display silhouettes on some models and not others.
Several people have wanted this but I think it is complex to achieve. The silhouettes show boundaries where the depth in the entire scene changes abruptly. In order to have per-model silhouettes the ChimeraX GPU shader programs would need to compute an additional depth buffer separately for each model. Also the silhouette edges are not currently drawn at a specific depth. If per-model silhouettes were supported a stick model with silhouettes beneath a transparent surface needs to draw the silhouettes under the transparent surface so knowing the depth of the silhouette edge becomes important. When not using silhouettes the shader programs need to not compute the extra per-model depth buffers otherwise it would slow down rendering even when not being used. Adding these additional complexities to already complex graphics rendering shader programs have so far made this feature out of reach for our one graphics rendering developer (me).
I made a feature request for per-model silhouette edges and perhaps in the future we will find a simpler way to implement it that makes it feasible.
https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/4420 <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.rbvi.ucsf.edu_trac_...>
Tom
On Mar 25, 2021, at 10:09 PM, Andre LB Ambrosio <andre@ifsc.usp.br> wrote:
Dear all,
I wonder if it's possible to display silhouettes selectively in the same figure; for instance, displaying silhouettes only on structure representation (around sticks, spheres, cartoons and so on), but not around the maps or volumes that surround them. Many thanks in advance,
Andre _
-- Andre LB Ambrosio Associate Professor, IFSC/USP - Brazil www.ifsc.usp.br/alba <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.ifsc.usp.br_alba&d=D...> _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://urldefense.proofpoint.com/v2/url?u=https-3A__plato.cgl.ucsf.edu_mail...>
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
-- Andre LB Ambrosio Associate Professor, IFSC/USP - Brazil www.ifsc.usp.br/alba
participants (2)
-
Andre LB Ambrosio
-
Tom Goddard