aramis-data-exporter

The data exporter is a third-party Python package that enables the export of 3D digital image correlation (DIC) data from a Zeiss GOM Inspect/ARAMIS Professional project in a neutral and human-readable ASCII data format

https://github.com/dlr-wf/aramis-data-exporter

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

digital-image-correlation experimental-mechanics zeiss-inspect
Last synced: 9 months ago · JSON representation ·

Repository

The data exporter is a third-party Python package that enables the export of 3D digital image correlation (DIC) data from a Zeiss GOM Inspect/ARAMIS Professional project in a neutral and human-readable ASCII data format

Basic Info
  • Host: GitHub
  • Owner: dlr-wf
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 2.32 MB
Statistics
  • Stars: 2
  • Watchers: 0
  • Forks: 2
  • Open Issues: 0
  • Releases: 2
Topics
digital-image-correlation experimental-mechanics zeiss-inspect
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Data exporter for Zeiss GOM Inspect/ARAMIS Professional

DOI

The data exporter is a third-party Python package that enables the export of 3D digital image correlation (DIC) data from a Zeiss GOM Inspect/ARAMIS Professional project in a neutral and human-readable ASCII data format. The export contains the mesh, displacement and strain data, as well as metadata. This provides high flexibility for further processing using open source software. The package has been designed for usage within the Python environment of the Zeiss GOM Inspect/ARAMIS Professional software. It has minimal dependencies and is straightforward to install.

The outputs are as follows:

  • nodemap.txt: A combined table of metadata and the nodes with their coordinates, displacement, strain data.
  • connections.txt: A list of all elements and their connecting codes of the triangular mesh.
  • nodemap.vtk: A file readable for Visualization Toolkit (VTK), which contains both nodal data and mesh data in a standardised ASCII data format.

This enables the data to be read by CrackPy, a Python package for the analysis of crack propagation based on DIC data. CrackPy offers a wide range of methods for reading, processing and plotting the data. Furthermore, the VTK file can be imported into ParaView for visualization.

Aramis_interface.png

Table of Contents

  1. Installation
  2. Usage
  3. ARAMIS project preparation
  4. Nodemap
  5. Connections
  6. VTK
  7. Dependencies
  8. License
  9. Intellectual Property and Authorship

Installation

Install the ARAMIS Exporter

To install the package, ensure you have administrative rights, then run in a Windows command prompt:

bash cd "C:\Program Files\GOM\2020\python\" python.exe -m pip install --upgrade git+https://github.com/dlr-wf/aramis-data-exporter.git

Install in development mode

For development purposes, you can also clone the package, which allows you to make changes without reinstalling.

  1. Clone the repository:

bash git clone https://github.com/dlr-wf/aramis-data-exporter.git "C:\OurPythonLibraries"

  1. Navigate to the package directory:

bash cd "C:\OurPythonLibraries\aramis_exporter"

  1. Install in development mode:

bash "C:\Program Files\GOM\2020\python\python.exe" setup.py develop

  1. To uninstall the package, run:

bash "C:\Program Files\GOM\2020\python\python.exe" setup.py develop --uninstall

Usage

The package can be used in the Python environment of Zeiss GOM Inspect/ARAMIS Professional. The following code snippet shows how to use the package:

```python import gom from aramis_exporter.utils import AramisExporter

Define the project name, specimen name and experiment name

PROJECTNAME = "DELETE" SPECIMENNAME = "SP" WMP_NUMBER = "123"

Definition of the name of the output file

exportfilename = f"{PROJECTNAME}{SPECIMENNAME}{SPECIMEN_NAME}"

Initialize gom_project with tom functionalities

exporter = AramisExporter(gom, exportfilename, projectname=PROJECTNAME, specimenname=SPECIMENNAME, experimentname=WMPNUMBER, metadata_dict={'test': 123})

export data of given stages or all stages

exporter.exportdata(stageindxs='all')

export data to vtk

exporter.exportdatatovtk(stageindxs='all') ```

ARAMIS project preparation

The initialization of the AramisExporter class prepares the GOM project as follows:

  1. Checks if all necessary data are calculated, otherwise create and compute surface_component for $u{x}$, $u{y}$, $u{z}$, $\varepsilon{x}$, $\varepsilon{y}$, $\varepsilon{xy}$, $\varepsilon_{\mathrm{eqv}}$.
  2. Checks if rigid body motion compensation (RBMC) was conducted and is active. If this is not the case, the RBMC is performed.
  3. Gathers all process data from the open ARAMIS DIC project like process data, calibration data, facet size, facet distance, analog input, value elements, sensor setup, etc.
  4. Create output folder and export data for all stages to individual files.

Nodemap

The nodemap file stores the nodal or facet data. Metadata or comments can be stored in the header, identified by the symbol #. The data section includes individual columns containing nodal coordinates, displacement vector, and strain tensor defined for plane strain conditions.

