Skip to main content

Multi-Modal Electron Microscopy Data Fusion

Project description

2D Multi-Modal Data Fusion for Electron Microscopy

Fused multi-modal electron microscopy, a combines elastic scattering (HAADF) and inelastic spectroscopic signals (EELS/EDX) to recover high signal-to-noise ratio chemical maps at nano- and atomic-resolution.

By linking simultaneously acquired modalities through regularized optimization, the method can reduce dose requirements by over one order of magnitude while substantially improving SNR for chemical maps.

Installation

The package is available on PyPI:

pip install multimodal-fusion

For local development, clone the repository and install in editable mode:

git clone https://github.com/jtschwar/Multi-Modal-2D-Data-Fusion.git --recursive
cd Multi-Modal-2D-Data-Fusion
pip install -e . 

Quick Start

from multimodal_fusion import DataFusion

# Initialize fusion with list of elements
elements = ['Co', 'S', 'O']
fusion = DataFusion(elements)

# Load your chemical maps
# Provide as a dictionary where keys match your element list
# This helper function loads starter data from github
cobalt_map, sulfur_map, oxygen_map, haadf_im = fusion.load_edx_example()
chemical_maps = {
    'Co': cobalt_map,      # 2D numpy arrays
    'S': sulfur_map, 
    'O': oxygen_map
}
fusion.load_chemical_maps(chemical_maps)

# Load the simultaneously acquired HAADF image
fusion.load_haadf(haadf_im)  # 2D numpy array

# Run the fusion algorithm 
# We can adjust with regularization parameters
fusion.run(
    nIter=50, 
    lambdaEDS = 0.005, lambdaTV=0.1,
    plot_images=True, plot_convergence=True)

# Get results in dictionary format
results = fusion.get_results()
fused_cobalt = results['Co']
fused_sulfur = results['S']

Documentation

A comprehensive tutorial for learning how to adjust the hyperparameters is available: J. Manassa, M. Shah, et. al. "Fused Multi-Modal Electron Microscopy - A Beginner's Guide, Elemental Microscopy (2024).

Citation

If you use any of the data and source codes in your publications and/or presentations, we request that you cite our papers:

J. Schwartz, Z.W. Di, et. al., "Imaging atomic-scale chemistry from fused multi-modal electron microscopy", npj Comput. Mater. 8, 16 (2022).

A tutorial for learning how to adjust the hyper-parameters is also available here: J. Manassa, M. Shah, et. al. "Fused Multi-Modal Electron Microscopy - A Beginner's Guide, Elemental Microscopy (2024).

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

multimodal_fusion-0.6.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distributions

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

multimodal_fusion-0.6.0-cp312-cp312-win_amd64.whl (92.5 kB view details)

Uploaded CPython 3.12Windows x86-64

