InputOutput

JuChrom.InputOutput.buildxicFunction
JuChrom.InputOutput.buildxic(pointcounts::AbstractVector{<:Integer}, 
ionvec::AbstractVector{<:Real}, intsvec::AbstractVector{<:Real})

Return a sorted list of ions and an intensity matrix with the number of columns equal to the number of ions in the sorted list and the number of rows equal to the number of scans. This is based on a vector that stores the number of ion-intensity pairs per scan (pointcounts), a vector of continuously recorded ions throughout the run (ionvec), and a vector of intensity values associated with those ions (intsvec).

Examples

julia> pointcounts = [2, 3, 2];

julia> ionvec = [85.1, 100.2, 85.2, 99.9, 112.1, 84.9, 100.6];

julia> intsvec = Int64[12, 234, 23, 324, 45422, 21, 523];

julia> mzs, xic = JuChrom.InputOutput.buildxic(pointcounts, ionvec, intsvec);

julia> mzs
7-element Vector{Float64}:
  84.9
  85.1
  85.2
  99.9
 100.2
 100.6
 112.1

julia> xic
3×7 Matrix{Int64}:
  0  12   0    0  234    0      0
  0   0  23  324    0    0  45422
 21   0   0    0    0  523      0
source