3dcap-md-gen

Scripts for exporting scanning metadata as described in the publication "Metadata Schema and Ontology for Archaeological Object Documentation including 3D Imaging (AOD-3DI)"

https://github.com/i3mainz/3dcap-md-gen

Science Score: 49.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 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.7%) to scientific vocabulary

Keywords

3d-scanning capturing-images data-quality linkeddata metadata ontology processing python semantic-web
Last synced: 6 months ago · JSON representation

Repository

Scripts for exporting scanning metadata as described in the publication "Metadata Schema and Ontology for Archaeological Object Documentation including 3D Imaging (AOD-3DI)"

Basic Info
Statistics
  • Stars: 2
  • Watchers: 4
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
3d-scanning capturing-images data-quality linkeddata metadata ontology processing python semantic-web
Created about 5 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

3D Capturing and Processing Metadata Generator (3dcap-md-gen)

Details on exporting metadata with these scripts are discussed and explained in the publication: Homburg, T., Cramer, A., Raddatz, L., Mara, H.. Metadata schema and ontology for capturing and processing of 3D cultural heritage objects. Herit Sci 9, 91 (2021). https://doi.org/10.1186/s40494-021-00561-w

Contributors: ORCID ID Timo Homburg, ORCID ID Anja Cramer, ORCID ID Laura Raddatz

Source Code Documentation: Doxygen Documentation

Scripts are implemented in the following applications * ZEISS / GOM * ATOS v6.2 * Agisoft Metashape

ZEISS / GOM

Getting started

Script

  • atos-2016_3dcap-metadata.py

Software

  • To use the script you need a license for the GOM Software, GOM Inspect Professional or ZEISS INSPECT. We tested the python scripts inside
    • ATOS Professional 2016 and GOM Inspect Professional 2016
    • GOM Software 2021
    • ZEISS INSPECT 2023
  • Other versions of the software might work as well, but the script was only tested with this version
  • Open the software and import the Python script under the menu Scripting or Add-ons.

Parameters

  • The variable includeonlypropswithuri can be set True or False. With True only the metadata that is assigned an "uri" in the script will be exported, with False all.
  • The keyword sensor_type (uri: sensorType) are a list of structured light scanners. If your scanner is not included, you can add it there, otherwise your sensor in the exported TTL will get the general class " capturing device". The following sensors ar included:
    • ATOS III Rev.01
    • ATOS III Rev.02
    • ATOS Q (8M)
  • The variables referencepointid and globalreferencepointid contain the keyword for the point ID. For other ATOS Python libraries this could be different.

Namespaces

The data generated by this script may be published at a SPARQL endpoint. To make data URIs of this metadata dereferencable, it is possible to define a data namespace in the script. If no namespace is defined, a default namespace is used.

Exports

  • The metadata are exported as ***.ttl* and ***.json* files.
  • They are saved at the same path as the opened ATOS file.
  • The filename corresponds to the name of the opened ATOS file.

json file

  • Contains the metadata of the ATOS project
  • You can open it with an editor

ttl file

  • The content of the ***.ttl* file is based on the ontology structure. https://github.com/mainzed/mainzedObjectsOntology
  • You can open it e.g. with Protg.

Sample data

  • Sample data can be found here DOI.
  • There is a zip folder atos-2016_project.zip that contains the ***.atos* file and zeiss-2023_project.zip with ***.zinspect* file
  • In atos20163d-modell.zip and zeiss-2023_3d-modell.zip you can download the 3d-model of the scanning project.
  • In atos2016metadata.zip and zeiss-2023_metadata.zip are the metadata belonging to the scanning project and the 3d-model, which are the result of this script.

ATOS v6.2

Script

  • atos-v623dcapmetadata.py
  • atosv62txt2json.py

Getting started

Software

  • To use the script you need a license for the software ATOS v6.2 (GOM a ZEISS company).
  • Other versions of the software may work as well, because we only have this version we could use the script only here.
  • Open the software ATOS v6.2.
  • Import the Python script under the menu item Macro.

Parameters

  • The variable includeonlypropswithuri can be set True or False. With True only the metadata that is assigned an "uri" in the script will be exported, with False all.
  • The keyword sensor_type (uri: sensorType) are a list of structured light scanners. If your scanner is not included, you can add it there, otherwise your sensor in the exported TTL will get the general class " capturing device". The following sensors ar included:
    • ATOS II (first generation)
    • ATOS III Rev.01 (conjunction with its serial number)
  • The variables referencepointid and globalreferencepointid contain the keyword for the point ID. For other ATOS Python libraries this could be different.

