Opened 3 years ago

Last modified 3 years ago

#7862 assigned enhancement

No way to set segmentation colors when coloring image style volume

Reported by: goddard@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Volume Data Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-12.6-arm64-arm-64bit
ChimeraX Version: 1.5.dev202210102058 (2022-10-10 20:58:47 UTC)
Description
The segmentation command does not appear to offer any way to specify the segment colors when applying the colors to a volume shown in image style.  Instead only random colors are possible.  This seems like a major limitation.  Surfaces for each segment can be created and their colors can be changed but for image style rendering there is no mechanism for changing the colors.

Log:
UCSF ChimeraX version: 1.5.dev202210102058 (2022-10-10)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> volume new size 100 valueType int32

Opened new as #1, grid size 100,100,100, pixel 1, shown at step 1, values
int32  

> volume #1 showOutlineBox true

> view

> volume erase #1 center 50,50,50 radius 20 value 1

> volume erase #1 center 20,20,20 radius 15 value 2

> volume new size 100 valueType float32

Opened new as #2, grid size 100,100,100, pixel 1, shown at step 1, values
float32  

> view

> close #2

> volume add #1 valueType float32

Opened new resampled as #2, grid size 100,100,100, pixel 1, shown at step 1,
values float32  

> volume #2 style image

> segmentation colors #1 red map #2

> segmentation colors #1 map #2

> segmentation colors #1 red map #2 byAttribute segment=1

