Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#2028 closed defect (not a bug)

"color modify" not consistently reversible

Reported by: olibclarke@… Owned by: Greg Couch
Priority: normal Milestone:
Component: Depiction Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Darwin-18.6.0-x86_64-i386-64bit
ChimeraX Version: 0.91 (2019-06-07)
Description
Hi,

The "color modify" command behaves strangely:

https://www.dropbox.com/s/s6wwakr5zs05l7h/color_adjust.mov?dl=0

I would expect that these commands should be reversible,  but it doesn't seem to be the case. For example, if I run "color modify sel whiteness 100" on a thing that was previously cornflower blue, it turns white - so far so sensible. But if I then run "color modify sel whiteness 1", it turns red. This is unexpected. If I run "color modify sel whiteness 1" on something that is initially cornflower blue, it does not become red - just a darker blue. I guess this is because of the definition of the HWB scheme but it is a little counterintuitive. 

Also, repeated commands like "color modify sel whiteness +5" do not do anything - the first command modifies whiteness by the requested amount, but subsequent commands don't anything - presumably the reference whiteness value is not being updated, so it is still setting to +5 vs the original value, rather than the updated value?

I really like this concept by the way, and it seems like the kind of functionality that would be well served by a future GUI panel with sliders for each kind of modification to apply to the selection.

Cheers
Oli


Log:
> camera ortho

> cofr centerOfView

> volume voxelLimit 100000 showPlane false limitVoxelCount false
voxelLimitForOpen 10000

> alias crosshairs_on log text crosshairs_on: diaplays crosshairs at center of
rotation and places cofr at center of view; cofr centerofview showpivot 5,0.2

> alias crosshairs_off cofr centerofview showpivot false

> alias cootmode volume style mesh step 1 squaremesh false meshlighting true
twosidedlighting false capfaces false; surface cap false; size stickradius
0.05; ~rib; color gold target a; color byhet; lighting flat; lighting
depthcuestart 0.2 depthcueend 0.7; set silhouettes false; set subdivision 1;
crosshairs_on; color #3333851effff target s; style stick; set bgcolor black

> alias cootmode_white volume style mesh step 1 squaremesh false meshlighting
true twosidedlighting false capfaces false; surface cap false; size
stickradius 0.05; ~rib; color orange target a; color byhet; lighting flat;
lighting depthcuestart 0.2 depthcueend 0.7; set silhouettes false; set
subdivision 1; crosshairs_on; color #00000000cccc target s; style stick; set
bgcolor white

> alias carve surface zone #* nearatoms sel distance $1 maxcomponents 1

> alias uncarve surface unzone #*

> alias focus view cofr false

UCSF ChimeraX version: 0.91 (2019-06-07)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/oliverclarke/Dropbox/Downloads/model_moved.pdb_modified.pdb

Summary of feedback from opening
/Users/oliverclarke/Dropbox/Downloads/model_moved.pdb_modified.pdb  
---  
warnings | Duplicate atom serial number found: 819  
Duplicate atom serial number found: 820  
Duplicate atom serial number found: 821  
Duplicate atom serial number found: 822  
Duplicate atom serial number found: 823  
103573 messages similar to the above omitted  
  
Chain information for model_moved.pdb_modified.pdb #1  
---  
Chain | Description  
A B G I | No description available  
F | No description available  
H J O | No description available  
  

> crosshairs_on

crosshairs_on: diaplays crosshairs at center of rotation and places cofr at
center of view  

> lighting simple

> lighting full

> lighting soft

> set subdivision 10

> set subdivision 1

> cofr frontCenter

> select /A:4871@CB

1 atom, 1 model selected  

> select up

9 atoms, 8 bonds, 1 model selected  

> style stick

Changed 141366 atom styles  

> select up

4 atoms, 2 bonds, 1 model selected  

> select up

26 atoms, 26 bonds, 1 model selected  

> select up

347 atoms, 356 bonds, 1 model selected  

> cofr centerOfView showPivot 10,0.5

> color modify sel whiteness 50

> select clear

> select /A:4174@CZ

1 atom, 1 model selected  

> select up

2 atoms, 1 bond, 1 model selected  

> select up

8 atoms, 7 bonds, 1 model selected  

> color modify sel whiteness +5

> color modify sel whiteness -5

> color modify sel whiteness -5

> color modify sel whiteness -5

> color modify sel whiteness -5

> color modify sel whiteness -5

> color modify sel whiteness -5

> color modify sel whiteness -5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness 50

> color modify sel whiteness 50

> color modify sel whiteness 50

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +1

> color modify sel whiteness +0.5

> color modify sel whiteness -0.5

> select /G:4075@CD

1 atom, 1 model selected  

> select up

9 atoms, 8 bonds, 1 model selected  

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness -5

> color modify sel whiteness 50

> color modify sel whiteness 980

> color modify sel whiteness 1000

> color modify sel whiteness 1000

> color modify sel whiteness 1000

> color modify sel whiteness 100

> color modify sel whiteness 10

> color modify sel whiteness 10

> color modify sel whiteness 1

> color modify sel whiteness 4

> color modify sel whiteness 6

> select /I:4541@CD2

