nxsfileinfo

Description

The nxsfileinfo program show metadata from nexus files

Synopsis

nxsfileinfo <command> [options] <nexus_file_name>

The following commands are available: general, field, metadata, origdatablock, sample, instrument, attachment

nxsfileinfo general

It shows general information for he nexus file.

Synopsis

nxsfileinfo general <nexus_file_name>
Options:
-h, --help

show this help message and exit

--h5py

use h5py module as a nexus reader

--h5cpp

use h5cpp module as a nexus reader

Example

nxsfileinfo general saxs_ref1_02.nxs

nxsfileinfo field

It shows field information for the nexus file.

Synopsis

Usage: nxsfileinfo field [options]  <file_name>
Options:
-h, --help

show this help message and exit

-c HEADERS, --columns=HEADERS

names of column to be shown (separated by commas without spaces). The possible names are: depends_on, dtype, full_path, nexus_path, nexus_type, shape, source, source_name, source_type, strategy, trans_type, trans_offset, trans_vector, units, value

-f FILTERS, --filters=FILTERS

full_path filters (separated by commas without spaces). Default: '*'. E.g. ':NXsample/'

-v VALUES, --values=VALUES

field names which value should be stored (separated by commas without spaces). Default: depends_on

-g, --geometry

show fields with geometry full_path filters, i.e. :NXtransformations/,*/depends_on. It works only when -f is not defined

-s, --source

show datasource parameters

--h5py

use h5py module as a nexus reader

--h5cpp

use h5cpp module as a nexus reader

Example

nxsfileinfo field /tmp/saxs_ref1_02.nxs
nxsfileinfo field /user/data/myfile.nxs -g
nxsfileinfo field /user/data/myfile.nxs -s

nxsfileinfo metadata

It shows metadata of the nexus file.

Synopsis

Usage: nxsfileinfo metadata [options] <file_name>
Options:
-h, --help

show this help message and exit

-a ATTRS, --attributes ATTRS

names of field or group attributes to be show (separated by commas without spaces). The default takes all attributes

-n NATTRS, --hidden-attributes NATTRS

names of field or group attributes to be hidden (separated by commas without spaces). The default: 'nexdatas_source,nexdatas_strategy'

-v VALUES, --values VALUES

field names of more dimensional datasets which value should be shown (separated by commas without spaces)

-z KEYWORDS, --keywords KEYWORDS

dataset keywords separated by commas.

-w OWNERGROUP, --owner-group OWNERGROUP

owner group name. Default is {beamtimeid}-part

-c ACCESSGROUPS, --access-groups ACCESSGROUPS

access group names separated by commas. Default is {beamtimeid}-clbt,{beamtimeId}-dmgt,{beamline}dmgt

-g GROUP_POSTFIX, --group-postfix GROUP_POSTFIX

postfix to be added to NeXus group name. The default: 'Parameters'

-t ENTRYCLASSES, --entry-classes ENTRYCLASSES

names of entry NX_class to be shown (separated by commas without spaces). If name is '' all groups are shown. The default: 'NXentry'

-e ENTRYNAMES, --entry-names ENTRYNAMES

names of entry groups to be shown (separated by commas without spaces). If name is '' all groups are shown. The default: ''

-m, --raw-metadata

do not store NXentry as scientificMetadata

--add-empty-units

add empty units for fields without units

--oned

add 1d values to scientificMetadata

--max-oned-size MAXONEDSIZE

add min and max (or first and last) values of 1d records to scientificMetadata if its size excides --max-oned-size value

-p PID, --pid PID

dataset pid

-i BEAMTIMEID, --beamtimeid BEAMTIMEID

beamtime id

-u, --pid-with-uuid

generate pid with uuid

-f, --pid-with-filename

generate pid with file name

-q TECHNIQUES, --techniques TECHNIQUES

names of techniques (separated by commas without spaces).The default: ''

-j SAMPLEID, --sample-id SAMPLEID

sampleId

--sample-id-from-name

get sampleId from the sample name

-y INSTRUMENTID, --instrument-id INSTRUMENTID

instrumentId

--raw-instrument-id

leave raw instrument id

-b BEAMTIMEMETA, --beamtime-meta BEAMTIMEMETA

beamtime metadata file

-s SCIENTIFICMETA, --scientific-meta SCIENTIFICMETA

scientific metadata file

-o OUTPUT, --output OUTPUT

output scicat metadata file

-r RELPATH, --relative-path RELPATH

relative path to the scan files

-x CHMOD, --chmod CHMOD

json metadata file mod bits, e.g. 0o662

--copy-map COPYMAP

json or yaml map {output: input} or [[output, input],] or a text file list to re-arrange metadata

--copy-map-field COPYMAPFIELD

