LegendDataManagement.jl
LegendDataManagement.jl provides a Julia implementation of the LEGEND data and metadata management.
The package provides a structured interface to locate, access, and query LEGEND data across data tiers, periods, runs, and channels, and integrates with the LEGEND metadata.
Configuration
The package expects a configuration file (see the example "config.yaml" in the LEGEND test data repository) describing dataset names, file roots, and partitions. While the path to this configuration file can be specified explicitly, we recommend setting an environment variable named $LEGEND_DATA_CONFIG to the absolute path of your "config.json". This can be done in the bashrc or for VisualStudioCode in terminal.integrated.env.linux".
export LEGEND_DATA_CONFIG="/path/to/legend_data_config.json"LegendDataManagement provides a SolidStateDetectors extension that makes it possible to create SolidStateDetector objects from LEGEND metadata.
Usage examples:
using LegendDataManagement
using PropertyFunctions
l200 = LegendData(:l200)
filekey = FileKey("l200-p02-r006-cal-20221226T200846Z")
raw_filename = l200.tier[:raw, "l200-p02-r006-cal-20221226T200846Z"]
l200.metadata.hardware.detectors.germanium.diodes
chinfo = channel_info(l200, filekey)
filterby(@pf $processable && $usability)(chinfo)Documentation structure
- Manual pages provide step-by-step workflows for data access and explain the validity-based metadata model.
- API contains the automatically generated reference documentation for exported types and functions.
Get started
- Browse the Manual for an explanation of basic functions and practical examples.
- Check Extensions for information about plotting with
LegendMakieand the package extensions forLegendHDF5IOandSolidStateDetectors. - Consult the API section for detailed information on selectors and helper functions such as
LegendData,DataTier,DataPeriod,search_disk, andread_ldata.