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.0.tar.gz (37.3 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.0-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: msialign-1.1.0.tar.gz
  • Upload date:
  • Size: 37.3 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.0.tar.gz
Algorithm Hash digest
SHA256 bc6898f3eec4577f2d6862d448655edbfc3e8c2341480b981c6d33440288f3d7
MD5 a2939b3aa14f7b2fe46a374ad5fc2802
BLAKE2b-256 f8c331991b2e8e6cede27e935ddf552588fc7c5f7ac91a15b423ec6241710931

See more details on using hashes here.

File details

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

File metadata

  • Download URL: msialign-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 39.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e925394ff0e74fe7f9f7c930f425426f42adfdfbf08ff9927f542fcd419db04
MD5 f6da7f0f9247ed064a6ee68c60e2a3b6
BLAKE2b-256 345d6f19f618c50ee45bad269bf04aa3d87555c6557d92d74e11f8f452a9a1a5

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