Segmentation new (#1) has no attribute segment=1  




OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple

Python: 3.9.11
Locale: UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,2
      Chip: Apple M1 Max
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 7459.141.1
      OS Loader Version: 7459.141.1

Software:

    System Software Overview:

      System Version: macOS 12.6 (21G115)
      Kernel Version: Darwin 21.6.0
      Time since boot: 33 days 7:02

Graphics/Displays:

    Apple M1 Max:

      Chipset Model: Apple M1 Max
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 32
      Vendor: Apple (0x106b)
      Metal Family: Supported, Metal GPUFamily Apple 7
      Displays:
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3456 x 2234 Retina
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal


Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    appnope: 0.1.3
    asttokens: 2.0.8
    Babel: 2.10.3
    backcall: 0.2.0
    blockdiag: 3.0.0
    build: 0.8.0
    certifi: 2021.10.8
    cftime: 1.6.2
    charset-normalizer: 2.1.1
    ChimeraX-AddCharge: 1.4
    ChimeraX-AddH: 2.2
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.6
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-ArtiaX: 0.1
    ChimeraX-Atomic: 1.43.2
    ChimeraX-AtomicLibrary: 8.0.2
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3
    ChimeraX-BasicActions: 1.1.2
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.2
    ChimeraX-BondRot: 2.0.1
    ChimeraX-BugReporter: 1.0.1
    ChimeraX-BuildStructure: 2.7.1
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.1
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.19.0.dev0
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.2
    ChimeraX-CommandLine: 1.2.4
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.5.dev202210102058
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.3
    ChimeraX-DockPrep: 1.0
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0.1
    ChimeraX-FunctionKey: 1.0.1
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.4
    ChimeraX-Help: 1.2.1
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ISOLDE: 1.5.dev0
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-Label: 1.1.7
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.2
    ChimeraX-Map: 1.1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0.1
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1.1
    ChimeraX-Markers: 1.0.1
    ChimeraX-Mask: 1.0.1
    ChimeraX-MatchMaker: 2.0.9
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.8
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.6
    ChimeraX-ModelPanel: 1.3.6
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.1
    ChimeraX-MouseModes: 1.1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.9.1
    ChimeraX-PDB: 2.6.8
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PhenixUI: 1.0.4
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    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
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.7.2
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.1
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.10
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.1.3
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.24.2
    ChimeraX-uniprot: 2.2.1
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.1.3
    ChimeraX-VIPERdb: 1.0
    ChimeraX-Vive: 1.1
    ChimeraX-VolumeMenu: 1.0.1
    ChimeraX-VTK: 1.0
    ChimeraX-WavefrontOBJ: 1.0
    ChimeraX-WebCam: 1.0.1
    ChimeraX-WebServices: 1.1.0
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.5
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.32
    debugpy: 1.6.3
    decorator: 5.1.1
    Deprecated: 1.2.13
    docutils: 0.19
    entrypoints: 0.4
    executing: 1.1.0
    filelock: 3.7.1
    fonttools: 4.37.4
    funcparserlib: 1.0.0
    future: 0.18.2
    grako: 3.16.5
    graphtools: 1.5.2
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.33
    imagecodecs: 2022.2.22
    imageio: 2.22.1
    imagesize: 1.4.1
    importlib-metadata: 5.0.0
    ipykernel: 6.15.3
    ipython: 8.4.0
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.1.2
    joblib: 1.2.0
    jupyter-client: 7.3.4
    jupyter-core: 4.11.1
    kiwisolver: 1.4.4
    line-profiler: 3.5.1
    llvmlite: 0.39.1
    lxml: 4.9.1
    lz4: 4.0.2
    MarkupSafe: 2.1.1
    matplotlib: 3.5.2
    matplotlib-inline: 0.1.6
    mrcfile: 1.4.3
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.0
    networkx: 2.8.5
    numba: 0.56.2
    numexpr: 2.8.3
    numpy: 1.23.1
    openvr: 1.23.701
    packaging: 21.3
    pandas: 1.4.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pexpect: 4.8.0
    phate: 1.0.8
    pickleshare: 0.7.5
    Pillow: 9.2.0
    pip: 22.2.2
    pkginfo: 1.8.3
    prompt-toolkit: 3.0.31
    psutil: 5.9.1
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.12.0
    PyGSP: 0.5.1
    pynndescent: 0.5.7
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    pyqtgraph: 0.13.1
    python-dateutil: 2.8.2
    pytz: 2022.4
    PyWavelets: 1.4.1
    PyYAML: 6.0
    pyzmq: 24.0.1
    qtconsole: 5.3.1
    QtPy: 2.2.1
    RandomWords: 0.4.0
    requests: 2.28.1
    s-gd2: 1.8
    scikit-image: 0.19.3
    scikit-learn: 1.1.2
    scipy: 1.9.0
    scprep: 1.2.1
    Send2Trash: 1.8.0
    setuptools: 59.8.0
    setuptools-scm: 7.0.5
    sfftk-rw: 0.7.2
    six: 1.16.0
    sklearn: 0.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 5.1.1
    sphinx-autodoc-typehints: 1.19.1
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.5.1
    starfile: 0.4.11
    superqt: 0.3.3
    tables: 3.7.0
    tasklogger: 1.2.0
    threadpoolctl: 3.1.0
    tifffile: 2022.7.31
    tinyarray: 1.2.4
    tomli: 2.0.1
    torch: 1.12.1
    tornado: 6.2
    tqdm: 4.64.1
    traitlets: 5.3.0
    typing-extensions: 4.3.0
    umap-learn: 0.5.3
    urllib3: 1.26.12
    wcwidth: 0.2.5
    webcolors: 1.12
    wheel: 0.37.1
    wheel-filename: 1.4.1
    wiggle: 0.2.2
    wrapt: 1.14.1
    zipp: 3.8.1

Change History (3)

comment:1 by Tom Goddard, 3 years ago

Component: UnassignedVolume Data
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionNo way to set segmentation colors when coloring image style volume
Type: defectenhancement

comment:2 by Tom Goddard, 3 years ago

Here's an idea for a command to set colors

seg setcolor #3 red 5
seg setcolor #3 pink 11,17,22-48
seg setcolor #3 blue 2 attr neuron_id
seg setcolor #3 fromSurf #5

It sets specific segment ids to specific colors, or sets specific named attribute values to specific colors, or it takes the colors from surfaces that were created with the segmentation surfaces command using the attribute name and value associated with each surface.1

Here's the syntax

segmentation setcolor <seg-model-spec> [<color>] [<id-list>] [attributeName <attr>] [fromSurfaces <surf-model-spec>]

comment:3 by Tom Goddard, 3 years ago

Would want the colors saved in sessions. Also coloring of map images is not currently saved in sessions, and segmentation surfaces don't remember the attribute name and value used to create them in sessions.

Note: See TracTickets for help on using tickets.