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).
Metadata
Release files for msiAlign 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| msialign-1.1.1.tar.gz | 37.4 kB | Without provenance | Details for msialign-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| msialign-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for msialign-1.1.1-py3-none-any.whl |
Total release size: 76.8 kB
Release files / msialign-1.1.1.tar.gz
| Download URL | msialign-1.1.1.tar.gz |
|---|---|
| Size | 37.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96f9bb0cb2f56069f1650116696a2e6fe9aeacf77b10f2075bd94fcab74d7d1a
|
|
BLAKE2b-256 checksum How to use checksums |
18128f78eef870cf56e160af4225e13695408e1de24d7d0121e6b757d53b96e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / msialign-1.1.1-py3-none-any.whl
| Download URL | msialign-1.1.1-py3-none-any.whl |
|---|---|
| Size | 39.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4d566b0679eb6676fc34cedaf1eee8dac48ea2807a3dfa9da3548aef17f5107
|
|
BLAKE2b-256 checksum How to use checksums |
4b093afa8baafe18f4ed73e73fed9f3fd599ffc34c381d6e1cc4b61bea9668e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Security for msiAlign 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.