GithubHelp home page GithubHelp logo

m2aia / pym2aia Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 2.17 MB

pyM²aia is a Python package for memory-efficient access and processing of mass spectrometry image data. The I/O functionality is derived from the interactive desktop application M²aia. Special features are the batch generator utilities for deep learning applications.

Home Page: https://m2aia.github.io/m2aia

License: BSD 3-Clause "New" or "Revised" License

Dockerfile 0.07% Python 10.61% Jupyter Notebook 89.03% Makefile 0.18% Batchfile 0.11%
mass-spectrometry-imaging python deep-learning

pym2aia's Introduction

M2aia logo

Downloads

M²aia: a mass spectrometry imaging applications for interactive analysis in MITK

M²aia is open source software, based on the well-known Medical Imaging Interaction Toolkit (MITK). The software enables interactive visualization, signal-processing, 3D reconstruction and multi-modal image registration of mass spectrometry imaging (MSI) datasets.

More information

github.io/m2aia
Build instructions (windows/Linux)
Protocols

Cite M²aia

Cordes J; Enzlein T; Marsching C; Hinze M; Engelhardt S; Hopf C; Wolf I (July, 2021): M²aia - Interactive, fast and memory efficient analysis of 2D and 3D multi-modal mass spectrometry imaging data https://doi.org/10.1093/gigascience/giab049

biotools:m2aia

Docker

To use M²aia in a browser run:

docker pull ghcr.io/m2aia/m2aia:latest
docker run --rm -v /local/data/path:/data -p 8888:80 ghcr.io/m2aia/m2aia:latest

with password:

docker run --rm -v /local/data/path:/data -e VNC_PASSWORD=<password> -p 8888:80 ghcr.io/m2aia/m2aia:latest

Start M²aia by accessing http://localhost:8888

The container will shut down if M²aia is closed (File->Exit). The results written to the mapped volume have root user ownership

Python

We provide ImzML Reader and the Signal Processing utilities for Python.

https://github.com/m2aia/pym2aia
https://github.com/m2aia/pym2aia-examples

Contact

If you have questions about the application or if you would like to give us feedback, don't hesitate to open a new issue or contact me directly.

DOI

pym2aia's People

Contributors

jtfcordes avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

pym2aia's Issues

Metadat handling in pym2aia

Hi, i've noticed something about the .GetMetaData() function. It only returns the "name" parameter, and not the "value" parameter. I'm assuming that the metadata values get lost somewhere in the transition between Python and C++, because the m2aiaCore soure code looks like it is aware of them.
I'm including a minimal example below:

When calling .GetMetaData() on a ImzMLReader, i get the following list (shortend for overview) with strings:
"[...,'pixel size x', 'pixel size y', 'pixel size z', 'scanSettings0.horizontal line scan', 'scanSettings0.linescan right left', ...]"

My imzMl file looks like this:

scanSettingsList count="1">
scanSettings id="scanSettings0">
cvParam accession="IMS:1000046" cvRef="IMS" name="pixel size x" value="50"/>"
cvParam accession="IMS:1000047" cvRef="IMS" name="pixel size y" value="50"/>"
cvParam accession="IMS:1000490" cvRef="IMS" name="linescan right left"/>"
cvParam accession="IMS:1000480" cvRef="IMS" name="horizontal line `scan"/>"

Is there a way th make the GetMetaData() output into a dictionary with a name and value pair? or any other way to access the value from within pym2aia?

Handling of XAxisDepthwith processed imzML files

Hi, i've encountered a behavior i do not fully understand and i had a few questions regarding the XAxisDepth() method and other fuctions (in particular .GetXAxis() and .GetMeanSpectrum() ) when i am working with processed imzML files.

When i use XAxisDepth() on the ImzMLReader, it binns the spectra to an axis. To check how well this performed, i plotted the Depth of each mass-axis in the file against the pixel index. But somehow, i do not see a correlation between the number of bins used for the averaging and the acutal depths of the spectra. see below for the plot:
avendaged XaxisDepth
is there a way to specify how much bins the averaging should take or how large they should be?

also, colsely related to this, i observed that the binned mz values from .GetMeanSpectrum are somewhat shifted from the original processed data. I think this is also related to the binsize, since the algorithm seems to anticipate to large bins for my data and the background peaks disturb the weighted average of the mean spectrum.
to illustrate this, i also plottet the raw data of a small set of points over the averaged spectrum from this set (see below)
Averaging_around_basePEak

tl,dr: Is there a way to send a binsize or a number of bins to the underlying averaging function when XAxisDepth() is called?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.