1313
1414import numpy as np
1515import scipp as sc
16- from dateutil .parser import parse as parse_datetime
1716from orsopy .fileio import base as orso_base
1817from orsopy .fileio import data_source , orso , reduction
1918from orsopy .fileio .orso import Column , Orso , OrsoDataset
2019
2120from .load import load_nx
2221from .types import (
22+ Beamline ,
2323 Filename ,
24+ Measurement ,
2425 ReducibleData ,
2526 ReferenceRun ,
2627 ReflectivityOverQ ,
6061OrsoCorrectionList = NewType ("OrsoCorrectionList" , list [str ])
6162
6263
63- def parse_orso_experiment (filename : Filename [SampleRun ]) -> OrsoExperiment :
64+ def parse_orso_experiment (
65+ beamline : Beamline , measurement : Measurement
66+ ) -> OrsoExperiment :
6467 """Parse ORSO experiment metadata from raw NeXus data."""
65- title , instrument_name , facility , start_time = load_nx (
66- filename ,
67- "NXentry/title" ,
68- "NXentry/NXinstrument/name" ,
69- "NXentry/facility" ,
70- "NXentry/start_time" ,
71- )
7268 return OrsoExperiment (
7369 data_source .Experiment (
74- title = title ,
75- instrument = instrument_name ,
76- facility = facility ,
77- start_date = parse_datetime (start_time ),
70+ instrument = beamline .name ,
71+ facility = beamline .facility ,
72+ title = measurement .title ,
73+ start_date = measurement .start_time ,
74+ proposalID = measurement .experiment_id ,
75+ doi = measurement .experiment_doi ,
7876 probe = "neutron" ,
7977 )
8078 )
@@ -101,7 +99,7 @@ def parse_orso_sample(filename: Filename[SampleRun]) -> OrsoSample:
10199 data_source .Sample (
102100 name = sample ["name" ],
103101 model = data_source .SampleModel (
104- stack = sample [ "model" ] ,
102+ stack = sample . get ( "model" , "" ) ,
105103 ),
106104 )
107105 )
0 commit comments