Opened 2 years ago

Closed 2 years ago

#9539 closed defect (fixed)

DICOM not readable on Windows

Reported by: phil.cruz@… Owned by: Zach Pearson
Priority: high 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:        Windows-10-10.0.22621
ChimeraX Version: 1.7.dev202308041947 (2023-08-04 19:47:17 UTC)
Description
When I try to open a DICOM folder, (sent separatly due to file size), I get these error messages.  This folder opens fine on a Mac. We need to be able to open it on WIndows since we are doing an important VR event in the BIoViz lab next week. 

Log:
UCSF ChimeraX version: 1.7.dev202308041947 (2023-08-04)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open C:/Users/NIH/Desktop/AFRRI/DICOM format dicom

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\open_command\dialog.py", line 104, in <lambda>  
lambda *args, ses=session: show_open_folder_dialog(ses), tool_tip="Open folder
data",  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\open_command\dialog.py", line 177, in
show_open_folder_dialog  
_folder_dlg.display(session)  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\open_command\dialog.py", line 99, in display  
run(session, cmd)  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 38, in run  
results = command.run(text, log=log, return_json=return_json)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\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 "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2897, in run  
result = ci.function(session, **kw_args)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\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 "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 483, in collated_open  
return remember_data_format()  
^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 454, in remember_data_format  
models, status = func(*func_args, **func_kw)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\dicom\dicom\dicom_opener.py", line 6, in open  
dcm = DICOM.from_paths(session, data)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\dicom\dicom\dicom.py", line 44, in from_paths  
return cls(path, session = session)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\dicom\dicom\dicom.py", line 39, in __init__  
self.find_dicom_series(self.paths)  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\dicom\dicom\dicom.py", line 83, in find_dicom_series  
patients = self.dicom_patients(dpaths)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\chimerax\dicom\dicom\dicom.py", line 92, in dicom_patients  
d = dcmread(path)  
^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\pydicom\filereader.py", line 1021, in dcmread  
dataset = read_partial(  
^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\pydicom\filereader.py", line 778, in read_partial  
preamble = read_preamble(fileobj, force)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\pydicom\filereader.py", line 723, in read_preamble  
raise InvalidDicomError(  
pydicom.errors.InvalidDicomError: File is missing DICOM File Meta Information
header or the 'DICM' prefix is missing from the header. Use force=True to
force reading.  
  
pydicom.errors.InvalidDicomError: File is missing DICOM File Meta Information
header or the 'DICM' prefix is missing from the header. Use force=True to
force reading.  
  
File "C:\Program Files\ChimeraX_daily8_4\bin\Lib\site-
packages\pydicom\filereader.py", line 723, in read_preamble  
raise InvalidDicomError(  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 535.98
OpenGL renderer: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Python: 3.11.2
Locale: en_US.cp1252
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: windows

Manufacturer: Micro-Star International Co., Ltd.
Model: MS-7D30
OS: Microsoft Windows 11 Pro (Build 22621)
Memory: 68,497,039,360
MaxProcessMemory: 137,438,953,344
CPU: 20 12th Gen Intel(R) Core(TM) i7-12700K
OSLanguage: en-US

Installed Packages:
    alabaster: 0.7.13
    appdirs: 1.4.4
    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: 2023.7.22
    cftime: 1.6.2
    charset-normalizer: 3.2.0
    ChimeraX-AddCharge: 1.5.11
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.9.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.46.1
    ChimeraX-AtomicLibrary: 10.0.8
    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.4
    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.dev202308041947
    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.8
    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.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.10
    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.2
    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.31.2
    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.4
    comtypes: 1.1.14
    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.42.0
    funcparserlib: 1.0.1
    grako: 3.16.5
    h5py: 3.9.0
    html2text: 2020.1.16
    idna: 3.4
    ihm: 0.38
    imagecodecs: 2023.7.10
    imagesize: 1.4.1
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.1.0
    jedi: 0.18.2
    Jinja2: 3.1.2
    jupyter-client: 8.2.0
    jupyter-core: 5.3.1
    jupyterlab-widgets: 3.0.8
    kiwisolver: 1.4.4
    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.7
    netCDF4: 1.6.2
    networkx: 3.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numexpr: 2.8.5
    numpy: 1.25.1
    openvr: 1.23.701
    packaging: 23.1
    ParmEd: 3.4.3
    parso: 0.8.3
    pep517: 0.13.0
    pickleshare: 0.7.5
    Pillow: 10.0.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 3.10.0
    prompt-toolkit: 3.0.39
    psutil: 5.9.5
    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.7
    PyOpenGL-accelerate: 3.1.7
    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
    pywin32: 305
    pyzmq: 25.1.0
    qtconsole: 5.4.3
    QtPy: 2.3.1
    RandomWords: 0.4.0
    requests: 2.31.0
    scipy: 1.11.1
    setuptools: 67.4.0
    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.5.1
    tifffile: 2023.7.18
    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.4
    wcwidth: 0.2.6
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.8
    WMI: 1.5.1

Attachments (1)

DICOM.zip (40.9 MB ) - added by phil.cruz@… 2 years ago.
Added by email2trac

Change History (7)

comment:1 by phil.cruz@…, 2 years ago

Attached is the zipped DICOM folder for this bug report.

From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Date: Tuesday, August 8, 2023 at 12:44 PM
To: Cruz, Phil (NIH/NIAID) [C] <phil.cruz@nih.gov>
Subject: [EXTERNAL] Re: [ChimeraX] #9539: ChimeraX bug report submission
#9539: ChimeraX bug report submission
-------------------------+-----------------------------
 Reporter:  phil.cruz@…  |                Type:  defect
   Status:  new          |            Priority:  normal
Component:  Unassigned   |          Blocked By:
 Blocking:               |  Notify when closed:
-------------------------+-----------------------------
--
Ticket URL: <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F9539&data=05%7C01%7Cphil.cruz%40nih.gov%7C5a30d84837914c15c41808db982eb308%7C14b77578977342d58507251ca2dc2b06%7C0%7C0%7C638271098565000159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=B3OMA%2FdkoK5BOrvvGfs3n7BD2BvOugqz2zUezzscSMA%3D&reserved=0<https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/9539>>
ChimeraX <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=05%7C01%7Cphil.cruz%40nih.gov%7C5a30d84837914c15c41808db982eb308%7C14b77578977342d58507251ca2dc2b06%7C0%7C0%7C638271098565000159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=bpKU3wh2ocUoIqayrmKUiBlV4UkIB5JyId6pPNMXgu4%3D&reserved=0<https://www.rbvi.ucsf.edu/chimerax/>>
ChimeraX Issue Tracker
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and are confident the content is safe.

DICOM.zip

by phil.cruz@…, 2 years ago

Attachment: DICOM.zip added

Added by email2trac

comment:2 by pett, 2 years ago

Component: UnassignedDICOM
Owner: set to Zach Pearson
Platform: all
Priority: normalhigh
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionDICOM not readable on Windows

comment:3 by Zach Pearson, 2 years ago

This works for me with today's daily build and my developer build (on Windows). Can you try a daily build from today?

comment:4 by phil.cruz@…, 2 years ago

We were able to load the DICOM, but only with today’s build. A build from Friday and the stable release gave the errors. But we still see a bunch of errors:

Pydicom could not read invalid or non-DICOM file . _IM00010.dcm; skipping.
173 messages similar to the above omitted.

The volume did look like it was read in okay, though.

Any idea why this doesn’t work in the release, or earlier daily build, but has no problems on a MaC?

Thanks,

Phil

From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
Date: Tuesday, August 8, 2023 at 2:08 PM
To: Cruz, Phil (NIH/NIAID) [C] <phil.cruz@nih.gov>, zjp@cgl.ucsf.edu <zjp@cgl.ucsf.edu>
Subject: [EXTERNAL] Re: [ChimeraX] #9539: DICOM not readable on Windows
#9539: DICOM not readable on Windows
----------------------------------+--------------------------
          Reporter:  phil.cruz@…  |      Owner:  Zach Pearson
              Type:  defect       |     Status:  assigned
          Priority:  high         |  Milestone:
         Component:  DICOM        |    Version:
        Resolution:               |   Keywords:
        Blocked By:               |   Blocking:
Notify when closed:               |   Platform:  all
           Project:  ChimeraX     |
----------------------------------+--------------------------
Comment (by Zach Pearson):

 This works for me with today's daily build and my developer build (on
 Windows). Can you try a daily build from today?
--
Ticket URL: <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Ftrac%2FChimeraX%2Fticket%2F9539%23comment%3A3&data=05%7C01%7Cphil.cruz%40nih.gov%7C0d18f65afa8846f68b3a08db983a786f%7C14b77578977342d58507251ca2dc2b06%7C0%7C0%7C638271149131613311%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=m9kUY1YkI2H%2F25ryEZytcv5TWZg4aYglQY%2BxKU6WZTc%3D&reserved=0<https://www.rbvi.ucsf.edu/trac/ChimeraX/ticket/9539#comment:3>>
ChimeraX <https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rbvi.ucsf.edu%2Fchimerax%2F&data=05%7C01%7Cphil.cruz%40nih.gov%7C0d18f65afa8846f68b3a08db983a786f%7C14b77578977342d58507251ca2dc2b06%7C0%7C0%7C638271149131613311%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=pfAPQzfA0SMjFckF0sQkYATF4KSMHvp121pvGkDIhq0%3D&reserved=0<https://www.rbvi.ucsf.edu/chimerax/>>
ChimeraX Issue Tracker
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and are confident the content is safe.

comment:5 by Zach Pearson, 2 years ago

We use the pydicom library to deal with DICOM files, and the function it provides to read them takes an optional parameter to turn off error validation. We've never turned it off, but within the past couple business days I wrapped calls to it in a try block so we could attempt to read as much of a series as possible, so that'd be why it succeeds now when it hasn't before.

Can you double check the Mac version isn't actually newer than the build that originated this ticket? If it's not from today I would be interested in seeing the difference between the code then and now. It's possibly related to a recent change in how DICOM files are detected. It used to be we just looked at the filename and checked whether it ended in '.dcm', but now we walk the directory and subdirectories, and try to open every file with pydicom.dcmread to account for folders full of extensionless files.

If I look at the directory you sent me with the Mac finder, I only see 178 files, but ChimeraX gets a list of 356 files. About half of them start with ._, which according to this StackOverflow post is a prefix on files "created to store file information that would otherwise go into an extended attribute on HFS+ (Apple native) or Unix/UFS volumes; in earlier Mac OS this would be the resource fork", whatever that means. It's a bookkeeping file, and there's one for every real image in the directory.

I'll add code to ignore files starting with '._' or maybe even all dotfiles. There's a list of exclusions already: '.DS_Store', 'desktop.ini', and 'Thumbs.db'.

comment:6 by Zach Pearson, 2 years ago

Resolution: fixed
Status: assignedclosed

Added code to ignore files starting with '._'

Note: See TracTickets for help on using tickets.