measurement/measurement_chain-0.1.0#

Schema that describes a measurement_chain

Description

A measurement chain describes the different steps that are performed to acquire experimental data. It collects all relevant information about the initial source signal and the involved transformations. In this schema, the fundamental data representation of the measurement chain is a directed graph with the signals being the nodes and the transformations being the edges.

Outline

Schema Definitions

This type is an object with the following properties:
  • name
    stringRequired
    The name of the measurement chain.

    No length restriction
  • data_source
    asdf://weldx.bam.de/weldx/tags/measurement/source-0.1.*Required
    The source that generates the first signal and is the first element of the chain.

  • graph
    objectRequired
    The measurement chain depicted by a graph. Signals are represented by the nodes and transformations by the edges.

    This node must validate against all of the following:

  • source_equipment
    asdf://weldx.bam.de/weldx/tags/equipment/measurement_equipment-0.1.*
    The equipment that produces the source signal.

Internal Definitions

  • signal_node
    object
    A graph node that represents a measurement signal.

    This node must validate against all of the following:

  • signal_transform_edge
    object
    A graph edge that represents a signal transformation.

    This node must validate against all of the following:

    • This type is an object with the following properties:
      • attributes
        objectRequired
        This type is an object with the following properties:
        • transformation
          asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.*Required
          The performed transformation.

        • equipment
          asdf://weldx.bam.de/weldx/tags/equipment/measurement_equipment-0.1.*
          The equipment that performs the transformation

      • target_node
        signal_node
      • direction
        object
        This node has no type definition (unrestricted)
  • Original Schema

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "asdf://weldx.bam.de/weldx/schemas/measurement/measurement_chain-0.1.0"
    
    title: |
      Schema that describes a measurement_chain
    description: |
      A measurement chain describes the different steps that are performed to acquire experimental data. It collects all
      relevant information about the initial source signal and the involved transformations. In this schema, the fundamental
      data representation of the measurement chain is a directed graph with the signals being the nodes and the
      transformations being the edges.
    
    example:
      -
        - |
          A measurement chain representing a current measurement. It consists of 2 transformations, an AD conversion and
          subsequent application of the calibration data.
        - |
          !<asdf://weldx.bam.de/weldx/tags/measurement/measurement_chain-0.1.0>
            name: Welding current measurement chain
            data_source: !<asdf://weldx.bam.de/weldx/tags/measurement/source-0.1.0>
              name: Current sensor
              output_signal: &id001 !<asdf://weldx.bam.de/weldx/tags/measurement/signal-0.1.0>
                signal_type: analog
                unit: V
              error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
                deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> {value: 0.2, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent}
            graph: !<asdf://weldx.bam.de/weldx/tags/core/graph/di_graph-0.1.0>
              root_node: !<asdf://weldx.bam.de/weldx/tags/core/graph/di_node-0.1.0>
                name: Current sensor
                attributes:
                  signal: *id001
                edges:
                - !<asdf://weldx.bam.de/weldx/tags/core/graph/di_edge-0.1.0>
                  direction: fwd
                  attributes:
                    transformation: !<asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.0>
                      name: AD conversion
                      error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
                        deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> {value: 0.025, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent}
                      func: !<asdf://weldx.bam.de/weldx/tags/core/mathematical_expression-0.1.0>
                        expression: a*x
                        parameters:
                          a: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> {value: 1, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> 1 / volt}
                      type_transformation: AD
                  target_node: !<asdf://weldx.bam.de/weldx/tags/core/graph/di_node-0.1.0>
                    name: AD conversion
                    attributes:
                      signal: !<asdf://weldx.bam.de/weldx/tags/measurement/signal-0.1.0>
                        signal_type: digital
                        unit: dimensionless
                    edges:
                    - !<asdf://weldx.bam.de/weldx/tags/core/graph/di_edge-0.1.0>
                      direction: fwd
                      attributes:
                        transformation: !<asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.0>
                          name: Calibration
                          error: !<asdf://weldx.bam.de/weldx/tags/measurement/error-0.1.0>
                            deviation: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> {value: 0.1, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> percent}
                          func: !<asdf://weldx.bam.de/weldx/tags/core/mathematical_expression-0.1.0>
                            expression: a*x + b
                            parameters:
                              a: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> {value: 75, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> ampere}
                              b: !<asdf://weldx.bam.de/weldx/tags/units/quantity-0.1.0> {value: 25, units: !<asdf://weldx.bam.de/weldx/tags/units/units-0.1.0> ampere}
                          type_transformation: DD
                      target_node: !<asdf://weldx.bam.de/weldx/tags/core/graph/di_node-0.1.0>
                        name: Calibration
                        attributes:
                          signal: !<asdf://weldx.bam.de/weldx/tags/measurement/signal-0.1.0>
                            signal_type: digital
                            unit: ampere
    
    definitions:
      signal_node:
        description: |
          A graph node that represents a measurement signal.
        allOf:
          - tag: "asdf://weldx.bam.de/weldx/tags/core/graph/di_node-0.1.*"
          - type: object
            properties:
              attributes:
                type: object
                properties:
                  signal:
                    description: |
                      The measurement signal
                    tag: "asdf://weldx.bam.de/weldx/tags/measurement/signal-0.1.*"
                required: [signal]
              edges:
                type: array
                items:
                  $ref: "#/definitions/signal_transform_edge"
                maxItems: 1
            required: [attributes]
    
      signal_transform_edge:
        description: |
          A graph edge that represents a signal transformation.
        allOf:
          - tag: "asdf://weldx.bam.de/weldx/tags/core/graph/di_edge-0.1.*"
          - type: object
            properties:
              attributes:
                type: object
                properties:
                  transformation:
                    description: |
                      The performed transformation.
                    tag: "asdf://weldx.bam.de/weldx/tags/measurement/signal_transformation-0.1.*"
                  equipment:
                    description: |
                      The equipment that performs the transformation
                    tag: "asdf://weldx.bam.de/weldx/tags/equipment/measurement_equipment-0.1.*"
                required: [transformation]
              target_node:
                $ref: "#/definitions/signal_node"
              direction:
                enum: [fwd]
            required: [attributes]
    
    
    type: object
    properties:
      name:
        description: |
          The name of the measurement chain.
        type: string
    
      data_source:
        description: |
          The source that generates the first signal and is the first element of the chain.
        tag: "asdf://weldx.bam.de/weldx/tags/measurement/source-0.1.*"
    
      graph:
        description: |
          The measurement chain depicted by a graph. Signals are represented by the nodes and transformations by the edges.
        allOf:
          - tag: "asdf://weldx.bam.de/weldx/tags/core/graph/di_graph-0.1.*"
          - type: object
            properties:
              root_node:
                $ref: "#/definitions/signal_node"
    
      source_equipment:
        description: |
                The equipment that produces the source signal.
        tag: "asdf://weldx.bam.de/weldx/tags/equipment/measurement_equipment-0.1.*"
    
    
    propertyOrder: [name, data_source, graph, source_equipment]
    required: [name, data_source, graph]
    flowStyle: block
    ...