field json or yaml with map {output: input} or [[output, input],] or a text file list to re-arrange metadata. The default: 'scientificMetadata.nxsfileinfo_parameters.copymap.value'

--copy-map-error

Raise an error when the copy map file does not exist

--copy-map-file COPYMAPFILE

json or yaml file containing the copy map, see also --copy-map

-f FILEFORMAT, --file-format FILEFORMAT

input file format, e.g. 'nxs'. Default is defined by the file extension

--proposal-as-proposal

Store the DESY proposal as the SciCat proposal

--h5py

use h5py module as a nexus reader

--h5cpp

use h5cpp module as a nexus reader

Example

nxsfileinfo metadata /user/data/myfile.nxs
nxsfileinfo metadata /user/data/myfile.fio
nxsfileinfo metadata /user/data/myfile.nxs -p 'Group'
nxsfileinfo metadata /user/data/myfile.nxs -s
nxsfileinfo metadata /user/data/myfile.nxs -a units,NX_class

nxsfileinfo origdatablock

It generates description of all scan files

Synopsis

Usage: nxsfileinfo origdatablock [options] <scan_name>
Options:
-h, --help

show this help message and exit

-p PID, --pid PID

dataset pid

-o OUTPUT, --output OUTPUT

output scicat metadata file

-w OWNERGROUP, --owner-group OWNERGROUP

owner group name. Default is {beamtimeid}-part

-c ACCESSGROUPS, --access-groups ACCESSGROUPS

access group names separated by commas. Default is {beamtimeid}-clbt,{beamtimeId}-dmgt

-s SKIP, --skip SKIP

filters for files to be skipped (separated by commas without spaces). Default: ''. E.g. '.pyc,~'

-a ADD, --add ADD

list of files to be added (separated by commas without spaces). Default: ''. E.g. 'scan1.nxs,scan2.nxs'

-r RELPATH, --relative-path RELPATH

relative path to the scan files

-x CHMOD, --chmod CHMOD

json metadata file mod bits, e.g. 0o662

Example

nxsfileinfo origdatablock /user/data/scan_12345

nxsfileinfo sample

It generates description of sample

Synopsis

Usage: nxsfileinfo sample [options]
Options:
-h, --help

show this help message and exit

-s SAMPLEID, --sample-id SAMPLEID

sample id

-i BEAMTIMEID, --beamtimeid BEAMTIMEID

beamtime id

-b BEAMLINE, --beamline BEAMLINE

beamline

-d DESCRIPTION, --description DESCRIPTION

sample description

-r OWNER, --owner OWNER

sample owner

-p, --published

sample is published

-w OWNERGROUP, --owner-group OWNERGROUP

owner group name. Default is {beamtimeid}-dmgt

-c ACCESSGROUPS, --access-groups ACCESSGROUPS

access group names separated by commas. Default is {be amtimeId}-dmgt,{beamtimeid}-clbt,{beamtimeId}-part,{be amline}dmgt,{beamline}staff

-x CHMOD, --chmod CHMOD

json metadata file mod bits, e.g. 0o662

-m CHARACTERISTICSMETA, --sample-characteristics CHARACTERISTICSMETA

sample characteristics metadata file

-o OUTPUT, --output OUTPUT

output scicat metadata file

Example

nxsfileinfo sample -i petra3/h2o/234234 -d 'HH water' -s ~/cm.json

nxsfileinfo instrument

It generates description of instrument

Synopsis

Usage: nxsfileinfo instrument [options]
Options:
-h, --help

show this help message and exit

-p PID, --pid PID

instrument pid

-n NAME, --name NAME

instrument name

-i BEAMTIMEID, --beamtimeid BEAMTIMEID

beamtime id

-b BEAMLINE, --beamline BEAMLINE

beamline

-w OWNERGROUP, --owner-group OWNERGROUP

owner group name. Default is {beamtimeid}-dmgt

-c ACCESSGROUPS, --access-groups ACCESSGROUPS

access group names separated by commas. Default is {be amtimeId}-dmgt,{beamtimeid}-clbt,{beamtimeId}-part,{be amline}dmgt,{beamline}staff

-x CHMOD, --chmod CHMOD

json metadata file mod bits, e.g. 0o662

-m CUSTOMMETA, --custom-metadata CUSTOMMETA

instrument characteristics metadata file

-o OUTPUT, --output OUTPUT

output scicat metadata file

Example

nxsfileinfo instrument -p /petra3/p00 -n P00 -m ~/cm.json

nxsfileinfo attachment

It generates description of attachment

Synopsis

Usage: nxsfileinfo attachment [options] <image_file|scan_file>
Options:
-h, --help

show this help message and exit

-a ATID, --id ATID

attachment id

-t CAPTION, --caption CAPTION

