A
system for detecting one or more target materials in an un-calibrated multi-
spectral data cube comprising a collection of pixels, the
system comprising a
processing circuitry configured to: obtain: (A) a
machine learning model capable of receiving the un-calibrated multi-
spectral data cube and determining for at least one pixel of the pixels at least one material indicator, indicative of existence of a given target material of the target materials at the location of the pixel, wherein the
machine learning model is trained utilizing a labeled training-
data set comprising of a plurality of training records, each training
record comprising: (i) a training un-calibrated multi-
spectral data cube, and (ii) at least one
training material indicator associated with at least one pixel of the training un-calibrated multi-spectral data cube, indicative of existence of the target material at the location of the pixel, and (B) the un-calibrated multi-spectral data cube; and determine for at least one pixel of the pixels of the un-calibrated multi-spectral data cube, at least one material indicator, and a corresponding calibrated multi-spectral data cube, wherein the corresponding calibrated multi-spectral data cube is calculated by utilizing a calibration process and an atmospheric simulator that simulates a plurality of simulated un-calibrated multi-spectral data cubes by
simulation of different atmospheric conditions over the calibrated multi-spectral cube.