Opened 23 months ago

Closed 22 months ago

Last modified 21 months ago

#10384 closed defect (fixed)

vop unroll: cannot select an axis to squeeze out which has size not equal to one

Reported by: karin.mazmanian@… 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:        Windows-10-10.0.22621
ChimeraX Version: 1.6.1 (2023-05-09 17:57:07 UTC)
Description
Hi! I was trying to do vol unroll, got this message. Generally I cannot unroll a filament it just gets cut in half. Thank you for your help

Log:
UCSF ChimeraX version: 1.6.1 (2023-05-09)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open D:/for_chimera/c11_alltomo/run_it013_half2_class001.mrc

Opened run_it013_half2_class001.mrc as #1, grid size 152,152,152, pixel 2.8,
shown at level 1.38, step 1, values float32  

> volume #1 level 1.15

> vop unroll #1

Opened unrolled run_it013_half2_class001.mrc as #2, grid size 137,721,152,
pixel 2.81,2.8,2.82, shown at step 1, values float32  

> close #2

> volume #1 orthoplanes xyz positionPlanes 76,76,76 style image region all

> mousemode rightMode "move planes"

> show #1.1 models

> hide #1.2 models

> show #1.2 models

> ui mousemode right "tape measure"

> marker segment #2 position 317.1,212.8,223.7 toPosition 108.9,214,212.8
> color yellow radius 0.7 label 208.5 labelHeight 20.85 labelColor yellow

> volume #1 change image level -0.2299,0 level 1.375,0.8 level 1.681,1

> volume #1 level 0.7003

> volume #1 orthoplanes xyz positionPlanes 76,76,76 style image region all

> mousemode rightMode "move planes"

> show #1.1 models

> volume #1 orthoplanes xyz positionPlanes 76,76,76

> ui mousemode right "tape measure"

> marker delete #2

> marker segment #2 position 307.8,213.7,212.8 toPosition 127,213.8,212.8
> color yellow radius 0.7 label 180.8 labelHeight 18.08 labelColor yellow

> marker segment #2 position 381.9,214.5,212.8 toPosition 51.11,215.7,212.8
> color yellow radius 0.7 label 330.8 labelHeight 33.08 labelColor yellow

> ui mousemode right "mark plane"

> marker #2 position 212.4,214,212.8 color yellow radius 2.8

> vop unroll #1 center 212.4,214,212.8

Opened unrolled run_it013_half2_class001.mrc as #3, grid size 43,291,152,
pixel 2.81,2.8,2.82, shown at step 1, values float32  
An error occurred in drawing the scene. Redrawing graphics is now stopped to
avoid a continuous stream of error messages. To restart graphics use the
command "graphics restart" after changing the settings that caused the error.  
  
