MS::Reader::ImzML - A simple but complete imzML parser


    use MS::Reader::ImzML;

    my $run = MS::Reader::ImzML->new('run.imzML');

    while (my $spectrum = $run->next_spectrum) {

        # see MS::Reader::ImzML::Spectrum, MS::Reader::MzML::Spectrum and
        # MS::Spectrum for all available methods


    $spectrum = $run->fetch_spectrum(0);  # first spectrum
    $spectrum = $run->find_by_time(1500); # in seconds


MS::Reader::ImzML is a parser for the standard imzML format for raw imaging mass spectrometry data. It aims to provide complete access to the data contents while not being overburdened by detailed class infrastructure.

MS::Reader::ImzML provides a fairly thin layer on top of MS::Reader::MzML, from which it inherits, in order to handle reading of binary data from separate files (and associated file checks, etc) as well as returning MS::Reader::ImzML::Spectrum objects which add several imaging MS-specific methods.


MS::Reader::ImzML is a subclass of MS::Reader::MzML and does not add any additional methods. Please see the documentation for that class for documentation of available methods.


The API is in alpha stage and is not guaranteed to be stable.

Please reports bugs or feature requests through the issue tracker at



Jeremy Volkening <>


Copyright 2015-2016 Jeremy Volkening

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <>.