Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#8685 closed defect (fixed)

cannot open DICOM folder

Reported by: Elaine Meng Owned by: Zach Pearson
Priority: normal Milestone:
Component: DICOM Version:
Keywords: Cc: pett
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-12.6.3-arm64-arm-64bit
ChimeraX Version: 1.6.dev202303210015 (2023-03-21 00:15:42 UTC)
Description
Trying to open DICOM folder that results from uncompressing the RIDER lung example for one patient
(data /wynton/group/ferrin/usr.local/projects/chimerax/www/data/dicom/98820 RIDER-1129164940.tar.bz2 ) gives an error in the current daily build.

Log:
Startup Messages  
---  
notes | 2023-03-21 09:37:27,963:INFO:OpenGL_accelerate module loaded  
2023-03-21 09:37:28,029:INFO:Using accelerated ArrayDatatype  
  

> 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.dev202303210015 (2023-03-21)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open "/Users/meng/dicom/tcia/RIDER Lung CT/RIDER-1129164940" format nifti

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/toolbar/tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/toolshed/info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/toolshed/__init__.py", line 1289, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/medical_toolbar/__init__.py", line 22, in run_provider  
actions.run_provider(session, name)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/medical_toolbar/actions.py", line 17, in run_provider  
open_dicom(session)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/medical_toolbar/actions.py", line 23, in open_dicom  
show_open_folder_dialog(session)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/dialog.py", line 177, in
show_open_folder_dialog  
_folder_dlg.display(session)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/dialog.py", line 99, in display  
run(session, cmd)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 119, in cmd_open  
models = Command(session, registry=registry).run(provider_cmd_text,
log=log)[0]  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 176, in provider_open  
models, status = collated_open(session, None, paths, data_format, _add_models,
log_errors,  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 464, in collated_open  
return remember_data_format()  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 435, in remember_data_format  
models, status = func(*func_args, **func_kw)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/__init__.py", line 26, in open  
nifti = NifTI.from_paths(session, data)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/nifti.py", line 26, in from_paths  
return cls(session, data)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/nifti.py", line 22, in __init__  
self.nifti_images = [nibabel.load(file) for file in data]  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/nifti.py", line 22, in <listcomp>  
self.nifti_images = [nibabel.load(file) for file in data]  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/nibabel/loadsave.py", line 104, in load  
raise ImageFileError(f'Cannot work out file type of "{filename}"')  
nibabel.filebasedimages.ImageFileError: Cannot work out file type of
"/Users/meng/dicom/tcia/RIDER Lung CT/RIDER-1129164940"  
  
nibabel.filebasedimages.ImageFileError: Cannot work out file type of
"/Users/meng/dicom/tcia/RIDER Lung CT/RIDER-1129164940"  
  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/nibabel/loadsave.py", line 104, in load  
raise ImageFileError(f'Cannot work out file type of "{filename}"')  
  
See log for complete Python traceback.  
  

> open /Users/meng/Desktop/RIDER-1129164940 format nifti

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/toolbar/tool.py", line 205, in callback  
bundle_info.run_provider(session, name, session.toolbar,
display_name=display_name)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/toolshed/info.py", line 386, in run_provider  
return api._api_caller.run_provider(api, session, name, mgr, **kw)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/toolshed/__init__.py", line 1289, in run_provider  
return cls._get_func(api, "run_provider")(session, name, mgr, **kw)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/medical_toolbar/__init__.py", line 22, in run_provider  
actions.run_provider(session, name)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/medical_toolbar/actions.py", line 17, in run_provider  
open_dicom(session)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/medical_toolbar/actions.py", line 23, in open_dicom  
show_open_folder_dialog(session)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/dialog.py", line 177, in
show_open_folder_dialog  
_folder_dlg.display(session)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/dialog.py", line 99, in display  
run(session, cmd)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 119, in cmd_open  
models = Command(session, registry=registry).run(provider_cmd_text,
log=log)[0]  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/core/commands/cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 176, in provider_open  
models, status = collated_open(session, None, paths, data_format, _add_models,
log_errors,  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 464, in collated_open  
return remember_data_format()  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/open_command/cmd.py", line 435, in remember_data_format  
models, status = func(*func_args, **func_kw)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/__init__.py", line 26, in open  
nifti = NifTI.from_paths(session, data)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/nifti.py", line 26, in from_paths  
return cls(session, data)  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/nifti.py", line 22, in __init__  
self.nifti_images = [nibabel.load(file) for file in data]  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/chimerax/nifti/nifti.py", line 22, in <listcomp>  
self.nifti_images = [nibabel.load(file) for file in data]  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/nibabel/loadsave.py", line 104, in load  
raise ImageFileError(f'Cannot work out file type of "{filename}"')  
nibabel.filebasedimages.ImageFileError: Cannot work out file type of
"/Users/meng/Desktop/RIDER-1129164940"  
  
nibabel.filebasedimages.ImageFileError: Cannot work out file type of
"/Users/meng/Desktop/RIDER-1129164940"  
  
File
"/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/nibabel/loadsave.py", line 104, in load  
raise ImageFileError(f'Cannot work out file type of "{filename}"')  
  
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.4.2, Qt 6.4.2
Qt runtime version: 6.4.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.80.7
      OS Loader Version: 7459.141.1

Software:

    System Software Overview:

      System Version: macOS 12.6.3 (21G419)
      Kernel Version: Darwin 21.6.0
      Time since boot: 30 minutes

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
    build: 0.10.0
    certifi: 2021.10.8
    cftime: 1.6.2
    charset-normalizer: 3.1.0
    ChimeraX-AddCharge: 1.5.9
    ChimeraX-AddH: 2.2.3
    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.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.dev202303210015
    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.3.3
    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.6
    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
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PhenixUI: 1.1.7
    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.2
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.1
    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-ToQuest: 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.2
    contourpy: 1.0.7
    cxservices: 1.2.2
    cycler: 0.11.0
    Cython: 0.29.33
    debugpy: 1.6.6
    decorator: 5.1.1
    docutils: 0.19
    executing: 1.2.0
    filelock: 3.9.0
    fonttools: 4.39.2
    funcparserlib: 1.0.1
    grako: 3.16.5
    h5py: 3.8.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.35
    imagecodecs: 2022.2.22
    imagesize: 1.4.1
    importlib-metadata: 6.1.0
    ipykernel: 6.21.1
    ipython: 8.10.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.0.4
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.0.2
    jupyter-core: 5.3.0
    jupyterlab-widgets: 3.0.5
    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: 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.1.1
    prompt-toolkit: 3.0.38
    psutil: 5.9.4
    ptyprocess: 0.7.0
    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.2
    PyQt6-sip: 13.4.1
    PyQt6-WebEngine-commercial: 6.4.0
    PyQt6-WebEngine-Qt6: 6.4.2
    python-dateutil: 2.8.2
    pytz: 2022.7.1
    pyzmq: 25.0.2
    qtconsole: 5.4.0
    QtPy: 2.3.0
    RandomWords: 0.4.0
    requests: 2.28.2
    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
    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.7.0
    tcia-utils: 1.2.0
    tifffile: 2022.10.10
    tinyarray: 1.2.4
    tomli: 2.0.1
    tornado: 6.2
    traitlets: 5.9.0
    typing-extensions: 4.5.0
    urllib3: 1.26.15
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.5
    zipp: 3.15.0

Change History (14)

comment:1 by Elaine Meng, 3 years ago

Component: UnassignedDICOM
Owner: set to Zach Pearson
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissioncannot open DICOM folder

comment:2 by Elaine Meng, 3 years ago

correction, archive filename is /wynton/group/ferrin/usr.local/projects/chimerax/www/data/dicom/RIDER-1129164940.tar.bz2
(the "98820" part was just the file size from listing the filenames and then using cut-n-paste)

comment:3 by Zach Pearson, 3 years ago

I see the command is 'open "/Users/meng/dicom/tcia/RIDER Lung CT/RIDER-1129164940" format nifti' -- I'll definitely need to make it so that the error is handled more gracefully, but did you mean 'format nifti' at the end?

in reply to:  4 ; comment:4 by Elaine Meng, 3 years ago

I used the "open dicom folder" icon in the Medical Image tab of the toolbar, which I think opens exactly the same dialog as menu: File... Open DICOM Folder.

That dialog says "Files of type" which is set to "Directories"n and has no other choice.

comment:5 by Zach Pearson, 3 years ago

Huh, that's really weird! Thanks for the additional context. I'll see what the issue is there. In the meantime, 'format DICOM' on the command line should still work.

in reply to:  6 ; comment:6 by Elaine Meng, 3 years ago

Yeah, basically the dialog generates the wrong command.  I did not even see the command because there was so much traceback that it scrolled out of the visible area of the Log.

comment:7 by Zach Pearson, 3 years ago

I've only been able to reproduce this every handful of open attempts, but I think I know what the issue is. The "Open DICOM folder..." dialog actually works for any data that can be opened from a directory. I saw that there was a dialog at the bottom that just had None, None, None as entries. Upon investigating the dialog is trying to show x.synopsis where X is some data format tracked by the open command. Using the debugger, I could see the data formats were NRRD, NifTI, and DICOM. My guess is that the dialog is nondeterministically populated; usually DICOM is first, but it can be NifTI or NRRD sometimes. Step one is to give each data format a synopsis. Step 2 will be to sort the file types alphabetically when that list is constructed. We should maybe also change the wording on that dialog.

comment:8 by Zach Pearson, 3 years ago

Resolution: fixed
Status: assignedclosed

This pair of commits should fix it in tomorrow's build.

in reply to:  9 ; comment:9 by Elaine Meng, 3 years ago

NifTI and NRRD are individual files, not directories.  As far as I know/recall, the only type of data that has to be opened as a directory is DICOM (and after all, the menu entry is File... Open DICOM Folder).  If you want to generalize the dialog to open all kinds of medical images, it should switch away from directory (to individual file) if the format is chosen as NiFTI or NRRD.

comment:10 by Zach Pearson, 3 years ago

Well, there's a new ticket -- upon closer inspection NifTI and NRRD's bundle info tomls have allow-directory=false.

in reply to:  11 ; comment:11 by Elaine Meng, 3 years ago

Also, makes some sense (to me, anyway) that format is "None" when the open dialog is selecting a directory/folder rather than a specific file.

comment:12 by pett, 3 years ago

Cc: pett added

Yeah, NifTI / NRRD shouldn't be showing up in that dialog if allow-directory is false. Also, you shouldn't need to list '.gz' explicitly in your bundle description -- ChimeraX will handle compressed files (with appropriate suffixes) automatically (unless "want_path" is true).

comment:13 by pett, 3 years ago

The attribute is allow_directory, not allow-directory.

comment:14 by Zach Pearson, 3 years ago

Not in TOML. It's legal to have snake_case, camelCase, or kebab-case. Since the rest of the Python metadata is in kebab-case that's what I went with. TBB converts it to snake_case at build time.

Note: See TracTickets for help on using tickets.