1 atom, 1 model selected  

> select up

14 atoms, 15 bonds, 1 model selected  

> color modify sel whiteness 6

> color modify sel whiteness 6

> color modify sel whiteness 6

> color modify sel whiteness 6

> color modify sel whiteness 6

> color modify sel whiteness 6

> color modify sel whiteness 1

> color modify sel whiteness 10

> color modify sel whiteness 10000

> color modify sel whiteness 1000000

> color modify sel whiteness 11

> color modify sel whiteness 1

> close all

> open 1bl8

1bl8 title:  
Potassium channel (KCSA) from streptomyces lividans [more info...]  
  
Chain information for 1bl8 #1  
---  
Chain | Description  
A B C D | protein (potassium channel protein)  
  
  

> color "cornflower blue"

> crosshairs_off

> select

2824 atoms, 2896 bonds, 26 pseudobonds, 2 models selected  

> color modify sel whiteness 100

> color modify sel whiteness 1

> color modify sel whiteness 100

> color modify sel whiteness 1

> color modify sel whiteness 0.1

> color modify sel whiteness 0

> color "cornflower blue"

> color modify sel whiteness 1

> color modify sel whiteness 0

> color modify sel whiteness 100

> color modify sel whiteness 1

> color "cornflower blue"

> color modify sel whiteness 1

> color modify sel whiteness 100

> color modify sel whiteness 1

> color "cornflower blue"

> color modify sel whiteness 1

> select clear

> select /A:101

7 atoms, 6 bonds, 1 model selected  

> select up

188 atoms, 190 bonds, 1 model selected  

> color modify sel whiteness 1

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +50

> color modify sel whiteness +50

> color modify sel whiteness -50

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5

> color modify sel whiteness +5




OpenGL version: 4.1 ATI-2.9.26
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.

Attachments (1)

PastedGraphic-3.png (346.8 KB ) - added by olibclarke@… 6 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (12)

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

Yeah there’s definitely something broken here - same for lightness.

If I run "color modify sel lightness 50” I get the expected result - a moderately dark blue.

If I then run *either* "color modify sel lightness +5” *or* "color modify sel lightness -5” the selection turns black.

If I subsequently run "color modify sel lightness 50” the selection turns to the original blue as expected if the preceding command was "color modify sel lightness +5”, but turns gray if the preceding command was "color modify sel lightness -5”.

Cheers
Oli

Last edited 6 years ago by pett (previous) (diff)

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

Ah I see I missed a sentence in the docs…



Added by email2trac

by olibclarke@…, 6 years ago

Attachment: PastedGraphic-3.png added

Added by email2trac

in reply to:  4 comment:3 by olibclarke@…, 6 years ago

It still seems weird to me that adjustments to saturation or lightness beyond a certain point are not reversible though - if I decrease saturation or lightness to much with color modify, I can’t get the original color back by going the other way - that doesn’t seem right

Oli

Last edited 6 years ago by pett (previous) (diff)

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

What I assume is happening here is that no lower boundary has been set on saturation or lightness - so it is going below zero and then getting confused

Is that what’s going on?

Last edited 6 years ago by pett (previous) (diff)

comment:5 by pett, 6 years ago

Cc: Elaine Meng added
Component: UnassignedDepiction
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submission"color modify" not consistently reversible

comment:6 by Elaine Meng, 6 years ago

Hi Oli, I'll let Greg say for certain but I'm pretty sure it is not a bug. I never investigated in detail but I always interpreted this as some components hitting min/max (0 or 100%) before others. E.g. if you increased all the components starting from 60,80,60, the middle one would hit 100 first, so the others would increase more, say ending up with 90,100,90. Then if you went back down, it would go to 60,70,60 rather than 60,80,60.

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

Hmm - but if you are adjusting HLS with "color modify hue" or "color modify lightness" you should only be adjusting one of the components, no? why would the others change?

Oli


in reply to:  9 ; comment:8 by Elaine Meng, 6 years ago

Again deferring to Greg for definitive answer, but as I understood it Chimera/ChimeraX colors are in RGB (even if you are doing HLS manipulations).  So by “component” I meant R, G, or B.

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

Hi Elaine

I’m not convinced that’s the reason - because the HLS sliders in the Chimera color editor work perfectly reversibly, with no evidence of this behavior - I don’t see why this would be different?

Cheers
Oli


comment:10 by Greg Couch, 6 years ago

Resolution: not a bug
Status: assignedclosed

To see how the color modifiers work, check out https://colorme.io/. In your case, type in cornflowerblue on the left, then use the whiteness slider on the bottom to go to 10 (you may need to scroll the bottom controls). The color on the right will now be #eeeeeeff. Next change the color on the left to #eeeeeeff and change the whiteness to 0 -- the color is now #ed0000ff, ie. a red.

The difference from the sliders is that each operation starts anew, i.e., there is no knowledge about what the original hue was, and the default hue is red.

in reply to:  12 comment:11 by olibclarke@…, 6 years ago

Fair enough - in this case it seems like the way to go ultimately would be to have a set of sliders or dials in the GUI for this purpose.

Cheers
Oli


Note: See TracTickets for help on using tickets.