multimodal_fusion-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (147.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

multimodal_fusion-0.6.0-cp312-cp312-macosx_11_0_arm64.whl (100.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

multimodal_fusion-0.6.0-cp311-cp311-win_amd64.whl (91.2 kB view details)

Uploaded CPython 3.11Windows x86-64

multimodal_fusion-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

multimodal_fusion-0.6.0-cp311-cp311-macosx_11_0_arm64.whl (99.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

multimodal_fusion-0.6.0-cp310-cp310-win_amd64.whl (90.6 kB view details)

Uploaded CPython 3.10Windows x86-64

multimodal_fusion-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (145.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

multimodal_fusion-0.6.0-cp310-cp310-macosx_11_0_arm64.whl (97.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

multimodal_fusion-0.6.0-cp39-cp39-win_amd64.whl (91.5 kB view details)

Uploaded CPython 3.9Windows x86-64

multimodal_fusion-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (145.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

multimodal_fusion-0.6.0-cp39-cp39-macosx_11_0_arm64.whl (98.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

multimodal_fusion-0.6.0-cp38-cp38-win_amd64.whl (90.2 kB view details)

Uploaded CPython 3.8Windows x86-64

multimodal_fusion-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (144.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

multimodal_fusion-0.6.0-cp38-cp38-macosx_11_0_arm64.whl (97.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file multimodal_fusion-0.6.0.tar.gz.

File metadata

  • Download URL: multimodal_fusion-0.6.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for multimodal_fusion-0.6.0.tar.gz
Algorithm Hash digest
SHA256 75ab6bf170bc89cc805a5794343d13f206af0d7285fe9aa5c0a8a236055798f7
MD5 f1a11366f2ebaf1f2ccfe7c6ae08d9fb
BLAKE2b-256 72c07ff28f3260b78ab38874c84420dbc0eefc89f93d682cae93ab176e59066e

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0.tar.gz:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 054baca0687c6fc86484d6053f9264ec199925f7e8021fd0c91716ed5dd21134
MD5 5b3d43e939eac84cd160ec175e959f49
BLAKE2b-256 e76f3c16ee2d8e8f07f153194f3fcc6e3cf2e789312bfacc98bff6d9e7495b88

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61ff1d8b06c455f7f23c3005f22724c0386c8d23c87eb3a66f136266c4f7ebfd
MD5 dad83df960f58f61e20d2567e418a8f2
BLAKE2b-256 fffa13396b10fc0fa6b0af170decf0d1e5f3012da44be05b94a6ad7e43435b60

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7294658ce6e034aff4b38ef10ef69ead0700a6b61a6385d593a1b2d1293ee6a
MD5 807a3305589d655b321e5577fe258171
BLAKE2b-256 100639dc8aba97f8446f6e97a283d51417423b41a729d4398fc573c2096c661e

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2f14e4eb109709c1d44bd0ebcaccc53b71d43a230004b11ac955b754b20b7c6a
MD5 2eca4099c4e9ecc3384402472a19adc7
BLAKE2b-256 3f1cc168a74eda5289a177461da9a8702e83b6f72f69dd99446bfe07a5a9a1ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 995216588685c5acdf41c7846a49ba2a9eb80db222ab15b1cf84e01b604ed326
MD5 96f0d6f47c84d682e12f73d3db3ff38c
BLAKE2b-256 b9233353f2d2eaa3476f3944125adec09979c1503de067057e6c2436f1526826

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 88b2aa4e00ae7acbd4ecab6d4ea76177abd2a0c178dd105be19febcb2fdbc452
MD5 3dfec672cbc4da9f2727bd8dd95ef55a
BLAKE2b-256 986b280a57f3b3f4a612bf079075810eea6e870a68b929205537338bfcbc8ba4

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bea82aaffe0719b6aec6c3e504d1689ff92545e480c7d0e278f233bf8abd4bc3
MD5 53f1bd041b5431964a55d7e909080d24
BLAKE2b-256 b4a784632c90fd60ca88886e3730632b1325f3f45707c7ac9f8f3169fe67e647

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6af4f2d89c125516e7c99cf272e07d3ad56d12e8fc45fda2cd8a41db249e3e3
MD5 d6c95aefe4285ea61cbf527a8e0c0375
BLAKE2b-256 fdfc5ae78a1d813f6db454b98cba32728010fb517f1d3d465e90f6b04684bd3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a288bbaba6ea8d1de6fa7467210603a72222593e6e23a6391fcf6cdea915703
MD5 47e9b8e2c6af52882b2ed51d12199af0
BLAKE2b-256 7d70ba2c289b99f29fcfd0ddb35b7bf02169cac6b2f6f4964d156b9e234ab7f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 432a96d74f862b08ee318dcbb885f3ef6ee8d621cb9628a8704bf9cc3bb23799
MD5 f2efe241d86a1986cd0d234e2e62e401
BLAKE2b-256 9becfeb9165d4472a26572addb010fc7710dbcae9eac0de93a7ea04981862435

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46e1b49314506ec3652361891d7d0ffa4923bdf503e44e5602e93874db6abf3d
MD5 ea314c9762feeaaf4b8c4c11f9037168
BLAKE2b-256 00663c71fa562fdc1674781ef426485f84a441f6c3e56f143d46ef7d64c28a02

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c56fef7cda26bd5d559050707e471819c4b6f2d41373ac3ba61309e9ad182cd1
MD5 4665c398a5db7cae06f53bb0abb20c3d
BLAKE2b-256 983e99eaacc68c5681b5b5b6e35855089b7ca13d3a35f038c3e8539584b51fdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0d1f220a0f72a261e16fceca06eb899bf6f1f58001c5a462779be59e2451b908
MD5 445e797c41d5ee9822498370c17cb86f
BLAKE2b-256 387ebf8248b7d7b8065df990ac5364b5df70ee69197111e80f48fd5768c43455

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp38-cp38-win_amd64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fd271078c36d38bde48dfd6ffe3d1fe5376177f24beb8d9b5226291e6af899f
MD5 67639d8210cf283590cccdc0e9b1591b
BLAKE2b-256 aee8b2911e4bc577cc866bfb10301cf7455bc95677886f6104cb759e358d787c

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multimodal_fusion-0.6.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for multimodal_fusion-0.6.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f6f7f24a1a483e193e2f28180155a06953714aeac947f0d29b501df00a01006
MD5 d167282cc33c5223cb782426b2af887f
BLAKE2b-256 5abd79912682ad918a6ef2d82fa8b62e44a1cf18efa77edc47c80f7d35971032

See more details on using hashes here.

Provenance

The following attestation bundles were made for multimodal_fusion-0.6.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: publish.yml on jtschwar/Multi-Modal-2D-Data-Fusion

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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