Namespaces

The data generated by this script may be published at a SPARQL endpoint. To make data URIs of this metadata dereferencable, it is possible to define a data namespace in the script. If no namespace is defined, a default namespace is used.

ATOS files

  • The script writes out the metadata for ***.session* files.

Exports

  • The metadata are exported as ***.txt* and ***.ttl* files.
  • They are saved at the same path as the opened ATOS file.
  • The filename corresponds to the name of the opened ATOS file.

txt file / json file

  • The ATOS v6.2 software includes the Pyton version 2.3, in which it is not possible to import the external json library. Therefore the dictionary is written into a ***.txt* file, which can be converted into a ***.json* file in another environment.
  • The Python script atosv62txt2json.py (availibel here) imports the ***.txt* file and, if available, the separately created _manualmetadata.json. The script merges the data and export into a ***.json* file. The script also converts the manualmetadata to ttl-format and append to existing ***.ttl* file.

ttl file

  • The content of the ***.ttl* file is based on the ontology structure. https://github.com/mainzed/mainzedObjectsOntology
  • You can open it e.g. with Protg.

Sample data

  • Sample data can be found here DOI.
  • There is a zip folder atos-v62_project.zip that contains both the ***.amp* file and the ***.session* file that you can use for testing.
  • In atos623d-modell.zip you can download the 3d-model of the scanning project.
  • In atos62metadata.zip are the metadata belonging to the scanning project and the 3d-model, which are the result of this script.

Agisoft Metashape

Script

  • agisoft-metashape_3dcap-metadata.py ### Getting started

Software

  • To use the script you need a license for the Professional Edition of Agisoft Metashape
  • Agisoft project files also store the metadata of input data, processes and results. They can be accessed with the Python module of Agisoft Metashape. The keys for accessing the metadata have changed during version upgrades. The scripts were applied to the following Agisoft versions: 1.8.4 / 1.7.2 / 1.6.2 / 1.5.5 / 1.5.4 / 1.5.1 / 1.5.0 / and older versions
  • After installing the Python 3 module from Agisoft and activating the Agisoft Metashape license in the development environment (e.g. Visual Studio Code), the script can be executed directly
  • After starting, an input window will open, where the Agisoft project and the unit used in the project must be selected. The reason for selecting the unit are older Agisoft projects where we did not have unit millimeter set directly in the project but used it anyway.

Parameters

  • The variable includeonlypropswithuri can be set True or False. With True only the metadata that is assigned an "uri" in the script will be exported, with False all.

Namespaces

The data generated by this script may be published at a SPARQL endpoint. To make data URIs of this metadata dereferencable, it is possible to define a data namespace in the script. If no namespace is defined, a default namespace is used.

Exports

  • The metadata are exported as ***.ttl* and ***.json* files.
  • They are saved at the same path as the selected Agisoft project file.
  • The file name corresponds to the name of the opened Agisoft project file.

json file

  • Contains the metadata of the Agisoft project
  • You can open it with an editor

ttl file

  • The content of the ***.ttl* file is based on the ontology structure. https://github.com/mainzed/mainzedObjectsOntology
  • You can open it e.g. with Protg.

Sample data

  • Sample data can be found here DOI.
  • There are two sample data, the difference are used references:
    • sample 1: with coded targets and imported coordinate list
    • sample 2: with coded targets and defined scale bars in between
  • The zip files sample-1_agisoft-project.zip and sample-2_agisoft-project.zip contain Agisoft project files and the captured images. (Agisoft version 1.8.4)
  • In sample-1result3d-model.zip and sample-2result3d-model.zip you can download the 3d-model of the project.

Owner

  • Name: i3mainz
  • Login: i3mainz
  • Kind: organization
  • Email: i3mainz@hs-mainz.de
  • Location: Mainz, Germany

Institute for Spatial Information- and Surveying-Technology, University of Applied Sciences Mainz

GitHub Events

Total
  • Release event: 1
  • Push event: 111
Last Year
  • Release event: 1
  • Push event: 111

Dependencies

.github/workflows/docs.yml actions
  • JamesIves/github-pages-deploy-action v4.3.3 composite
  • actions/checkout v1 composite