A simple tool to manually register multiple MSI-related images
Project description
Installation
- The main branch always has the latest version. Download, install dependencies, and run
msiAlign/__main__.py. - install from pypi and run
msialignin 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 Metadataand 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+Clickto 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:
Depth Profile
- Go to
Calc > Downcore Profileto generate depth profiles. Ensure MSI exports are named exactly after spectrum data (e.g.,xxxx.dhasxxxx.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.
- Spot method: three methods are available when averaging 2D data into 1D profiles.
Useful Functions
- Save/Load Canvas: Save workspace via
File > Save Workspace(JSON file), reload withFile > 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_idorspec_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.0.2.tar.gz
(37.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
msialign-1.0.2-py3-none-any.whl
(39.1 kB
view details)
File details
Details for the file msialign-1.0.2.tar.gz.
File metadata
- Download URL: msialign-1.0.2.tar.gz
- Upload date:
- Size: 37.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b55587ec07a1ef043679c96db0e85ff158b804cf86a6e948503d994ee65afdf8
|
|
| MD5 |
6a2ddc646c83303c96b47c8eccdae802
|
|
| BLAKE2b-256 |
b1f12012807effdb9effa5d0fef9770a3fbbdd42e4e131cca921e961554ac510
|
File details
Details for the file msialign-1.0.2-py3-none-any.whl.
File metadata
- Download URL: msialign-1.0.2-py3-none-any.whl
- Upload date:
- Size: 39.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eab8e01275567671ef1a916d2e27d150e642f4a65e3f84db181414e8c1782205
|
|
| MD5 |
3944d1a4eb328ff6d9a6b22f9f4df404
|
|
| BLAKE2b-256 |
82b3d7873438925b808c893a7b1566c47aee01fe9dc95eecf1f1172c514189d7
|