Opened 10 years ago

Closed 8 years ago

Last modified 8 years ago

#274 closed enhancement (fixed)

Select through transparent surface or mesh

Reported by: olibclarke@… Owned by: Tom Goddard
Priority: major Milestone:
Component: General Controls Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Begin forwarded message:

From: Oliver Clarke
Subject: [Chimera-users] Thoughts re enhancements for ChimeraX
Date: February 10, 2016 at 4:37:31 AM PST
To: "chimera-users@… Mailing List" <chimera-users@…>

Hi, just thinking about a couple of possible enhancements relating to things that are probably difficult to fix in the current framework, feel free to take or leave them.

  • Hover to label residue is useful, but slow. Maybe hold down alt/option and have the residue currently under the cursor instantly bring up a residue label (or put the residue label in the lower status bar, and have it change when the cursor moves over another residue)?
  • Selecting molecules inside (e.g. mesh) density maps is a little cumbersome in that it requires un-showing the mesh map first, even though model is clearly visible - ctrl-clicking on an atom usually selects the map instead (which is only rarely the desired outcome). perhaps a modifier key to specifically allow selecting atoms, ignoring maps, would be useful in this instance?

Cheers,

Oli.

Change History (10)

comment:1 by Tom Goddard, 8 years ago

Notify when closed: olibclarke@gmail.com
Reporter: changed from Tom Goddard to olibclarke@…
Resolution: fixed
Status: newclosed

Fixed.

The default behavior is now to select through transparent volume surfaces and meshes. Also the selection outline is now shown for atoms and other objects beneath a transparent surface.

in reply to:  2 ; comment:2 by olibclarke@…, 8 years ago

Thank you thank you!!! you guys are the best! :)

Oli

in reply to:  3 ; comment:3 by goddard@…, 8 years ago

Let me clarify.  If you select through a transparent map surface or mesh (opaque or transparent) and hit an atom or bond, then those are selected.  If you don’t hit and object under the map then the map is selected.  So if you have tiny atoms and ctrl-click them but miss it still has the undesired effect of selecting the map surface.  Let’s see if this is good enough.

in reply to:  4 ; comment:4 by olibclarke@…, 8 years ago

Yep, that sounds ideal to me - ribbons included, right? That is in tomorrow’s build I guess, doesn’t seem to be in the current one?

Oli

in reply to:  5 ; comment:5 by goddard@…, 8 years ago

Yes in tonight’s ChimeraX build.  Any object behind the density map transparent surface can be selected including ribbons.

in reply to:  6 ; comment:6 by olibclarke@…, 8 years ago

Just tried it - this is great, massive improvement!!

Oli

in reply to:  7 ; comment:7 by olibclarke@…, 8 years ago

One note about this - it doesn’t seem to work with multiple layers of transparency.

For example, lets say I have a transparent map covering my model. There is a continuous contour enclosing the atomic model, but then there is a blob of noise between the view point and the atomic model. So the atomic model is under two layers of map - the contour that encloses it and the noise blob in front. 

In this case, if I attempt to select the atomic model, the map is selected instead.

Cheers
Oli

in reply to:  8 ; comment:8 by goddard@…, 8 years ago

Yes, unfortunately the pick through transparent surface code only looks for the object under the first transparent layer.  I’ve changed it so it will allow picking through 3 transparent layers, which handles the case of a blob in front of an enclosed atom.  Ideally it would look through any number of transparent layers.  I don’t want to do that because if you then hover the mouse over a map with 100 transparent layers (this is not uncommon for cryoEM of say a virus at high resolution), then it will freeze for possibly an unpleasantly long time as it tries to traverse all those layers.  The current algorithm would take 100 times as long as for 1 layer.  At any rate I think 3 layers handles most cases.

in reply to:  9 ; comment:9 by olibclarke@…, 8 years ago

Hi Tom, this doesn’t seem to be implemented in the latest nightly (built 06/04), to test:

1. Open 5sy1 and EMD-8315

2. Set the map contour to 0.03

3. Position such that there is a single surface enclosed blob in front of the atom one wants to select (e.g. there is one such near chain A, residue 534)

4. Hover over atom/ribbon

Result: Both tooltip and selection affect the map, not the model (despite there only being three layers of transparency between the viewpoint and the atom to be selected.

I would also favor perhaps allowing selection through a few more layers of transparency (not 100!) assuming it doesn’t compromise speed too much. When dealing with membrane proteins, there is often a diffuse shell of density around the transmembrane region that separates out into closely spaced discrete blobs at certain contour levels (which may be the same ones that are desirable for viewing model/map fit).

Cheers
Oli



in reply to:  10 ; comment:10 by goddard@…, 8 years ago

Sorry, I forgot to push the improved pick code on Friday.  Will be in tonight’s builds.  Let’s try picking through 3 layers and see if that is enough in practice.  As I mentioned 5 layers will make it 5x longer freeze when hovering over a transparent map.

Note: See TracTickets for help on using tickets.