{"id":25824069,"url":"https://github.com/kit-data-manager/tomo_mapper","last_synced_at":"2026-05-14T06:33:25.353Z","repository":{"id":279564556,"uuid":"926989909","full_name":"kit-data-manager/tomo_mapper","owner":"kit-data-manager","description":"The SEM-FIB-Tomography Mapper is a tool designed for mapping SEM (Scanning Electron Microscope) images and SEM-FIB Tomography metadata to a uniform, schema-compliant json format.","archived":false,"fork":false,"pushed_at":"2026-03-19T14:06:59.000Z","size":3119,"stargazers_count":0,"open_issues_count":24,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-20T06:49:43.318Z","etag":null,"topics":["cli"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kit-data-manager.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-04T08:02:09.000Z","updated_at":"2025-12-01T10:00:58.000Z","dependencies_parsed_at":"2025-02-26T08:35:35.182Z","dependency_job_id":"40b92619-c29f-4f26-accb-ae3b92fa597f","html_url":"https://github.com/kit-data-manager/tomo_mapper","commit_stats":null,"previous_names":["kit-data-manager/tomo_mapper"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/kit-data-manager/tomo_mapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-data-manager%2Ftomo_mapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-data-manager%2Ftomo_mapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-data-manager%2Ftomo_mapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-data-manager%2Ftomo_mapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kit-data-manager","download_url":"https://codeload.github.com/kit-data-manager/tomo_mapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-data-manager%2Ftomo_mapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33013272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli"],"created_at":"2025-02-28T12:35:13.008Z","updated_at":"2026-05-14T06:33:25.344Z","avatar_url":"https://github.com/kit-data-manager.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--![Tests](https://github.com/kit-data-manager/tomo_mapper/actions/workflows/python-app.yml/badge.svg)--\u003e\n![Tests](https://img.shields.io/github/actions/workflow/status/kit-data-manager/tomo_mapper/python-app.yml?label=Tests)\n[![Coverage Status](https://coveralls.io/repos/github/kit-data-manager/tomo_mapper/badge.svg)](https://coveralls.io/github/kit-data-manager/tomo_mapper)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n# SEM-FIB-Tomography Mapper\n\n## Overview\nSEM-FIB-Tomography Mapper is a tool designed for mapping SEM (Scanning Electron Microscope) images and SEM-FIB Tomography metadata to a uniform, schema-compliant json format. This project includes functionality for both SEM and tomography mapping, sharing a common mapping concept.\n\nThe target format of the mapper follows pre-defined schemas developed for metadata description of SEM microscopy and SEM-FIB tomography, respectively. Technical information is contained in this repository,\nfor further conceptional description see\n\n- Joseph, R., Chauhan, A., Eschke, C., Ihsan, A. Z., Jalali, M., Jäntsch, U., Jung, N., Shyam Kumar, C. N., Kübel, C., Lucas, C., Mail, M., Mazilkin, A., Neidiger, C., Panighel, M., Sandfeld, S., Stotzka, R., Thelen, R., \u0026 Aversa, R. (2021). Metadata schema to support FAIR data in scanning electron microscopy. CEUR-WS.Org. https://doi.org/10.5445/IR/1000141604\n- Pauly, C., Joseph, R. E., Vitali, E. G. G., Aversa, R., Stotzka, R., Mücklich, F., Engstler, M., Hermann, H.-G., \u0026 Fell, J. (2024). Metadata schema and mapping service for FIB/SEM serial-sectioning and computed tomography. https://doi.org/10.5445/IR/1000175919\n\n## Usage\n\n### 1. Python Command Line Interface\n\n#### Prerequisites\n\nMinimal supported python version: 3.10\n\n#### Cloning the Repository\nTo get started, clone the repository and navigate to the project directory:\n```\ngit clone https://github.com/kit-data-manager/tomo_mapper.git\ncd tomo_mapper\n```\n\n#### Setting Up the Environment\nYou can optionally set up a virtual environment. Depending on your environment, you may have to use the `python3` alias instead of `python` for the following commands.\n\nInstall the required dependencies:\n```\npip install -r requirements.txt\n```\n\n#### Running the Mapper\nTo run the mapper, use the `mapping_cli` module:\n```\npython -m mapping_cli\n```\n\n**1. SEM Mapping**\n\nUse the `sem` subcommand for SEM mapping. The mapper expects a map file, an image or image metadata file, and a JSON output path:\n```\npython -m mapping_cli sem -m \u003cmap_file\u003e -i \u003cimage or metadata file\u003e -o \u003cjson_output_path\u003e\n```\n\nFor further information about the necessary map file, see [Mapping README](./src/resources/maps/mapping)\n\n**2. Tomography Mapping**\n\nUse the `tomo` subcommand for tomography mapping. The mapper expects a map file, a zip file or input data folder, and a JSON output path:\n```\npython -m mapping_cli tomo -m \u003cmap_file\u003e -i \u003czip_file or folder\u003e -o \u003cjson_output_path\u003e\n```\n\nFor further information about the necessary map file, see [Parsing README](./src/resources/maps/parsing)\n\nFor further information about mappings used internally, see [Mapping README](./src/resources/maps/mapping)\n\nIn cases with no need of tweaking the parsing map file there is a shortcut option to use the supplied vendor-specific default map.\n\nExample usage\n```\npython -m mapping_cli tomo -dm TF -i \u003czip_file or folder\u003e -o \u003cjson_output_path\u003e\n```\n\nThis is equivalent to the following command run from the project folder of this repo\n```\npython -m mapping_cli tomo -m \"./src/resources/maps/parsing/inputmap_thermofisher.json\" -i \u003czip_file or folder\u003e -o \u003cjson_output_path\u003e\n```\n\nTo get the current available default map options, check `tomo --help`. \n\n### 2. Command Line Interface Executable\n\nEach release contains the python CLI as platform-specific packaged executable. Usage is identical to use with python, just replace\n`python -m mapping_cli` with the platform-specific executable.\n\n### 3. Usage as plugin for the [Mapping-Service](https://github.com/kit-data-manager/mapping-service)\n\nThe mapper can be used as a plugin for the [kit-data-manager/Mapping-Service](https://github.com/kit-data-manager/mapping-service). The necessary gradle project to build the plugin is included in the [plugin subfolder](./mappingservice-plugin).\nFor details on how to build the jar file, see the \"Build with Gradle\" step in the [github actions pipeline](./.github/workflows/plugin-integration.yml) for the plugin integration test.\n\nPlugin and Python code base share the same semantic versioning, so the plugin version always indicates the specific script version used for mapping. This behaviour can be explicitly overriding \n(for example for testing or for working with older versions of the mapping service). To do this, on gradle build time provide the environment variable `VERSION_OVERRIDE_BY_BRANCH`.\nThe variable needs to contain a branch name of this repo and branch deletion may break a plugin in use. Only use this option very carefully. Do not use this option for production. \n\nTo find out tested alignments between plugin versions and mapping-service versions check the following table:\n\n| Plugin version | mapping-service version |\n|----------------|------------------------|\n| v1.0.0, v1.1.0 | v1.0.5*), v1.1.1*)     |\n\n*) Plugin needs to be built with version override to work with the specified version of the mapping-service\n\n## Testing\nRun tests using `pytest`:\n```\npytest\n```\n\n## Supported instruments and formats\n\nDue to the large range and variety of vendors, instruments and setups we cannot guarantee successful mapping for all cases. \nThe following list provides the **minimal range of formats, that have been tested via sample data**.\n\n### Image Metadata (SEM and Tomography Mapping)\n\n- tiff format\n  -  Carl Zeiss SEM (Zeiss instruments, tag 34118)\n  -  FibicsXML (Zeiss instruments, tag 51023)\n  -  FEI Helios (FEI / Thermofisher, tag 34682) \n- text format\n  -  Tescan hdr files\n  -  JEOL txt files\n\n### Tomography metadata\n\n- XML format\n  - ATLAS3D-Job (Zeiss)\n  - ATLAS3D-Setup (Zeiss)\n  - EMProject (Thermofisher)\n  - ProjectData (Thermofisher)\n  - TomographyProject (Tescan)\n- HDR format\n  - Dataset_info (Tescan)\n\n## Acknowlegdements\n\nThis work is supported by the consortium NFDI-MatWerk, funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under the National Research Data Infrastructure – NFDI 38/1 – project number 460247524.\n\nAll sample and test data included in this repository, if not otherwise specified, was contributed by participant projects of NFDI-Matwerk. Special thanks to participant project pp13.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkit-data-manager%2Ftomo_mapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkit-data-manager%2Ftomo_mapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkit-data-manager%2Ftomo_mapper/lists"}