caption text

-i BEAMTIMEID, --beamtimeid BEAMTIMEID

beamtime id

-b BEAMLINE, --beamline BEAMLINE

beamline

-r OWNER, --owner OWNER

attachment owner

-w OWNERGROUP, --owner-group OWNERGROUP

owner group name. Default is {beamtimeid}-dmgt

-c ACCESSGROUPS, --access-groups ACCESSGROUPS

access group names separated by commas. Default is {be amtimeId}-dmgt,{beamtimeid}-clbt,{beamtimeId}-part,{be amline}dmgt,{beamline}staff

-f FILEFORMAT, --file-format FILEFORMAT

input file format, e.g. 'nxs'. Default is defined by the file extension

--h5py

use h5py module as a nexus reader

--h5cpp

use h5cpp module as a nexus reader

-x CHMOD, --chmod CHMOD

json metadata file mod bits, e.g. 0o662

-s SIGNALS, --signals SIGNALS

signals data name(s) separated by comma

-e AXES, --axes AXES

axis/axes data name(s) separated by comma

-q SCANCMDAXES, --scan-command-axes SCANCMDAXES

a JSON dictionary with scan-command axes to override, axis/axes data name(s) separated by comma for detectors and by semicolon for more plots. Default: {"hklscan":"h;k;l","qscan":"qz;qpar"}

-m FRAME, --frame FRAME

a frame number for if more 2D images in the data

--signal-label SLABEL

signal label

--xlabel XLABEL

x-axis label

--ylabel YLABEL

y-axis label

-u, --override

override NeXus entries by script parameters

--parameters-in-caption

add plot paramters to the caption

-n NEXUSPATH, --nexus-path NEXUSPATH

base nexus path to element to be shown. If th path is '' the default group is shown. The default: ''

-o OUTPUT, --output OUTPUT

output scicat metadata file

Example

nxsfileinfo attachment -b p00 -i 2342342 -t 'HH water' -o ~/at1.json thumbnail.png
nxsfileinfo attachment -b p00 -i 2342342 -t 'HH water' -o ~/at2.json -s pilatus myscan_00123.nxs
nxsfileinfo attachment -b p00 -i 2342342 -t 'HH water' -o ~/at2.json  myscan_00124.fio

nxsfileinfo groupmetadata

It groups scan metadata to one dataset

Synopsis

Usage: nxsfileinfo groupmetadata [options] [groupname]
Options:
-h, --help

show this help message and exit

-p PID, --pid PID

dataset pid

--raw

raw dataset type

-i BEAMTIMEID, --beamtimeid

BEAMTIMEID beamtime id

-s, --skip-group-datablock

skip group datablock

-w, --allow-duplication

allow to merge metadata with duplicated pid

-q, --raw

raw dataset type

-f, --write-files

write output to files

-k SCICATVERSION, --scicat-version SCICATVERSION

major scicat version metadata

-x CHMOD, --chmod CHMOD

json metadata file mod bits, e.g. 0o662

-g GROUPMAP, --group-map GROUPMAP

json or yaml map of {output: input} or [[output, input],] or a text file list to re-arrange metadata

-e, --group-map-error

Raise an error when the group map file does not exist

-r GROUPMAPFILE, --group-map-file GROUPMAPFILE

json or yaml file containing the copy map, see also

-m METADATAFILE, --metadata METADATAFILE

json metadata file

-d ORIGDATABLOCKFILE, --origdatablock ORIGDATABLOCKFILE

json origmetadata file

-a ATTACHMENTFILE, --attachment ATTACHMENTFILE

json attachment file

-o OUTPUT, --output OUTPUT

output scicat group metadata file

-l DBOUTPUT, --datablock-output DBOUTPUT

output scicat group datablocks list file

-t ATOUTPUT, --attachment-output ATOUTPUT

output scicat group attachments list file

Example

nxsfileinfo groupmetadata -o /user/data/myscan.scan.json  -t /user/data/myscan.attachment.json  -l /user/data/myscan.origdatablock.json  -c /home/user/group_config.txt  -m /user/data/myscan_00023.scan.json  -d /user/data/myscan_00023.origdatablock.json  -a /user/data/myscan_00023.attachment.json

nxsfileinfo groupmetadata myscan_m001  -m /user/data/myscan_00021.scan.json -c /home/user/group_config.txt

nxsfileinfo groupmetadata  myscan_m001  -c /home/user/group_config.txt  -m /user/data/myscan_00023.scan.json  -d /user/data/myscan_00023.origdatablock.json  -a /user/data/myscan_00023.attachment.json

nxsfileinfo groupmetadata  -m /user/data/myscan_00023.scan.json  -d /user/data/myscan_00023.origdatablock.json  -c /home/user/group_config.txt