Trying to open a run directory to which you don’t have read access now correctly raises PermissionError (PR #210).
When you open a run directory with
RunDirectory(), karabo_data tries to cache the metadata describing what data is in each file (PR #206). Once the cache is created, opening the run again should be much faster, as it only needs to open the files containing the data you want. See Cached run data maps for the details of how this works.
karabo_datais faster, as packages like xarray and pandas are now only loaded if you use the relevant methods (PR #207).
When you select sources with
deselect(), the resulting DataCollection no longer keeps references to files with no selected data. This should make it easier to then combine data with
union()in some situations (PR #202).
Data validation now checks that indexes have one entry per train ID.
The karabo-bridge-serve-files command now takes
--keyoptions to select data to stream. They can be used with exact source names or with glob-style patterns, e.g.
--source '*/DET/*'(PR #183).
Skip checking that
.h5files in a run directory are HDF5 before trying to open them (PR #187). The error is still handled if they are not.
CrystFEL format geometry files can now be written for 2D input arrays with the modules arranged along the slow-scan axis, as used by OnDA (PR #191). To do this, pass
dims=('frame', 'ss', 'fs')to
get_data_counts()to find how many data points were recorded in each train for a given source and key.
DSSCfor accessing DSSC data (PR #171).
Files in the new
1.0data format can now be opened (PR #182).
DSSC_Geometryfor handling DSSC detector geometry (PR #155).
write_crystfel_geom()(for AGIPD and LPD geometry) now accepts various optional parameters for other details to be written into the geometry file, such as the detector distance (
clen) and the photon energy (PR #168).
Python 3.5 is now the minimum required version.
Fix compatibility with numpy 1.14 (the version installed in Anaconda on the Maxwell cluster).
Better error message from
stack_detector_data()when passed non-detector data.
New interfaces for working with AGIPD, LPD & DSSC Geometry.
New interfaces for accessing AGIPD, LPD & DSSC data.
select_trains()can now select arbitrary specified trains, not just a slice.
get_array()can take a region of interest (
roi) parameter to select a slice of data from each train.
A newly public
keys_for_source()method to list keys for a given source.
karabo-data-validateto check the integrity of data files.
Selected data can be written back to a new HDF5 file with
H5File()are now functions which return a
DataCollectionobject, rather than separate classes. Most code using these should still work, but checking the type with e.g.