Opened 3 years ago
Closed 3 years ago
#8064 closed defect (fixed)
clicking Model Panel Info to show DICOM Browser either gives traceback (Patient) or blank dialog (Study, Series)
| Reported by: | Elaine Meng | Owned by: | Zach Pearson |
|---|---|---|---|
| Priority: | major | Milestone: | 1.5 |
| 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.1-arm64-arm-64bit
ChimeraX Version: 1.6.dev202211190159 (2022-11-19 01:59:55 UTC)
Description
opened a DICOM, in Model Panel highlighted the top-level model (Patient), clicked Info
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.6.dev202211190159 (2022-11-19)
© 2016-2022 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> usage esmfold
esmfold fetch mgnifyId [colorConfidence true or false] [alignTo a chains
specifier] [trim true or false] [pae true or false] [ignoreCache true or
false] [version an integer]
— Fetch ESM Metagenomic Atlas database model for a MGnify identifier
mgnifyId: a text string
esmfold pae [structure] [file name of a file to open/read; a name of 'browse'
will bring up a file browser] [mgnifyId a text string] [palette a colormap]
[range range] [plot true or false] [dividerLines true or false] [colorDomains
true or false] [connectMaxPae a number] [cluster a number] [minSize an
integer] [version an integer]
— Show ESMFold predicted aligned error
range: some numbers or full
esmfold predict sequence [subsequence subsequence] [residueRange residueRange]
[chunk an integer] [overlap an integer]
— Predict a structure with ESMFold
sequence: sequence
subsequence: some integers
residueRange: some integers
> open "/Users/meng/dicom/tcia/RIDER Lung CT/RIDER-1129164940" format dicom
Summary of feedback from opening /Users/meng/dicom/tcia/RIDER Lung
CT/RIDER-1129164940
---
notes | Opened 4 CT (No Description) as #1.1.1, grid size 512,512,236, pixel
0.576,0.576,1.25, 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.25, shown at step 1, values int16
Opened 1000 SEG (QIN CT challenge: alg02 run1segmentation result) as #1.1.3,
grid size 512,512,236, pixel 0.576,0.576,1.25, shown at step 1, values uint8
Opened 1000 SEG (QIN CT challenge: alg02 run3segmentation result) as #1.1.4,
grid size 512,512,236, pixel 0.576,0.576,1.25, shown at step 1, values uint8
Opened 1000 SEG (QIN CT challenge: alg01 run1segmentation result) as #1.1.5,
grid size 512,512,236, pixel 0.576,0.576,1.25, shown at step 1, values uint8
Opened 1000 SEG (QIN CT challenge: alg03 run3segmentation result) as #1.1.6,
grid size 512,512,236, pixel 0.576,0.576,1.25, shown at step 1, values uint8
Opened 1000 SEG (QIN CT challenge: alg01 run3segmentation result) as #1.1.7,
grid size 512,512,236, pixel 0.576,0.576,1.25, shown at step 1, values uint8
4 messages similar to the above omitted
Traceback (most recent call last):
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/model_panel/tool.py", line 89, in <lambda>
mf([self.models[row] for row in [self._items.index(i)
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/model_panel/tool.py", line 409, in info
m.show_info()
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/dicom/dicom_hierarchy.py", line 87, in show_info
return DICOMBrowserTool(self)
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/dicom/ui/dicom_browser.py", line 58, in __init__
super().__init__(session, name)
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/tools.py", line 88, in __init__
session.tools.add([self])
AttributeError: 'Patient' object has no attribute 'tools'
AttributeError: 'Patient' object has no attribute 'tools'
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/tools.py", line 88, in __init__
session.tools.add([self])
See log for complete Python traceback.
OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Pro
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,1
Chip: Apple M1 Pro
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 16 GB
System Firmware Version: 8419.41.10
OS Loader Version: 7459.141.1
Software:
System Software Overview:
System Version: macOS 12.6.1 (21G217)
Kernel Version: Darwin 21.6.0
Time since boot: 4:00
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.12
appdirs: 1.4.4
appnope: 0.1.3
asttokens: 2.1.0
Babel: 2.11.0
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.5.5
ChimeraX-AddH: 2.2.3
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.3
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.8
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.3
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-Atomic: 1.43.4
ChimeraX-AtomicLibrary: 8.0.4
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-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.2
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.6.dev202211190159
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.1
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 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-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.2
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.9
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.7
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.3
ChimeraX-PDB: 2.6.9
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.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.1
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.8
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-Topography: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.25.2
ChimeraX-uniprot: 2.2.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.1.6
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
docutils: 0.19
entrypoints: 0.4
executing: 1.2.0
filelock: 3.7.1
fonttools: 4.38.0
funcparserlib: 1.0.1
grako: 3.16.5
h5py: 3.7.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.33
imagecodecs: 2022.7.31
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
jupyter-client: 7.3.4
jupyter-core: 5.0.0
kiwisolver: 1.4.4
line-profiler: 3.5.1
lxml: 4.9.1
lz4: 4.0.2
MarkupSafe: 2.1.1
matplotlib: 3.5.2
matplotlib-inline: 0.1.6
msgpack: 1.0.4
nest-asyncio: 1.5.6
netCDF4: 1.6.0
networkx: 2.8.5
numexpr: 2.8.4
numpy: 1.23.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: 9.2.0
pip: 22.2.2
pkginfo: 1.8.3
platformdirs: 2.5.4
prompt-toolkit: 3.0.33
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
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.9
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: 2022.6
pyzmq: 24.0.1
qtconsole: 5.3.1
QtPy: 2.3.0
RandomWords: 0.4.0
requests: 2.28.1
scipy: 1.9.0
setuptools: 65.1.1
setuptools-scm: 7.0.5
sfftk-rw: 0.7.2
six: 1.16.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.6.1
tables: 3.7.0
tifffile: 2022.7.31
tinyarray: 1.2.4
tomli: 2.0.1
tornado: 6.2
traitlets: 5.3.0
typing-extensions: 4.4.0
urllib3: 1.26.12
wcwidth: 0.2.5
webcolors: 1.12
wheel: 0.37.1
wheel-filename: 1.4.1
zipp: 3.10.0
Change History (3)
comment:1 by , 3 years ago
| Component: | Unassigned → DICOM |
|---|---|
| Platform: | → all |
| Priority: | normal → major |
| Project: | → ChimeraX |
| Summary: | ChimeraX bug report submission → clicking Model Panel Info to show DICOM Browser either gives traceback (Patient) or blank dialog (Study, Series) |
comment:2 by , 3 years ago
| Milestone: | → 1.5 |
|---|---|
| Owner: | set to |
| Status: | new → assigned |
Same problem in ChimeraX 1.5 release candidate rc2022.11.18
comment:3 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
This should be fixed tomorrow. The DICOM browser was rewritten to make it react to model added/removed triggers. The DICOM bundle now:
- merges patients on open by patient ID
- When patients are merged, studies are merged by study UID
- when studies are merged, only unique series are kept because series UIDs are unique
If a problem arises with this logic it is a trivial change to prefer newer data.
When DICOM data is opened it is added or removed from the DICOM browser automatically.
All DICOM patients, studies, and series are shown in the DICOM browser by default. Highlighting a patient will narrow the data in the Studies and Series tables to Studies and Series for that patient.
Same for Studies: clicking a Study narrows the data in the Series table to just the series of that study.
The DICOM browser is now a singleton and the Info buttons correctly reflect that behavior.
The DICOM metadata viewer can now be called from the Model info panel like before.
The DICOM browser's 3 buttons have been consolidated into 1 that only deals with Series (I'll keep looking for a way to tell which table was the last one focused and take that into account to e.g. open all the series for a patient).
choosing a Study or Series model and clicking Info gives a blank DICOM Browser dialog, except for the buttons which we would still hope to coalesce into one button as per discussion in email Oct 11, 2022.