cannot select an axis to squeeze out which has size not equal to one  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\graphics\view.py", line 177, in draw  
self._draw_scene(camera, drawings)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\graphics\view.py", line 247, in _draw_scene  
draw_opaque(r, opaque_drawings)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1542, in draw_opaque  
_draw_multiple(drawings, renderer, Drawing.OPAQUE_DRAW_PASS)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\graphics\drawing.py", line 1555, in _draw_multiple  
d.draw(renderer, draw_pass)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 783, in draw  
pd = self._update_planes(renderer)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 551, in _update_planes  
pd = self._update_2d_texture_planes(view_dir)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 559, in _update_2d_texture_planes  
pd = self._texture_2d_planes(axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 585, in _texture_2d_planes  
pd = self._make_planes(axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 713, in _make_planes  
d = Texture2dPlanes(self, axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 984, in __init__  
self._update_textures(planes)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 1056, in _update_textures  
textures = [self._plane_texture(k, axis) for k,axis in planes]  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 1056, in <listcomp>  
textures = [self._plane_texture(k, axis) for k,axis in planes]  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 1063, in _plane_texture  
self._fill_plane_texture(k, axis, t)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 1082, in _fill_plane_texture  
data = ir._color_plane(plane, axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 234, in _color_plane  
m = self._matrix_plane(plane, axis)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\map\image3d.py", line 211, in _matrix_plane  
p = squeeze(m, 2-axis) # Reduce from 3d array to 2d.  
File "<__array_function__ internals>", line 180, in squeeze  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\numpy\core\fromnumeric.py", line 1545, in squeeze  
return squeeze(axis=axis)  
ValueError: cannot select an axis to squeeze out which has size not equal to
one  
  




OpenGL version: 3.3.0 NVIDIA 536.23
OpenGL renderer: NVIDIA GeForce RTX 3090/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.9.11
Locale: en_GB.cp1252
Qt version: PyQt6 6.4.2, Qt 6.4.2
Qt runtime version: 6.4.3
Qt platform: windows

Manufacturer: Acer
Model: Altos P10 F8
OS: Microsoft Windows 11 Pro (Build 22621)
Memory: 137,198,235,648
MaxProcessMemory: 137,438,953,344
CPU: 24 12th Gen Intel(R) Core(TM) i9-12900K
OSLanguage: en-GB

Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    argparse: 1.4.0
    asttokens: 2.2.1
    Babel: 2.12.1
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    build: 0.10.0
    certifi: 2023.5.7
    cftime: 1.6.2
    charset-normalizer: 3.1.0
    ChimeraX-AddCharge: 1.5.9.1
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.3.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.3
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-ArtiaX: 0.3
    ChimeraX-Atomic: 1.43.10
    ChimeraX-AtomicLibrary: 10.0.6
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    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.8
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.2.2
    ChimeraX-ButtonPanel: 1.0.1
    ChimeraX-CageBuilder: 1.0.1
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.3.2
    ChimeraX-ChangeChains: 1.0.2
    ChimeraX-CheckWaters: 1.3.1
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0.3
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.3
    ChimeraX-CommandLine: 1.2.5
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0.1
    ChimeraX-Core: 1.6.1
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.4.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0.1
    ChimeraX-DataFormats: 1.2.3
    ChimeraX-Dicom: 1.2
    ChimeraX-DistMonitor: 1.4
    ChimeraX-DockPrep: 1.1.1
    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.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-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.4
    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.0.12
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.9
    ChimeraX-ModelPanel: 1.3.7
    ChimeraX-ModelSeries: 1.0.1
    ChimeraX-Mol2: 2.0
    ChimeraX-Mole: 1.0
    ChimeraX-Morph: 1.0.2
    ChimeraX-MouseModes: 1.2
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nifti: 1.0
    ChimeraX-NRRD: 1.0
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OpenCommand: 1.10.1
    ChimeraX-PDB: 2.7.2
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    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-RenderByAttr: 1.1
    ChimeraX-RenumberResidues: 1.1
    ChimeraX-ResidueFit: 1.0.1
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 3.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.1
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0.1
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.8.3
    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.3
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.2
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Topography: 1.0
    ChimeraX-Tug: 1.0.1
    ChimeraX-UI: 1.28.4
    ChimeraX-uniprot: 2.2.2
    ChimeraX-UnitCell: 1.0.1
    ChimeraX-ViewDockX: 1.2
    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.2
    ChimeraX-WebServices: 1.1.1
    ChimeraX-Zone: 1.0.1
    colorama: 0.4.6
    comm: 0.1.3
    comtypes: 1.1.14
    contourpy: 1.0.7
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.6.7
    decorator: 5.1.1
    docutils: 0.19
    dynamotable: 0.2.4
    eulerangles: 1.0.2
    executing: 1.2.0
    filelock: 3.9.0
    fonttools: 4.39.3
    funcparserlib: 1.0.1
    geomdl: 5.3.1
    grako: 3.16.5
    h5py: 3.8.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.35
    imagecodecs: 2022.9.26
    imagesize: 1.4.1
    importlib-metadata: 6.6.0
    ipykernel: 6.21.1
    ipython: 8.10.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.0.6
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.0.2
    jupyter-core: 5.3.0
    jupyterlab-widgets: 3.0.7
    kiwisolver: 1.4.4
    line-profiler: 4.0.2
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.2
    matplotlib: 3.6.3
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    nest-asyncio: 1.5.6
    netCDF4: 1.6.2
    networkx: 2.8.8
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.4
    numpy: 1.23.5
    openvr: 1.23.701
    packaging: 23.1
    pandas: 2.1.1
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 9.3.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.5.0
    prompt-toolkit: 3.0.38
    psutil: 5.9.4
    pure-eval: 0.2.2
    pycollada: 0.7.2
    pydicom: 2.3.0
    Pygments: 2.14.0
    pynrrd: 1.0.0
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.4.2
    PyQt6-Qt6: 6.4.3
    PyQt6-sip: 13.4.1
    PyQt6-WebEngine-commercial: 6.4.0
    PyQt6-WebEngine-Qt6: 6.4.3
    python-dateutil: 2.8.2
    pytz: 2023.3
    pywin32: 305
    pyzmq: 25.0.2
    qtconsole: 5.4.0
    QtPy: 2.3.1
    RandomWords: 0.4.0
    requests: 2.28.2
    scipy: 1.9.3
    setuptools: 67.4.0
    sfftk-rw: 0.7.3
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.4.1
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    sphinxcontrib-applehelp: 1.0.4
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.1
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    stack-data: 0.6.2
    starfile: 0.5.0
    superqt: 0.6.1
    tables: 3.7.0
    tcia-utils: 1.2.0
    tifffile: 2022.10.10
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.3.1
    traitlets: 5.9.0
    typing-extensions: 4.5.0
    tzdata: 2023.3
    urllib3: 1.26.15
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.7
    WMI: 1.5.1
    zipp: 3.15.0

Change History (5)

comment:1 by Eric Pettersen, 23 months ago

Component: UnassignedVolume Data
Platform: all
Project: ChimeraX
Summary: ChimeraX bug report submissionvop unroll: cannot select an axis to squeeze out which has size not equal to one

comment:2 by Tom Goddard, 22 months ago

Owner: set to Tom Goddard
Status: newassigned

comment:3 by Tom Goddard, 22 months ago

Thanks for your bug report. Sorry we did not reply back when you reported, somehow the bug never got assigned to anyone.

comment:4 by Tom Goddard, 22 months ago

Resolution: fixed
Status: assignedclosed

Fixed.

This error is caused by using "volume unroll" on a volume shown in orthoplanes style. The trouble is that it then tries to show the unrolled volume in orthoplanes style with the same center of planes point and that point is outside the bounds of the unrolled volume. You can avoid this error by not using "volume unroll" on a volume shown as orthoplanes. Instead show as surface or image style.

I have fixed it so it will also work in orthoplanes mode in tomorrow's daily build. The orthoplanes center point will still be out of bounds but it will show the closes plane that is in bounds.

I made a simple case reproducing this bug, ticket #14540.

comment:5 by karin.mazmanian@…, 21 months ago

Dear Tom,

Thank you so much. I found out how it works by trial and error at the end
:)

Karine


On Tue, 6 Feb 2024 at 06:18, ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

>
>
>
>
>
>
>
Note: See TracTickets for help on using tickets.