Skip to main content

Processing of mass spectrometry imaging and micro X-Ray fluorescence data.

Project description

Mass Spectrometry Imaging Workflow (maspim)

maspim is a python package that allows users to read, process and interpret mass spectrometry imaging (MSI) data from Bruker instruments.

This package implements methods to process mass spectra, combine them with image information or other measurements (such as micro X-Ray fluorescence, µXRF) and special functionality for laminated sediments to combine spectra in the same layers.

Try it yourself Binder

Prerequisites

Before you begin, ensure you have met the following requirements:

  • You have a version of python3 installed (preferentially the up-to-date version)

  • You have R installed

  • You have the R package rtms installed

You may also want to check out msiAlign, which is not directly a prerequisite, but useful for setting the punch-holes when the automatic detection fails and msi_feature_extraction if you want to work with exported txt files from DataAnalysis.

Installing maspim

maspim is now on PyPI.

pip install maspim

Also, checkout our github page for the up-to-date version and additional resources.

To get the freshest version, run

pip install git+https://github.com/yaza11/maspim.git

in your console (assuming you have pip installed).

Using maspim

This is just a quick overview. For more comprehensive tutorials please have a look at the Notebooks.

Generally it is advised to stick to the objects provided at the top level of maspim, which are

  • ProjectMSI and ProjectXRF to manage MSI and µXRF measurements respectively and fetched with the get_project function

  • ImageSample, ImageROI and ImageClassified to set photo properties and finding the sample area

  • Transformation to register images

  • ReadBrukerMCF and hdf5handler for reading and storing data files.

  • Spectra to extract intensities from the mass spectra

  • MSI and XRF for handling MSI and µXRF measurements.

  • XRay for adding information from an X-Ray

  • AgeModel to set an age model

and a few others. ProjectMSI and ProjectXRF are the core objects of this package, which manage most of the aforementioned objects. So unless you have a very specific application in mind, it is recommended to do everything with the methods provided by ProjectMSI and ProjectXRF.

Let's look at a short example of how to define the ${U_{37}^{k}}^\prime$ proxy, which you can use to check that your installation worked.

from maspim import get_project

from maspim.res.compound_masses import mC37_2, mC37_3



p = get_project(is_MSI=True, path_folder='path/to/your/measurement.i', is_laminated=False)

# sets or loads ImageHandler, ImageSample, ImageROI and ImageClassified

p.require_images()

# perform all steps to extract intensities from alkenones

p.set_spectra(targets=[mC37_2, mC37_3], suppress_warnings=True)

p.set_data_object()

p.add_pixels_ROI()

# we did not provide any ages, so a time series does not make much sense, but 

# this is just a test, so don't try to interpret the results

p.set_time_series(average_by_col='x', is_continuous=True)

p.set_UK37(method_SST='prahl', n_successes_required=0)

# we can use the index instead of the age for now

p.uk37_proxy.feature_table.loc[:, 'age'] = p.uk37_proxy.feature_table.x

# you should see a plot after this

p.uk37_proxy.plot_comp('SST', errors=False)

Contributing to maspim

If you find any bugs or missing features, you are welcome to contribute to maspim, just follow these steps:

  1. Fork this repository.

  2. Create a branch: git checkout -b <branch_name>.

  3. Make your changes and commit them: git commit -m '<commit_message>'

  4. Push to the original branch: git push origin <project_name>/<location>

  5. Create the pull request.

Alternatively see the GitHub documentation on creating a pull request.

Contributors

Thanks to @weimin-liu who has contributed to this project.

Contact

Feel free to reach out at me via yzander@marum.de.

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

maspim-1.3.1.tar.gz (261.7 kB view details)

Uploaded Source

Built Distribution

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

maspim-1.3.1-py3-none-any.whl (292.7 kB view details)

Uploaded Python 3

File details

Details for the file maspim-1.3.1.tar.gz.

File metadata

  • Download URL: maspim-1.3.1.tar.gz
  • Upload date:
  • Size: 261.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for maspim-1.3.1.tar.gz
Algorithm Hash digest
SHA256 0e4a508af2c3d1b167741afb124899189278b40383fa3c5b63a26a9de40cc4a1
MD5 0ab13514780b6778d780a19ba92c64b6
BLAKE2b-256 0c1c27c346e3cb5735a40ab9bb6095aeb1804946f9385d2eeb55ad3f9b6f47b9

See more details on using hashes here.

File details

Details for the file maspim-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: maspim-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 292.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for maspim-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 81c5e1db53f70223a1fb1104a8867e208494a88b601bc922d519b1ebe7262b88
MD5 8d64ca44282a518da3d1b87fdc0742fa
BLAKE2b-256 d3fe0ea6ba9064cd97c4f92822dc4f555ec2290b903ee5db097a35e2dede7c05

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