Opened 2 years ago
Closed 2 years ago
#10171 closed defect (fixed)
DICOM: Segmentations tool not happy if more than one medical image is present (e.g. 2 CTs)
| Reported by: | Elaine Meng | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | DICOM | Version: | |
| Keywords: | Cc: | Eric Pettersen | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-10.15.7-x86_64-i386-64bit
ChimeraX Version: 1.8.dev202311160224 (2023-11-16 02:24:18 UTC)
Description
started medical-image Segmentations tool, but slice views were blank
not sure how I got this traceback, was clicking around
Log:
Startup Messages
---
note | available bundle cache has not been initialized yet
> open /Users/meng/Desktop/startup.cxc
> alias reset view orient; view initial
> alias start toolshed show $1
> alias whereprefs info path user unversioned config
> 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
> http://www.cgl.ucsf.edu/home/meng/chimerax/vdocs/user/tutorials/binding-
> sites.html
> alias segtest open 0557 from emdb; vol threshold #1 min 0; vol scale #2
> value uint8; open 6nzk
executed startup.cxc
UCSF ChimeraX version: 1.8.dev202311160224 (2023-11-16)
© 2016-2023 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open /Users/meng/Desktop/11-06-2014-1-96508 format dicom
Summary of feedback from opening /Users/meng/Desktop/11-06-2014-1-96508
---
notes | Opened 4 CT (No Description) as #1.1.1, grid size 512,512,236, pixel
0.576,0.576,1.24, shown at step 1, values int16
Opened 8 CT (No Description) as #1.1.2, grid size 512,512,213, pixel
0.588,0.588,1.24, shown at step 1, values int16
Opened 1000 SEG (QIN CT challenge: alg01 run1segmentation result) as #1.1.3,
grid size 512,512,236, pixel 0.576,0.576,1, shown at level 0.5, step 2, values
uint8
Opened 1000 SEG (QIN CT challenge: alg01 run2segmentation result) as #1.1.4,
grid size 512,512,236, pixel 0.576,0.576,1, shown at level 0.5, step 2, values
uint8
Opened 1000 SEG (QIN CT challenge: alg01 run3segmentation result) as #1.1.5,
grid size 512,512,236, pixel 0.576,0.576,1, shown at level 0.5, step 2, values
uint8
Opened 1000 SEG (QIN CT challenge: alg02 run1segmentation result) as #1.1.6,
grid size 512,512,236, pixel 0.576,0.576,1, shown at level 0.5, step 2, values
uint8
Opened 1000 SEG (QIN CT challenge: alg02 run2segmentation result) as #1.1.7,
grid size 512,512,236, pixel 0.576,0.576,1, shown at level 0.5, step 2, values
uint8
4 messages similar to the above omitted
> hide #!1.1.2 models
> close #1.1.6-11
> volume #1.1.3 style mesh
> hide #!1.1.4 models
> hide #!1.1.5 models
> volume #1.1.3 color #b2ffff64
> ui tool show Segmentations
> dicom view fourup
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 734, in mouseMoveEvent
self.moveSegmentationPuck(x, y, record_seg = (b == Qt.MouseButton.LeftButton))
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 674, in moveSegmentationPuck
rel_top, rel_bottom, rel_left, rel_right =
self.mousePercentOffsetsFromEdges(x, y)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
ZeroDivisionError: float division by zero
ZeroDivisionError: float division by zero
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 734, in mouseMoveEvent
self.moveSegmentationPuck(x, y, record_seg = (b == Qt.MouseButton.LeftButton))
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 674, in moveSegmentationPuck
rel_top, rel_bottom, rel_left, rel_right =
self.mousePercentOffsetsFromEdges(x, y)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
ZeroDivisionError: float division by zero
ZeroDivisionError: float division by zero
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 734, in mouseMoveEvent
self.moveSegmentationPuck(x, y, record_seg = (b == Qt.MouseButton.LeftButton))
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 674, in moveSegmentationPuck
rel_top, rel_bottom, rel_left, rel_right =
self.mousePercentOffsetsFromEdges(x, y)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
ZeroDivisionError: float division by zero
ZeroDivisionError: float division by zero
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 734, in mouseMoveEvent
self.moveSegmentationPuck(x, y, record_seg = (b == Qt.MouseButton.LeftButton))
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 674, in moveSegmentationPuck
rel_top, rel_bottom, rel_left, rel_right =
self.mousePercentOffsetsFromEdges(x, y)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
ZeroDivisionError: float division by zero
ZeroDivisionError: float division by zero
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
See log for complete Python traceback.
Traceback (most recent call last):
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 734, in mouseMoveEvent
self.moveSegmentationPuck(x, y, record_seg = (b == Qt.MouseButton.LeftButton))
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 674, in moveSegmentationPuck
rel_top, rel_bottom, rel_left, rel_right =
self.mousePercentOffsetsFromEdges(x, y)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
ZeroDivisionError: float division by zero
ZeroDivisionError: float division by zero
File
"/Applications/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/dicom/ui/orthoplanes.py", line 641, in
mousePercentOffsetsFromEdges
percent_offset_from_bottom = (((self.scale * (self.view.window_size[1] - y)) -
bottom) / (top - bottom))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
See log for complete Python traceback.
OpenGL version: 4.1 NVIDIA-14.0.32 355.11.11.10.10.143
OpenGL renderer: NVIDIA GeForce GTX 675MX OpenGL Engine
OpenGL vendor: NVIDIA Corporation
Python: 3.11.2
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: iMac
Model Identifier: iMac13,2
Processor Name: Quad-Core Intel Core i5
Processor Speed: 3.2 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 8 GB
Boot ROM Version: 429.0.0.0.0
SMC Version (system): 2.11f16
Software:
System Software Overview:
System Version: macOS 10.15.7 (19H2026)
Kernel Version: Darwin 19.6.0
Time since boot: 48 days 20:27
Graphics/Displays:
NVIDIA GeForce GTX 675MX:
Chipset Model: NVIDIA GeForce GTX 675MX
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 1 GB
Vendor: NVIDIA (0x10de)
Device ID: 0x11a2
Revision ID: 0x00a2
ROM Revision: 3707
Metal: Supported, feature set macOS GPUFamily1 v4
Displays:
iMac:
Display Type: LCD
Resolution: 2560 x 1440 (QHD/WQHD - Wide Quad High Definition)
UI Looks like: 2560 x 1440
Framebuffer Depth: 24-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: No
Connection Type: Internal
Installed Packages:
alabaster: 0.7.13
appdirs: 1.4.4
appnope: 0.1.3
asttokens: 2.4.1
Babel: 2.13.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.3
charset-normalizer: 3.3.2
ChimeraX-AddCharge: 1.5.12
ChimeraX-AddH: 2.2.5
ChimeraX-AlignmentAlgorithms: 2.0.1
ChimeraX-AlignmentHdrs: 3.4.1
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.12.1
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.1.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.51
ChimeraX-AtomicLibrary: 12.1.1
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.5
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.1
ChimeraX-CheckWaters: 1.3.2
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.2.4
ChimeraX-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.5
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.8.dev202311160224
ChimeraX-CoreFormats: 1.2
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.2
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.8
ChimeraX-ListInfo: 1.2.1
ChimeraX-Log: 1.1.6
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
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.2
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.1
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.12
ChimeraX-ModelPanel: 1.4
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-Neuron: 1.0
ChimeraX-Nifti: 1.1
ChimeraX-NRRD: 1.1
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.13
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.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.2
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.2
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.2
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.11
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.2
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.13
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.2
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 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.33.3
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.3.2
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.3
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.2.0
contourpy: 1.2.0
cxservices: 1.2.2
cycler: 0.12.1
Cython: 0.29.33
debugpy: 1.8.0
decorator: 5.1.1
docutils: 0.19
executing: 2.0.1
filelock: 3.9.0
fonttools: 4.44.3
funcparserlib: 1.0.1
glfw: 2.6.2
grako: 3.16.5
h5py: 3.10.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.38
imagecodecs: 2023.9.18
imagesize: 1.4.1
ipykernel: 6.23.2
ipython: 8.14.0
ipython-genutils: 0.2.0
ipywidgets: 8.1.1
jedi: 0.18.2
Jinja2: 3.1.2
jupyter-client: 8.2.0
jupyter-core: 5.5.0
jupyterlab-widgets: 3.0.9
kiwisolver: 1.4.5
line-profiler: 4.0.2
lxml: 4.9.2
lz4: 4.3.2
MarkupSafe: 2.1.3
matplotlib: 3.7.2
matplotlib-inline: 0.1.6
msgpack: 1.0.4
nest-asyncio: 1.5.8
netCDF4: 1.6.2
networkx: 3.1
nibabel: 5.0.1
nptyping: 2.5.0
numexpr: 2.8.7
numpy: 1.25.1
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: 10.0.1
pip: 23.0
pkginfo: 1.9.6
platformdirs: 4.0.0
prompt-toolkit: 3.0.41
psutil: 5.9.5
ptyprocess: 0.7.0
pure-eval: 0.2.2
py-cpuinfo: 9.0.0
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.16.1
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyopenxr: 1.0.2801
pyparsing: 3.0.9
pyproject-hooks: 1.0.0
PyQt6-commercial: 6.3.1
PyQt6-Qt6: 6.3.2
PyQt6-sip: 13.4.0
PyQt6-WebEngine-commercial: 6.3.1
PyQt6-WebEngine-Qt6: 6.3.2
python-dateutil: 2.8.2
pytz: 2023.3.post1
pyzmq: 25.1.1
qtconsole: 5.4.3
QtPy: 2.4.1
RandomWords: 0.4.0
requests: 2.31.0
scipy: 1.11.1
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.5
sphinx: 6.1.3
sphinx-autodoc-typehints: 1.22
sphinxcontrib-applehelp: 1.0.7
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.5
sphinxcontrib-htmlhelp: 2.0.4
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.6
sphinxcontrib-serializinghtml: 1.1.9
stack-data: 0.6.3
superqt: 0.5.0
tables: 3.8.0
tcia-utils: 1.5.1
tifffile: 2023.7.18
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.3.3
traitlets: 5.9.0
typing-extensions: 4.8.0
tzdata: 2023.3
urllib3: 2.1.0
wcwidth: 0.2.10
webcolors: 1.12
wheel: 0.38.4
wheel-filename: 1.4.1
widgetsnbextension: 4.0.9
Change History (7)
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: Segmentations tool not happy if more than one medical image is present (e.g. 2 CTs) |
comment:2 by , 2 years ago
This bug (mercifully) reveals itself even if you just open two datasets and change the layout, no tool needed.
comment:3 by , 2 years ago
| Cc: | added |
|---|
Hi Eric,
I'm ccing you because my proposed fix involves the ModelMenu widget you wrote in ui/src/widgets/composite.py
I discovered that when more than one dataset is open, the on-dataset-selected callback doesn't fire. I looked at the ModelMenu code, and ModelMenus use a ModelMenuButton from ui/src/widgets/item_chooser.py, which takes an autoselect argument.
That argument isn't exposed in ModelMenu. If I add it to ModelMenu's initializer so it can be passed down to ModelMenuButton, then setting autoselect='first' fixes this behavior.
Do you have any issues putting that in production?
comment:4 by , 2 years ago
Well, that seems fine, though you could just use ModelMenuButton directly (and add a label if needed). Nonetheless your proposed change seems fine. You might consider having ModelMenu take kw for the arguments that will be passed unchanged through to ModelMenuButton.
comment:5 by , 2 years ago
I don't like either solution. Just adding the parameter clogs the arguments list and, to the caller, looks like something that matters for the class instead of just one of the classes it makes use of. But on the other end, **kwargs is totally useless to IDEs (if it's not explained in docstrings). I can't see the list of possible parameters without going and looking at the relevant subclass.
I guess kwargs is the better way to go because it's at least net zero -- the programmer isn't in a worse position than normal just having to look the parameter up, vs adding to the list of arguments which is confusing.
I've heard about parameter classes as a possible solution, but it sounds like ugly boilerplate to me. Argh!
comment:6 by , 2 years ago
I think as long as ModelMenu's doc string says that the keywords are being passed through to ModelMenuButton, that would be fine.
comment:7 by , 2 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Now I have tried various situations and reproduced it: it happens when I have more than one medical image series open (e.g., more than one CT series) when Segmentations is started. The slice views are blank and then the traceback appears. Maybe you have to click something to get the traceback, not sure, but it was reproducible.