Base Peak Intensity different than higher value in Mass Intensity Map I've been working with mass spectrum data analysis (but my field is computer science). 

I'm using a library that allows me to get the entire Mass Intensity of the MS1 scan (such as [time, intensity]). However, by searching for the highest value for intensity, it is always a few integers lower than the base peak intensity. 

I'm retrieving the information from a mzXML file, and the library that I'm using is ms-data-core-api. The method used to retrieve the intensity map, in case anyone has ever used this library, is this one: public double[][] getMassIntensityMap(). I retrieve the highest peek in the map by iterating the matrix returned and updating a variable with the highest value found in the y axis (given double [x = time][y = mass].

Examples of the difference of data include the following:

scan 1 (MS1): Highest peak in map: 789991.875 / base peak intensity: 793728.0
scan 2 (MS1): Highest peak in map: 714475.5  / base peak intensity: 719125.0
scan 3 (MS1): Highest peak in map: 673152.6875  / base peak intensity: 680567.0


From what I can tell, the instrument used for these scans is a fourier transform ion cyclotron resonance mass spectrometer, using Xcalibur as the  software.

Does this makes sense, and why?
One possibility for the discrepancy is that different peak centroiding / integration algorithms were used at different stages in the data.

For example, the base peak intensity recorded in the plain-text (uncompressed) scan data is probably calculated by the instrument in real-time during acquisition.  The intensities of all detected peaks are also recorded by the instrument, of course, but those intensities may be affected by processes such as centroiding that are not applied to the plain-text recorded base peak intensity.

An exact answer to your question will depend on many factors, such as whether spectra were recorded in profile mode or centroid mode, whether spectra were compressed during conversion to mzXML format, and also details of the (possible) centroiding algorithms and BPC algorithms used by the instrument firmware during data acquistion.  (Good luck trying to find the exact code for vendor firmware...it's probably proprietary.)