Skip to main content

A simple tool to manually register multiple MSI-related images

Project description

DOI

Installation

  • The main branch always has the latest version. Download, install dependencies, and run msiAlign/__main__.py.
  • install from pypi and run msialign in the terminal:
pip install msialign
msiAlign
  • The latest executable is available here (won't be regularly updated as it's hard to debug). Note: You may get a trojan warning due to a PyInstaller issue (see discussions here, here, and here).
    It's a false positive; allow it to run in your antivirus settings.

Known Bugs

  • Binary post-25.10.2024 is incompatible with previous workspace versions. For older compatibility, use this binary version here.
  • Fixed: Vertical lines may not delete properly.
  • Fixed: Teaching points don’t update when images move.
  • Fixed: Duplicate images re-added without warning.

Usage Guide

Quick Start

  • Metadata Database (for MSI only): Go to File > Crawl Metadata and select your directory.
  • Add Images: Use File > Add Images, selecting whether it’s a reference image (for cm/pixel alignment).
  • Organize Images: Drag images and resize. Use Ctrl+Click to add alignment lines.
  • Calculate cm/pixel: Place vertical lines on ruler marks, right-click, set as "scale lines," and select Calc > cm/Px.
  • Sediment Start: Right-click a vertical line and select "Sediment Start."
  • Teaching Points: Add teaching points by Shift+Click. The distance from sediment start will auto-calculate.

Preparing for Analysis

  • MSI Analysis: Select Calc > Prep MSI, attach the metadata, and pair teaching points manually or automatically. Submit to calculate transformations.
  • XRF Analysis: Select Calc > Prep XRF. Pair teaching points and submit to calculate transformations. Specify XRF data path when asked to generate depth and mask data, which is saved in the same directory as the XRF data.
  • Note the format of Teaching Points pairs: TP Pair Format

Depth Profile

  • Go to Calc > Downcore Profile to generate depth profiles. Ensure MSI exports are named exactly after spectrum data (e.g., xxxx.d has xxxx.d.txt).
    • Spot method: three methods are available when averaging 2D data into 1D profiles.
      • all: all compounds listed in "Target cmpds" must be present in the spectrum, or the spectrum is ignored.
      • any: at least one compound listed in "Target cmpds" must be present in the spectrum, or the spectrum is ignored.
      • user input: based on the compound list (separated by ;) provided by the user, the spectrum is ignored if any of the listed compounds are not present.
    • Dynamic spot averaging: dynamically adjusting the spot size to ensure a minimum number of spectra are averaged instead of dropping them.
      • MSI res (um): the resolution of the MSI data in microns
      • Max extra rows: the maximum number of rows to add to the spot size to ensure the minimum number of spectra are averaged. If the number of spectra is still below the minimum after adding the maximum number of rows, all spectra within the horizon are ignored.

Useful Functions

  • Save/Load Canvas: Save workspace via File > Save Workspace (JSON file), reload with File > Load Workspace.
  • Teaching Point Coordinates: Use View > Update TP View.
  • Developer Tools: Access extra functions with Ctrl + P.

TODO

  • Implement a fallback prompt for unmatched names, asking for user input (spec_id or spec_file_name).

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

msialign-1.1.1.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

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

msialign-1.1.1-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file msialign-1.1.1.tar.gz.

File metadata

  • Download URL: msialign-1.1.1.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for msialign-1.1.1.tar.gz
Algorithm Hash digest
SHA256 96f9bb0cb2f56069f1650116696a2e6fe9aeacf77b10f2075bd94fcab74d7d1a
MD5 d464cba8a2eaebd264f33259028c267f
BLAKE2b-256 18128f78eef870cf56e160af4225e13695408e1de24d7d0121e6b757d53b96e0

See more details on using hashes here.

File details

Details for the file msialign-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: msialign-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for msialign-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4d566b0679eb6676fc34cedaf1eee8dac48ea2807a3dfa9da3548aef17f5107
MD5 8319b5a64f31db4eb37996fd0568b015
BLAKE2b-256 4b093afa8baafe18f4ed73e73fed9f3fd599ffc34c381d6e1cc4b61bea9668e9

See more details on using hashes here.

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