These groups are found for each cut in time so now we search in 2D arrays. It is done by breadth-first search algorithm (BFS) that looks around each point, where intensity is high enough, to see if any of its eight neighbours has also intensity above desired level. If a group of points is large enough (60 points) the program stores it and begins searching for another group until all points are processed. There is also a boundary on the maximum points (3000 points) in one group. It was added to compensate for missing frames in some datacubes. Otherwise, the frame after the missing one is detected as a sudden large-scale (too large to be a WLF) brightening, thereby leading to false-positive detection of flare kernels.

For each group found the program counts expected value of both space coordinates and thus finds the centre of it. Then using BFS algorithm the program tries to find out if near the centre of one group is the centre of another group which takes place in the following time moment. If the time interval between the first and the last centre in the found set is long enough (limit is set to 4 