```plaintext

Process data:

specimen : Dummy2

SIGNALS:

force : value_element : 14985.6119156

displacement : value_element : -9.17953395844

forceanalog : analoginput : 15102.5390625

displacementanalog : analoginput : -7.6751708984375

ID; xundef [mm]; yundef [mm]; z_undef [mm]; u [mm]; v [mm]; w [mm]; epsx [%]; epsy [%]; epsxy [1]; epseqv [%]

     1;       -80.0564567626;        84.9779203814;         0.1509636527;    0.003655774286017;    0.059203740209341;   -0.158300071954727;   -0.185958549380302;   -0.112336091697216;   -0.000613267708104;    0.310294896364212
     2;       -79.2904753387;        85.0053386055;         0.1975326408;    0.001983210910112;    0.060109287500381;   -0.155325025320053;   -0.209498479962349;   -0.005866464227438;   -0.000913561263587;    0.267783910036087

```

Here:

  • ID is the node number.
  • x_undef, y_undef, z_undef are the nodal coordinates in the undeformed reference coordinate system, given in millimeters.
  • u, v, w are the displacements in x, y and z direction, given in millimeters.
  • epsx, epsy, epsxy are the components of the Cauchy's strain tensor. Note that epsx and epsy are given in %, while epsxy is given without a ratio!
  • epseqv is the equivalent von Mises strain and is optional and can be computed in CrackPy as well later on.
  • The separator is a semicolon ;

Connections

The connection file defines the relationships between nodes within the elements of the triangular mesh. Each row in the file represents a single triangular element and specifies which nodes are connected to form that triangle. The connection data is formatted as follows:

plaintext Type; Element #; Node 1; Node 2; Node 3 3; 1; 108; 1; 0 3; 2; 109; 2; 1 3; 3; 110; 3; 2

VTK

The Visualization Toolkit (VTK) provides file formats for storing mesh data in a standardized and neutral format. It can be used in many post-processing tools. We use the VTK legacy format. The VTK files can subsequently be imported into, e.g., ParaView for visualization. Further options to read and process the data in Python are pyvista (pip install pyvista) and vtk (pip install vtk).

The following scalars are available:

  • x [mm], y [mm], z [mm]
  • u_x [mm], u_y [mm], u_z [mm]
  • eps_x [%], eps_y [%], eps_xy [1], eps_vm [%]

Export directory structure

The export process creates the following directory structure:

  • export_directory
    • nodemap_subfolder: Contains the nodemap files for each stage.
    • connection_subfolder: Contains the connection files for each stage.
    • vtk_subfolder: Contains the VTK files for each stage (if VTK export is performed).

Dependencies

License

The package is developed for research only and must not be used for any production or specification purposes. The package is under current development and all functionalities are on a prototype level. Feel free to use the code, however, we do not guarantee in any form for its flawless implementation and execution. However, if you run into errors in the code or find any bugs, we will be happy if you contact us. Licensed under MIT License (see LICENSE file)

Intellectual Property and Authorship

Authors\ Tobias Strohmann\ David Melching\ Eric Breitbarth (eric.breitbarth@dlr.de)

Owner

  • Name: German Aerospace Center (DLR) - Institute of Materials Research
  • Login: dlr-wf
  • Kind: organization
  • Location: Germany

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this package, please cite it as below."
authors:
- family-names: "Strohmann"
  given-names: "Tobias"
  orcid: "https://orcid.org/0000-0002-9277-1376"
- family-names: "Melching"
  given-names: "David"
  orcid: "https://orcid.org/0000-0001-5111-6511"
- family-names: "Breitbarth"
  given-names: "Eric"
  orcid: "https://orcid.org/0000-0002-3479-9143"
title: "Data exporter for Zeiss GOM Inspect/ARAMIS Professional"
version: 1.1.0
doi: 10.5281/zenodo.11092746
date-released: 2024-04-30
url: "https://github.com/dlr-wf/crackpy"

GitHub Events

Total
  • Release event: 1
  • Watch event: 1
  • Push event: 2
  • Fork event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Watch event: 1
  • Push event: 2
  • Fork event: 1
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 15 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
pypi.org: aramis-data-exporter

Zeiss GOM Aramis Data Exporter

  • Homepage: https://github.com/dlr-wf/aramis-data-exporter
  • Documentation: https://aramis-data-exporter.readthedocs.io/
  • License: MIT License Copyright (c) 2024 German Aerospace Center (DLR) - Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR). Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 1.2.0
    published about 1 year ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 15 Last month
Rankings
Dependent packages count: 9.5%
Average: 31.5%
Dependent repos count: 53.4%
Maintainers (1)
Last synced: 10 months ago

Dependencies

requirements.txt pypi
  • numpy *
setup.py pypi
  • numpy *