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.