IMA data manipulation

General description of IMA

IMA is an abbreviation of “Ion Mass Analyser”. Specification that are useful for data analysis are summarized as follows (Barabash et al. 2006; 2007)



Field of view

90 (polar angle) x 360 (azimuth angle)

Angular resolution

5.6 (polar) x 22.5 (azimuth)

Energy range

10 eV – 36 keV (programmable)

Energy resolution


Time resolution

192s (for 3D spectra)

Time resolution

12s (for 2D spectra)

Mass resolution

M/q = 1, 2, 4, 8, 16, 32, >40


Most of the ASPERA literature referred to “elevation” angle, not “polar” angle. In irfpy, we use “polar” angle because for the abbreviation to be a single alphabet, P. The alphabet E is referred to the energy.

irfpy concept for IMA data manupulation


IMA data is not straightforward, (not only it is time series of 4-dimensinal data, but also many operational issues such as too many operation modes, many processing levels, different operations, similar but not fully compatible operations and processing for MEX and VEX, and so on.

Therefore, it is strongly recommended to contact to the PI team of ASPERA ( before starting your detailed data analysis, to form collaborations.

The recommendation also applies for data analysis without using irfpy.aspera.

IMA data structure is organized as follows.

1. At a certain time (with 125 ms resolution), a specific energy and a specific polar angle is measured. The measurement is counts as a function of mass and azimuth angle. In most of the cases, the mass has 32 bins, and azimuth has 16 bins.

2. Every 125 ms, the energy to be measured is changed to the next step (energy sweep). There are 96 steps for 1 sweep (in most of the cases). The whole energy sweep takes 12 sec. Users can treat the measured data as a matrix of counts, with bins of mass (32 bins), azimuth (16 bins), and energy (96 bins), every 12 sec. In irfpy.aspera, this binning is called as “2D data”.

3. Every 12s, the entrance system voltage is changed. It means that every 12s, the entrance angle changes, correspondingly, the polar angle of the incoming ions is changed. There are 16 steps for polar angles (corresponding to 192s). Users can treat the measurement as a matrix of mass (32 bins), azimuth (16 bins), energy (96 bins), and polar angle (16 bins). The matrix is produced every 192s. In irfpy.aspera, this binning is called as “3D data”.

For each dataset is implemented in a different way in irfpy.aspera.


Data at specific time

Data as time series

3D (Az, En, Po; Ma)



2D (Az, En; Ma)



1D (Az; Ma)



  • Note that all the above classes is under irfpy.imacommon.imascipac module.

There are several “exceptions” due to the operations, for example,

Changed bin data

IMA has a functionality to rebin the matrix on command.

As seen above, every 192s, the IMA produces a matrix with a size of (M32, A16, E96, P16). However, by some reasons (mainly to save telemetry) we rebin the matrix, for example to (M32, A16, E96, P8). In this example, count in the two neighboring polar angles are summed over.

No elevation scan data

In some occasions, we operated without sweeping the polar angle. With this mode, IMA provides always 2D data at a specific polar angle, but with 12s time resolution.

Fast 24s data

With changing the logics of operation, we also have a data with 24 sec time resolution for 3D data.