Skip to main content

Multi-Modal Analysis

This repository contains a Python script designed for the analysis of multimodal in-situ data taken at beamline 12.3.2 of the Advanced Lightsource (ALS). The script performs various data processing tasks including timestamp-adjustment, data selection, detector-geometry calibration, diffraction data integration, peak fitting, and various ways of data visualization. It uses in-situ photoluminescence (PL) and (grazing incidence) wide-angle X-ray scattering (GI-WAXS) data as well as logged process parameters as input. MMAnalysis will ask for the GI-WAXS calibration first, which should be done with the pyFAI-GUI unless a local .poni was created before. After the calibration, MMA is going to ask for the calibration.poni file as well as the in situ run files (*.h5).

Requirements

Check the file requirements.txt to see which packages are needed. Installing the package using pip should already take care of all dependencies.

Installation instructions

Create a new virtual environment

Create a new Python environment. (You can also do it in a pre-existing environment, but make sure you don't break something):

conda create -n mmanalysis python=3.11
conda activate mmanalysis

Note that you may need to initialize your shell within conda, e.g., using conda init bash. You will know if the conda environment has been activated when you see that your shell prompt is modified with (mmanalysis).

After activating your new (or existing) environment, follow the next steps.

Install using pip

You can simply install the latest release of the package and all dependencies using:

pip install mmanalysis

Install directly the source code

Alternatively you can obtain mmanalysis directly from the repository by following those steps:

Clone the repository in the desired location:

git clone https://github.com/sutterfellalab/MultiModalAnalysis.git

Install the package and its dependencies with pip:

cd MultiModalAnalysis
pip install .

GPU acceleration through OpenCL is optional:

pip install ".[gpu]"

Releasing

Releases are published to PyPI automatically when a GitHub release is published. Before the first automated release, configure a PyPI Trusted Publisher for project mmanalysis with owner sutterfellalab, repository MultiModalAnalysis, workflow release.yml, and environment pypi. Create the matching pypi environment in GitHub and require a maintainer's approval.

To release a version, update __version__ in mmanalysis/__init__.py, commit the change, and publish a GitHub release whose tag exactly matches that version, such as 1.0.5. The workflow rejects mismatched tags, builds both distributions, validates their metadata, and publishes them without an API token.

Features

  • Logging Data Selection: Automatically suggests start times and plots raw and post-processed log data.
  • GIWAXS Data Selection: Automatically finds suggested start times, plots raw and post-processed GIWAXS data, and performs peak fitting. Additionally, it gives an option to extract individual frames for x-y-plots.
  • PL Data Selection: Plots raw and post-processed PL data (PL data have the same timestamp as the logging data), optimizes data for plotting, and performs peak fitting. Additionally, it gives an option to extract individual frames for x-y-plots.
  • Stacked Plots: Generates stacked plots for combined GIWAXS, PL, and logging data.
  • **Output: the script creates a new "output" folder containing all the images displayed during execution as well as all relevant data in .csv files

Contact

Feel free to create Merge Requests and Issues on our GitHub page: https://github.com/sutterfellalab/MultiModalAnalysis.

If you want to contact the authors, please write to T. Kodalle at TimKodalle@lbl.gov.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmanalysis-1.0.5.tar.gz (745.2 kB view details)

Uploaded Source

Built Distribution

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

mmanalysis-1.0.5-py3-none-any.whl (794.5 kB view details)

Uploaded Python 3

File details

Details for the file mmanalysis-1.0.5.tar.gz.

File metadata

  • Download URL: mmanalysis-1.0.5.tar.gz
  • Upload date:
  • Size: 745.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mmanalysis-1.0.5.tar.gz
Algorithm Hash digest
SHA256 2f5ef91b1e2119ca50e6d72a5400c4a2151afce92c18456ac3ad3cd66e802523
MD5 f01666ea3dc3f15be43950cdfcfc3430
BLAKE2b-256 daeda24db3001832d1cd38e8147efea1730081ed75e0ae4fa8e9111d70d95606

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmanalysis-1.0.5.tar.gz:

Publisher: release.yml on sutterfellalab/MultiModalAnalysis

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

File details

Details for the file mmanalysis-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: mmanalysis-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 794.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mmanalysis-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1646cbe69486c8cd39d6c0baf10f93d7aac014493780f4cf927eb75b6df17826
MD5 f93db7c8aa4a063417bdf322a897bf9a
BLAKE2b-256 5666922021ba6e8a4a5cbc677f8bd1304fcd9f85333f8eaa6306dd260a5c3031

See more details on using hashes here.

Provenance

The following attestation bundles were made for mmanalysis-1.0.5-py3-none-any.whl:

Publisher: release.yml on sutterfellalab/MultiModalAnalysis

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

Release history Release notifications | RSS feed

1.0.6

2 files

This release

1.0.5 This release

2 files

1.0.2

2 files

1.0.1

2 files

0.0.1

2 files

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