Opened 3 months ago
Closed 3 months ago
#18213 closed defect (fixed)
Surface Color: colors inverted
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Depiction | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: macOS-15.5-arm64-arm-64bit ChimeraX Version: 1.10 (2025-06-26 08:57:52 UTC) Description I’ve noticed an issue with the “Surface Color” tool in version 1.10. The attached image was generated using versions 1.8 and 1.10, along with the map from the Relion tutorial dataset and the corresponding local resolution output. The resolution range—spanning from high to low—is visualized in a “rainbow” color scheme, from blue to red. As shown in the image, the low-resolution dust surrounding the core map appears red in v1.8 but blue in v1.10. This reversed color pattern persists even when using the “Reverse” option, other color schemes, and different datasets. OpenGL version: 4.1 Metal - 89.4 OpenGL renderer: Apple M1 Pro OpenGL vendor: Apple Python: 3.11.4 Locale: en_US.UTF-8 Qt version: PyQt6 6.8.1, Qt 6.8.2 Qt runtime version: 6.8.2 Qt platform: cocoa Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro18,3 Model Number: Z15H002T4LL/A Chip: Apple M1 Pro Total Number of Cores: 10 (8 performance and 2 efficiency) Memory: 32 GB System Firmware Version: 11881.121.1 OS Loader Version: 11881.121.1 Software: System Software Overview: System Version: macOS 15.5 (24F74) Kernel Version: Darwin 24.5.0 Time since boot: 8日 22時間 41分 Graphics/Displays: Apple M1 Pro: Chipset Model: Apple M1 Pro Type: GPU Bus: Built-In Total Number of Cores: 16 Vendor: Apple (0x106b) Metal Support: Metal 3 Displays: EA245WMi: Resolution: 1920 x 1200 (WUXGA - Widescreen Ultra eXtended Graphics Array) UI Looks like: 1920 x 1200 @ 60.00Hz Main Display: Yes Mirror: Off Online: Yes Rotation: Supported Color LCD: Display Type: Built-in Liquid Retina XDR Display Resolution: 3024 x 1964 Retina Mirror: Off Online: Yes Automatically Adjust Brightness: Yes Connection Type: Internal Installed Packages: alabaster: 1.0.0 appdirs: 1.4.4 appnope: 0.1.4 asttokens: 3.0.0 auditwheel: 6.4.0 babel: 2.17.0 beautifulsoup4: 4.13.3 blockdiag: 3.0.0 blosc2: 3.5.0 build: 1.2.2.post1 certifi: 2023.11.17 cftime: 1.6.4.post1 charset-normalizer: 3.4.2 ChimeraX-AddCharge: 1.5.19 ChimeraX-AddH: 2.2.7 ChimeraX-AlignmentAlgorithms: 2.0.2 ChimeraX-AlignmentHdrs: 3.6.1 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.20.2 ChimeraX-AlphaFold: 1.0.1 ChimeraX-AltlocExplorer: 1.1.2 ChimeraX-AmberInfo: 1.0 ChimeraX-Aniso: 1.1.4 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.60.7 ChimeraX-AtomicLibrary: 14.1.18 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.4 ChimeraX-BasicActions: 1.1.3 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 3.0.0 ChimeraX-Boltz: 1.0 ChimeraX-BondRot: 2.0.4 ChimeraX-BugReporter: 1.0.2 ChimeraX-BuildStructure: 2.13.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.5.1 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.4 ChimeraX-ChangeChains: 1.1 ChimeraX-CheckWaters: 1.5 ChimeraX-ChemGroup: 2.0.2 ChimeraX-Clashes: 2.3 ChimeraX-ColorActions: 1.0.5 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.8 ChimeraX-CommandLine: 1.3 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.10 ChimeraX-CoreFormats: 1.2 ChimeraX-coulombic: 1.4.5 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.4 ChimeraX-Dicom: 1.2.7 ChimeraX-DistMonitor: 1.4.2 ChimeraX-DockPrep: 1.1.4 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ESMFold: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.3 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.4.1 ChimeraX-Hbonds: 2.5.1 ChimeraX-Help: 1.3 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.3 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-IUPAC: 1.0 ChimeraX-KVFinder: 1.6.2 ChimeraX-Label: 1.1.14 ChimeraX-ListInfo: 1.2.2 ChimeraX-Log: 1.2 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.9.1 ChimeraX-Map: 1.3 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0.1 ChimeraX-MapFilter: 2.0.1 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1.1 ChimeraX-Markers: 1.0.1 ChimeraX-Mask: 1.0.2 ChimeraX-MatchMaker: 2.2.2 ChimeraX-MCopy: 1.0 ChimeraX-MDcrds: 2.10.1 ChimeraX-MedicalToolbar: 1.1 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.16 ChimeraX-MMTF: 2.2 ChimeraX-ModelArchive: 1.0 ChimeraX-Modeller: 1.5.19 ChimeraX-ModelPanel: 1.5.1 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0.3 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.2 ChimeraX-MouseModes: 1.2 ChimeraX-Movie: 1.0 ChimeraX-MutationScores: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nifti: 1.2 ChimeraX-NMRSTAR: 1.0.2 ChimeraX-NRRD: 1.2 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.14.1 ChimeraX-OrthoPick: 1.0.1 ChimeraX-PDB: 2.7.10 ChimeraX-PDBBio: 1.0.1 ChimeraX-PDBLibrary: 1.0.4 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1.3 ChimeraX-ProfileGrids: 1.1.2 ChimeraX-PubChem: 2.2 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.2 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.6.3 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.3.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 4.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.5.1 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0.3 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0.1 ChimeraX-Segmentations: 3.5.7 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.17.1 ChimeraX-Shape: 1.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.2.1 ChimeraX-ShowSequences: 1.0.3 ChimeraX-SideView: 1.0.1 ChimeraX-SimilarStructures: 1.0.1 ChimeraX-Smiles: 2.1.2 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.19.1 ChimeraX-STL: 1.0.1 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.2.1 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0.1 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.5.2 ChimeraX-TapeMeasure: 1.0 ChimeraX-TaskManager: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.2.3 ChimeraX-ToolshedUtils: 1.2.4 ChimeraX-Topography: 1.0 ChimeraX-ToQuest: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.45.2 ChimeraX-Umap: 1.0 ChimeraX-uniprot: 2.3.1 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.4.4 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-vrml: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.2 ChimeraX-WebServices: 1.1.5 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.2.2 contourpy: 1.3.2 coverage: 7.9.1 cxservices: 1.2.3 cycler: 0.12.1 Cython: 3.0.12 debugpy: 1.8.14 decorator: 5.2.1 docutils: 0.21.2 executing: 2.2.0 filelock: 3.18.0 fonttools: 4.58.4 funcparserlib: 2.0.0a0 glfw: 2.9.0 grako: 3.16.5 h5py: 3.14.0 html2text: 2024.2.26 idna: 3.10 ihm: 2.2 imagecodecs: 2024.6.1 imagesize: 1.4.1 iniconfig: 2.1.0 ipykernel: 6.29.5 ipython: 8.26.0 ipywidgets: 8.1.7 jedi: 0.19.1 Jinja2: 3.1.6 jupyter_client: 8.6.3 jupyter_core: 5.8.1 jupyterlab_widgets: 3.0.15 kiwisolver: 1.4.8 line_profiler: 4.2.0 lxml: 5.3.1 lz4: 4.4.4 MarkupSafe: 3.0.2 matplotlib: 3.10.1 matplotlib-inline: 0.1.7 msgpack: 1.1.0 ndindex: 1.10.0 nest-asyncio: 1.6.0 netCDF4: 1.6.5 networkx: 3.3 nibabel: 5.2.0 nptyping: 2.5.0 numexpr: 2.11.0 numpy: 1.26.4 OpenMM: 8.2.0 openvr: 1.26.701 packaging: 24.2 ParmEd: 4.2.2 parso: 0.8.4 pep517: 0.13.1 pexpect: 4.9.0 pickleshare: 0.7.5 pillow: 10.4.0 pip: 25.0.1 pkginfo: 1.11.1 platformdirs: 4.3.8 pluggy: 1.6.0 prompt_toolkit: 3.0.51 psutil: 7.0.0 ptyprocess: 0.7.0 pure_eval: 0.2.3 py-cpuinfo: 9.0.0 pycollada: 0.8 pydicom: 2.4.4 pyelftools: 0.32 Pygments: 2.18.0 pynmrstar: 3.3.5 pynrrd: 1.0.0 PyOpenGL: 3.1.9 PyOpenGL-accelerate: 3.1.9 pyopenxr: 1.1.4501 pyparsing: 3.2.3 pyproject_hooks: 1.2.0 PyQt6-commercial: 6.8.1 PyQt6-Qt6: 6.8.2 PyQt6-WebEngine-commercial: 6.8.0 PyQt6-WebEngine-Qt6: 6.8.2 PyQt6_sip: 13.10.0 pytest: 8.4.1 pytest-cov: 6.2.1 python-dateutil: 2.9.0.post0 pytz: 2025.2 pyzmq: 27.0.0 qtconsole: 5.5.2 QtPy: 2.4.3 qtshim: 1.1 RandomWords: 0.4.0 requests: 2.32.3 roman-numerals-py: 3.1.0 scipy: 1.14.0 setuptools: 78.1.0 sfftk-rw: 0.8.1 six: 1.16.0 snowballstemmer: 3.0.1 sortedcontainers: 2.4.0 soupsieve: 2.7 Sphinx: 8.2.3 sphinx-autodoc-typehints: 3.1.0 sphinxcontrib-applehelp: 2.0.0 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 2.0.0 sphinxcontrib-htmlhelp: 2.1.0 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 2.0.0 sphinxcontrib-serializinghtml: 2.0.0 stack-data: 0.6.3 superqt: 0.7.1 tables: 3.10.2 tcia_utils: 1.5.1 tifffile: 2025.3.13 tinyarray: 1.2.4 tornado: 6.5.1 traitlets: 5.14.3 typing_extensions: 4.14.0 tzdata: 2025.2 urllib3: 2.5.0 wcwidth: 0.2.13 webcolors: 24.11.1 wheel: 0.45.1 wheel-filename: 1.4.2 widgetsnbextension: 4.0.14 File attachment: color inversion.png
Attachments (1)
Change History (5)
by , 3 months ago
Attachment: | color inversion.png added |
---|
comment:1 by , 3 months ago
Component: | Unassigned → Depiction |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Surface Color: colors inverted |
Reported by Yuki Fujii
comment:2 by , 3 months ago
I am not able to reproduce the reverse coloring in my tests with ChimeraX 1.10. Can you tell me the "color sample" command that appears in the Log when you use the Surface Color panel and it gives the reversed coloring?
Maybe you pressed the Reverse button and expected the surface coloring to be reversed. It doesn't reverse the surface coloring until you press the Color button.
If it still comes out backwards from what it should, please tell the exact order of the steps of every button press and menu choice. Maybe the bug only appears when you do it in a specific order.
comment:3 by , 3 months ago
Looking more closely at your the screenshot I see the coloring of the protein is the same in your 1.8 and 1.10 images. It is only the coloring of the region outside the protein and on the boundary of the protein that has changed. I got the Relion tutorial maps and I can reproduce the problem now and will report the cause when I figure it out.
comment:4 by , 3 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in 1.10.1 and 1.11 daily builds.
The colors were not reversed, instead values beyond the maximum value given in the color palette got the minimum value color instead of the maximum value color. This happened because the copying of the command supplied colormap reversed the colormap above range and below range colors by putting those two colors in the opposite order in the argument list. I fixed the order and specified the argument names (color_above_value_range and color_below_value_range) to avoid this mistake in the future.
Another report #18115 of this problem with a screenshot helped me identify the problem.
Added by email2trac