Opened 2 years ago
Closed 2 years ago
#9315 closed defect (fixed)
DICOM: no guardrails on Segmentation cursor size?
| Reported by: | Elaine Meng | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | DICOM | 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.7-arm64-arm-64bit
ChimeraX Version: 1.7.dev202304272200 (2023-04-27 22:00:29 UTC)
Description
DICOM: Shift-scroll segmentation cursor allows making it infinitely small
Log:
> open /Users/meng/Desktop/startup.cxc
> alias reset view orient; view initial
> alias start tool show $1
> alias whereprefs info path user unversioned config
> alias captut open help:user/tutorials/binding-sites.html#cap-example
> alias previewts toolshed url https://cxtoolshed-
> preview.rbvi.ucsf.edu;toolshed reload available
> alias normalts toolshed url https://cxtoolshed.rbvi.ucsf.edu;toolshed reload
> available
> alias btut open
> https://www.cgl.ucsf.edu/home/meng/chimerax/vdocs/user/tutorials/binding-
> sites.html; ui dockable false "Help Viewer"
> alias stut open https://www.rbvi.ucsf.edu/chimerax/data/conservation-
> coloring/conservation-coloring.html; ui dockable false "Help Viewer"
> alias ltut open https://www.rbvi.ucsf.edu/chimerax/data/loop-modeling/loop-
> modeling.html; ui dockable false "Help Viewer"
> alias mtut open https://www.rbvi.ucsf.edu/chimerax/data/mole-channel/mole-
> channel.html; ui dockable false "Help Viewer"; windowsize 600 800
executed startup.cxc
UCSF ChimeraX version: 1.7.dev202304272200 (2023-04-27)
© 2016-2023 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 2mnr format mmcif fromDatabase pdb
2mnr title:
Mechanism of the reaction catalyzed by mandelate racemase. 2. Crystal
structure of mandelate racemase At 2.5 angstroms resolution: identification of
the active site and possible catalytic residues [more info...]
Chain information for 2mnr #1
---
Chain | Description | UniProt
A | MANDELATE RACEMASE | MANR_PSEPU 3-359
Non-standard residues in 2mnr #1
---
MN — manganese (II) ion
SO4 — sulfate ion
2mnr mmCIF Assemblies
---
1| author_and_software_defined_assembly
> close
> open 1.3.6.1.4.1.14519.5.2.1.3023.4024.306470659673930296837445794244 format
> dicom fromDatabase tcia
Summary of feedback from opening
1.3.6.1.4.1.14519.5.2.1.3023.4024.306470659673930296837445794244 fetched from
tcia
---
note | Opened 4 MR (AXIAL T1 THRU MASS) as #1.1.1, grid size 256,256,46, pixel
0.859,0.859,8.8, shown at step 1, values int16
Images from TCIA may be rotated so that flat planes appear invisible. If the
screen looks black but no error message has been issued, try rotating the
model into view with your mouse.
> ui tool show Segmentations
> dicom view orthoplanes
No active segmentation!
[Repeated 4
time(s)]/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/shape/shape.py:172: RuntimeWarning: divide by zero
encountered in double_scalars
nz = max(2, int(ceil(nc * height / (sqrt(3)*pi*radius))))
Traceback (most recent call last):
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 523, in wheelEvent
self.resize3DSegmentationCursor()
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 514, in
resize3DSegmentationCursor
self.segmentation_tool.segmentation_cursors[self.axis].radius =
self.segmentation_overlay.radius * psize / self.scale
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/graphics/drawing.py", line 255, in __setattr__
super(Drawing, self).__setattr__(key, value)
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/graphics/cylinder.py", line 42, in radius
self.update_geometry()
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/graphics/cylinder.py", line 79, in update_geometry
nz, nc = _cylinder_divisions(self.radius, self.height, self.divisions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/shape/shape.py", line 172, in _cylinder_divisions
nz = max(2, int(ceil(nc * height / (sqrt(3)*pi*radius))))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OverflowError: cannot convert float infinity to integer
OverflowError: cannot convert float infinity to integer
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/shape/shape.py", line 172, in _cylinder_divisions
nz = max(2, int(ceil(nc * height / (sqrt(3)*pi*radius))))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 523, in wheelEvent
self.resize3DSegmentationCursor()
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 514, in
resize3DSegmentationCursor
self.segmentation_tool.segmentation_cursors[self.axis].radius =
self.segmentation_overlay.radius * psize / self.scale
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/graphics/drawing.py", line 255, in __setattr__
super(Drawing, self).__setattr__(key, value)
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/graphics/cylinder.py", line 42, in radius
self.update_geometry()
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/graphics/cylinder.py", line 79, in update_geometry
nz, nc = _cylinder_divisions(self.radius, self.height, self.divisions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/shape/shape.py", line 172, in _cylinder_divisions
nz = max(2, int(ceil(nc * height / (sqrt(3)*pi*radius))))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OverflowError: cannot convert float infinity to integer
OverflowError: cannot convert float infinity to integer
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/shape/shape.py", line 172, in _cylinder_divisions
nz = max(2, int(ceil(nc * height / (sqrt(3)*pi*radius))))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
See log for complete Python traceback.
No active segmentation!
> ui tool show Log
OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Pro
OpenGL vendor: Apple
Python: 3.11.2
Locale: UTF-8
Qt version: PyQt6 6.4.2, Qt 6.4.2
Qt runtime version: 6.4.3
Qt platform: cocoa
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro18,1
Chip: Apple M1 Pro
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 16 GB
System Firmware Version: 8422.121.1
OS Loader Version: 7459.141.1
Software:
System Software Overview:
System Version: macOS 12.6.7 (21G651)
Kernel Version: Darwin 21.6.0
Time since boot: 10:07
Graphics/Displays:
Apple M1 Pro:
Chipset Model: Apple M1 Pro
Type: GPU
Bus: Built-In
Total Number of Cores: 16
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: Yes
Connection Type: Internal
Installed Packages:
alabaster: 0.7.13
appdirs: 1.4.4
appnope: 0.1.3
asttokens: 2.2.1
Babel: 2.12.1
backcall: 0.2.0
beautifulsoup4: 4.11.2
blockdiag: 3.0.0
blosc2: 2.0.0
build: 0.10.0
certifi: 2022.12.7
cftime: 1.6.2
charset-normalizer: 3.1.0
ChimeraX-AddCharge: 1.5.11
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-Atomic: 1.46
ChimeraX-AtomicLibrary: 10.0.7
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.4
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.10.3
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.7.dev202304272200
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.2
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-IUPAC: 1.0
ChimeraX-Label: 1.1.7
ChimeraX-ListInfo: 1.2
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.1
ChimeraX-MCopy: 1.0
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.4
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.1
ChimeraX-NRRD: 1.1
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.10.2
ChimeraX-PDB: 2.7.2
ChimeraX-PDBBio: 1.0.1
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.2
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.9
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.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.12.1
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.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.30.1
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.2.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
contourpy: 1.1.0
cxservices: 1.2.2
cycler: 0.11.0
Cython: 0.29.33
debugpy: 1.6.7
decorator: 5.1.1
docutils: 0.19
executing: 1.2.0
filelock: 3.9.0
fonttools: 4.40.0
funcparserlib: 1.0.1
grako: 3.16.5
h5py: 3.9.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.35
imagecodecs: 2023.3.16
imagesize: 1.4.1
ipykernel: 6.23.2
ipython: 8.14.0
ipython-genutils: 0.2.0
ipywidgets: 8.0.6
jedi: 0.18.2
Jinja2: 3.1.2
jupyter-client: 8.2.0
jupyter-core: 5.3.1
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.3
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: 21.3
ParmEd: 3.4.3
parso: 0.8.3
pep517: 0.13.0
pexpect: 4.8.0
pickleshare: 0.7.5
Pillow: 9.3.0
pip: 23.0
pkginfo: 1.9.6
platformdirs: 3.8.0
prompt-toolkit: 3.0.38
psutil: 5.9.4
ptyprocess: 0.7.0
pure-eval: 0.2.2
py-cpuinfo: 9.0.0
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.14.0
pynrrd: 1.0.0
PyOpenGL: 3.1.6
PyOpenGL-accelerate: 3.1.6
pyparsing: 3.1.0
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
pyzmq: 25.1.0
qtconsole: 5.4.3
QtPy: 2.3.1
RandomWords: 0.4.0
requests: 2.31.0
scipy: 1.9.3
setuptools: 67.4.0
setuptools-scm: 7.0.5
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
tables: 3.8.0
tcia-utils: 1.2.0
tifffile: 2022.10.10
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.3.2
traitlets: 5.9.0
typing-extensions: 4.7.1
tzdata: 2023.3
urllib3: 2.0.3
wcwidth: 0.2.6
webcolors: 1.12
wheel: 0.38.4
wheel-filename: 1.4.1
widgetsnbextension: 4.0.7
Change History (2)
comment:1 by , 2 years ago
| Component: | Unassigned → DICOM |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → DICOM: no guardrails on Segmentation cursor size? |
comment:2 by , 2 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
This has actually been fixed since yesterday's daily build! Unless that one had the 2023-04-27 version string too, in which case I need to go look again.
Might also be a good enhancement ticket to figure out the size of the voxels and not let the cursor get smaller than _that_.
Note:
See TracTickets
for help on using tickets.
initial description said "infinitely small" but now I'm not sure whether it was infinitely small or just too big somehow. I accidentally changed size because I was trying to make zooming go faster... it is glacially slow trying to do it with 2-finger scrolling on the trackpad.