Save Experiment object as HDF5 File

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

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Ambito
data

Direzione di ricerca

Inizia individuando l’oggetto Experiment e il suo comportamento esistente all_scansnos, quindi esamina come sono rappresentati i file di scansione e i dati dei rilevatori collegati. Definisci la voce dell’esperimento salvato, i collegamenti alle scansioni, le opzioni di copia, il grafico predefinito e il comportamento di Experiment.save/load prima di implementare; il lavoro comprende anche la verifica che load sia più veloce di all_scansnos().

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

Descrizione

Add a function to the Experiment object that will save the object as a HDF5 File.

The file should contain:

  • Experiment entry (default), including:
    • folder name(s)
    • config
    • scan list
    • start, end time
    • instrument info?
    • Default Plot - scan number vs scan time? (This might take a while as it requires reading each file)
  • Links to the entry of every scan in the experiment

In addition, there should be an option to copy all the scans into a single file, and the additional option to copy all the linked data (detector data). This should probably use lossless compression if not already used.

Opening the file

There should also be a file reader, as an optional input to Experiment.

I would expect that it will be faster to read the scan list from the file than reading the file-system, but this should be checked.

Tasks

  • Create Experiment.save
  • Define experiment entry in saved file
  • Define default plot in experiment entry
  • include links to scan files
  • option to copy scan file contents
  • option to copy linked file contents
  • Create Experiment.load
  • Check that Experiment.load() is faster than Experiment.all_scansnos()
Lingua principale
Jupyter Notebook
Stelle
2
Fork
0
Merge medio
17m
PR unite (30g)
4

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/mmg_toolbox

Tutte le issue di DiamondLightSource/mmg_toolbox

Issue simili

Altre issue su Data Engineering

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.