#2028 closed defect (not a bug)
"color modify" not consistently reversible
Reported by: | 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)
Change History (12)
comment:3 by , 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
follow-up: 3 comment:4 by , 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?
follow-up: 4 comment:5 by , 6 years ago
Cc: | added |
---|---|
Component: | Unassigned → Depiction |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → "color modify" not consistently reversible |
comment:6 by , 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.
comment:7 by , 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
follow-up: 7 comment:8 by , 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.
follow-up: 8 comment:9 by , 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
follow-up: 9 comment:10 by , 6 years ago
Resolution: | → not a bug |
---|---|
Status: | assigned → closed |
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.
comment:11 by , 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
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