Skip to main content

EMDataBridge

A bridge between electron microscopy data formats, and the researcher identity shared by the NUANCE tools.

Created by Roberto dos Reis (@rmsreis) · NUANCE Center, Northwestern University

  1. Identity: ORCID-validated researcher identity with an Ed25519 signing key. NUScope, NUScope-TOMO and NUANCE-MCP use it to sign data, so a file can prove who acquired, processed or approved it
  2. Format Standardizer: Standardize various electron microscopy data formats to a common schema
  3. Format Translator: Convert between different electron microscopy data formats
  4. Metadata Discovery: Automatically discover and extract self-describing data organization from electron microscopy files

Installation

pip install EMDataBridge                 # identity layer (light: numpy, pyyaml, cryptography)
pip install "EMDataBridge[tools,io]"     # + standardize / translate / discover
pip install "EMDataBridge[all]"          # + transformers and HyperSpy

Identity: ORCID and signing key

emdb identity create "Your Name" --orcid 0000-0002-1825-0097   # once; the ORCID check digit is validated
emdb identity show
emdb identity export me.json          # public part only: share it with collaborators or the facility
emdb identity trust colleague.json    # trust someone else's key
emdb identity list
emdb identity check-orcid 0000-0002-1825-0097
from EMDataBridge import identity

me = identity.me()                                    # name, ORCID, key fingerprint
entry = identity.sign({"seal": "<sha256>"}, role="author")
identity.verify({"seal": "<sha256>"}, entry)          # Check(valid=True, trusted=True, signer={...})
  • The private key is stored in ~/.emdatabridge/identity/ (or $EMDATABRIDGE_HOME), readable only by you. Set EMDATABRIDGE_KEY_PASSPHRASE to keep it encrypted. Back it up: a lost key cannot sign again, but everything it signed stays verifiable, because each signature carries the public key.
  • A signature covers the signed claims and the signer record (name, ORCID, key fingerprint, role, time), so none of them can be changed afterwards.
  • Keys created by NUScope 0.3 (~/.nuscope/keys) are imported automatically on first use. The originals are left in place.

Usage

See the documentation for each tool in their respective modules:

  • standardizer.py - Standardize data formats
  • translator.py - Translate between formats
  • discovery.py - Discover self-describing data organization

Supported Formats

  • MRC (Medical Research Council)
  • EM (Electron Microscopy)
  • DM3/DM4 (Digital Micrograph)
  • TIF/TIFF with metadata
  • HDF5/Zarr-based formats
  • MSA (EMSA format)
  • EMD (Thermo Fisher Scientific's electron microscopy data format, formerly FEI)
  • SER (Thermo Fisher Scientific's TIA series data format, formerly FEI)
  • SerialEM formats
  • Oxford Instruments formats (AZtec, INCA)
  • Hitachi formats (.hds, .tif with metadata)
  • Thermo Fisher Scientific formats (formerly FEI)

Requirements

See requirements.txt for dependencies.

Benchmarking

The package includes benchmarking tools to measure performance of format conversions and metadata extraction.

Running Benchmarks

# Run the sample benchmark suite
python run_benchmarks.py

# Run specific benchmarks using the benchmark module
python benchmark.py standardize --files sample_data/*.tif --output-dir benchmark_results
python benchmark.py translate --files sample_data/*.dm4 --formats tiff hdf5 mrc --output-dir benchmark_results
python benchmark.py batch --input-dir sample_data --formats tiff emd ser --output-dir benchmark_results

# Run a full benchmark suite
python benchmark.py full --files sample_data/*.* --formats tiff hdf5 emd ser --input-dir sample_data --output-dir benchmark_results

Benchmark Reports

Benchmark results are saved as JSON files in the output directory, along with visualizations showing performance metrics for different formats and operations.

Metadata

Release files for EMDataBridge 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for EMDataBridge 0.1.0
File Size Uploaded Provenance Actions
emdatabridge-0.1.0.tar.gz 35.5 kB With provenance Details for emdatabridge-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for EMDataBridge 0.1.0
File Interpreter ABI Platform Actions
emdatabridge-0.1.0-py3-none-any.whl Python 3 none any Details for emdatabridge-0.1.0-py3-none-any.whl

Total release size: 72.7 kB

Release files / emdatabridge-0.1.0.tar.gz

Download URL emdatabridge-0.1.0.tar.gz
Size 35.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b641fbaca309cde0fb0785ae8c6958f0b968f11db915f9ba364ece62c4feacdb
BLAKE2b-256 checksum
How to use checksums
c64725e26653caa55325a52a09930f2654ae7bf65fe961a893b45439fdf3241b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / emdatabridge-0.1.0-py3-none-any.whl

Download URL emdatabridge-0.1.0-py3-none-any.whl
Size 37.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3284e7e734918dbb48c9c7b3cf87a74aedd5a4efacfc79721293825979e8cbb0
BLAKE2b-256 checksum
How to use checksums
caefc95464b56ced824f4ce6f61bcd5d46aae8c14b9360c46ad1c37418cf647a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Security for EMDataBridge 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for emdatabridge-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page