Skip to main content

Python API for the WelDX file format and standard

Project description

WelDX - data and quality standards for welding research data

CF Codacy Badge DeepSource Documentation License Zenodo codecov package builds documentation builds pre-commit.ci status pytest static analysis

Overview

Scientific welding data covers a wide range of physical domains and timescales and are measured using various different sensors. Complex and highly specialized experimental setups at different welding institutes complicate the exchange of welding research data further.

The WelDX research project aims to foster the exchange of scientific data inside the welding community by developing and establishing a new open source file format suitable for the documentation of experimental welding data and upholding associated quality standards. In addition to fostering scientific collaboration inside the national and international welding community an associated advisory committee will be established to oversee the future development of the file format. The proposed file format will be developed with regard to current needs of the community regarding interoperability, data quality and performance and will be published under an appropriate open source license. By using the file format objectivity, comparability and reproducibility across different experimental setups can be improved.

The project is under active development by the Welding Technology division at Bundesanstalt für Materialforschung und -prüfung (BAM).

Features

WelDX provides several Python API to perform standard tasks like experiment design, data analysis, and experimental data archiving.

Planning

  • Define measurement chains with all involved devices, error sources, and metadata annotations.
  • Handle complex coordinate transformations needed to describe the movement of welding robots, workpieces, and sensors.
  • Planing of welding experiments.
  • convenient creation of ISO 9692-1 welding groove types.

Data analysis

  • Plotting routines to inspect measurement chains, workpieces (planned and welded).
  • Analysis functions for standard measurements like track energy, welding speed to fill an ISO groove, and more to come.

Data archiving

The ultimate goal of this project is to store all information about the experiment in a single file. We choose the popular ASDF format for this task. This enables us to store arbitrary binary data, while maintaining a human readable text based header. All information is stored in a tree like structure, which makes it convenient to structure the data in arbitrary complex ways.

The ASDF format and the provided extensions for WelDX types like

  • workpiece information (used alloys, geometries)
  • welding process parameters (GMAW parameters)
  • measurement data
  • coordinate systems (robot movement, sensors)

enables us to store the whole experimental pipeline performed in a modern laboratory.

Design goals

We seek to provide a user-friendly, well documented programming interface. All functions and classes in WelDX have attached documentation about the involved parameters (types and explanation), see API docs. Further we provide rich Jupyter notebook tutorials about the handling of the basic workflows.

All involved physical quantities used in weldx (lengths, angles, voltages, currents, etc.) should be attached with a unit to ensure automatic conversion and correct mathematical handling. Units are being used in all standard features of WelDX and are also archived in the ASDF files. This is implemented by the popular Python library Pint, which flawlessly handles the creation and conversion of units and dimensions.

Publications

Installation

The WelDX package can be installed using any conda or mamba package manager from the Conda-Forge channel. If you have not yet installed a conda package manager, we recommend installing Miniforge. The installer can then be found here, and a detailed documentation for the installation process is provided here. Once this step has been completed, you will gain access to both the conda and the mamba command and will be able to proceed with the installation of the WelDX package.

In order to create a new conda environment called weldx containing the WeldX package, run the console command:

conda create --name weldx --channel conda-forge weldx weldx_widgets

To install the WeldX package into your existing environment instead, use:

conda install weldx weldx_widgets --channel conda-forge

If installed, all conda commands can be replaced by mamba to take advantage of its faster solver.

The package is also available on pypi and can be installed via:

pip install weldx weldx-widgets

As weldx currently depends on the package bottleneck, which contains C/C++ code, you will need a working C/C++ compiler. The conda package does not have this requirement as it only installs pre-compiled binaries. So if you do not know how to install a working compiler, we strongly encourage using the conda package.

Documentation

The full documentation is published on readthedocs.org. Click on one of the following links to get to the desired version:

Funding

This research is funded by the Federal Ministry of Education and Research of Germany under project number 16QK12.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weldx-0.7.3.tar.gz (288.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weldx-0.7.3-py3-none-any.whl (353.9 kB view details)

Uploaded Python 3

File details

Details for the file weldx-0.7.3.tar.gz.

File metadata

  • Download URL: weldx-0.7.3.tar.gz
  • Upload date:
  • Size: 288.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for weldx-0.7.3.tar.gz
Algorithm Hash digest
SHA256 c95a8ee94a31e89a5f02d06b2801808d9ed62135216ef7c94976ddd64cc8529e
MD5 fe3c2e600d10ad4c95455f35793a785c
BLAKE2b-256 44a502569b1f5620891f78b176be89e5d6f59f1d98537f5e92af967d82b349d6

See more details on using hashes here.

File details

Details for the file weldx-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: weldx-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 353.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for weldx-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a2f3a44353e1e65e6577e6ccc7c526cac2133d86d657c35a0fbc5f7e29dd70b
MD5 c97038d3e6e6377d0076d03298c04abb
BLAKE2b-256 8793a8870ce3a767b450416ccab44d8ff29105258a8d26f7dacb52a939dbc6a9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page