scippneutron.metadata.Measurement#

class scippneutron.metadata.Measurement(**data)[source]#

A single measurement.

Terminology:

  • An “experiment” is the collection of all related measurements, typically done during one beamtime.

  • A “measurement” is a single step of data collection. It typically corresponds to a single NeXus file or a single entry in a NeXus file.

The Measurement class represents a single measurement but also includes some information about the experiment that this measurement is part of. In particular, experiment_id and experiment_doi encode information about the experiment. All other fields encode information about a measurement; this includes start_time and end_time.

field end_time: datetime | None = None#

Date and time when the measurement ended.

field experiment_doi: Annotated[str | None, BeforeValidator(_unpack_variable)] = None#

A DOI for the experiment that this measurement is part of.

Constraints:
  • func = <function _unpack_variable at 0x7f7144f2fd80>

  • json_schema_input_type = PydanticUndefined

field experiment_id: Annotated[str | None, BeforeValidator(_unpack_variable)] = None#

An ID for the experiment that this measurement is part of, e.g., proposal ID.

Constraints:
  • func = <function _unpack_variable at 0x7f7144f2fd80>

  • json_schema_input_type = PydanticUndefined

classmethod from_nexus_entry(entry)[source]#

Construct a Measurement object from a Nexus entry.

Parameters:

entry (Group) – ScippNexus group for a NeXus entry.

Returns:

Measurement – An Measurement object constructed from the given Nexus entry.

model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

field run_number: Annotated[str | None, BeforeValidator(_unpack_variable)] = None#

Run number of the measurement.

Constraints:
  • func = <function _unpack_variable at 0x7f7144f2fd80>

  • json_schema_input_type = PydanticUndefined

property run_number_maybe_int: int | str | None#

Return the run number as an int if possible.

field start_time: datetime | None = None#

Date and time when the measurement started.

field title: Annotated[str | None, BeforeValidator(_unpack_variable)] [Required]#

The title of the measurement.

Constraints:
  • func = <function _unpack_variable at 0x7f7144f2fd80>

  • json_schema_input_type = PydanticUndefined