Can't read panda hdf file

Aperta
#67 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
Mezza giornata
Idoneità per principianti
64/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
backend

Direzione di ricerca

Start by reading HdfMap._store_dataset and its call path in hdfmap_class.py, especially the group lookup shown in the traceback. Reproduce the failure with the provided hdfmap.create_hdf_map(f_hdf) example and inspect how the root-level dataset path is handled. Done means the Panda HDF file loads without the KeyError; add or update a regression test for that case.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Tried reading a h5 file from P51 written by BlueSky but got an error.

import hdfmap

f_nxs = "/dls/p51/data/2026/cm44254-4/3336.nxs"
f_hdf = "/dls/p51/data/2026/cm44254-4/p51-3336-panda1.h5"

m = hdfmap.create_hdf_map(f_hdf)
print(m)

Gives error

Traceback (most recent call last):
  File "/scratch/grp66007/python/mmg_toolbox/examples/check_p51-3336-panda_file.py", line 15, in <module>
    m = hdfmap.create_hdf_map(f_hdf)
  File "/scratch/grp66007/python/mmg_toolbox/.venv/lib/python3.14/site-packages/hdfmap/file_functions.py", line 40, in create_hdf_map
    hdf_map = HdfMap(hdf)
  File "/scratch/grp66007/python/mmg_toolbox/.venv/lib/python3.14/site-packages/hdfmap/hdfmap_class.py", line 137, in __init__
    self.populate(file)
    ~~~~~~~~~~~~~^^^^^^
  File "/scratch/grp66007/python/mmg_toolbox/.venv/lib/python3.14/site-packages/hdfmap/hdfmap_class.py", line 451, in populate
    self._populate(hdf_file)
    ~~~~~~~~~~~~~~^^^^^^^^^^
  File "/scratch/grp66007/python/mmg_toolbox/.venv/lib/python3.14/site-packages/hdfmap/hdfmap_class.py", line 343, in _populate
    self._store_dataset(obj, hdf_path, name, external_file)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/scratch/grp66007/python/mmg_toolbox/.venv/lib/python3.14/site-packages/hdfmap/hdfmap_class.py", line 275, in _store_dataset
    group = self.groups[SEP.join(hdf_path.split(SEP)[:-1])]  # group is already stored
            ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: ''
Lingua principale
Python
Stelle
2
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di DiamondLightSource/hdfmap

Tutte le issue di DiamondLightSource/hdfmap

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.