This function tracks precipitation objects using distance-matching and overlapping approaches to obtain tracks or precipitation systems. The virtual position of each object at the consecutive time step is estimated using displacement vectors obtained by Particle Image Velocimetry (PIV). The algorithm considers merging and splitting the objects. Resultant tracks are stored in HDF5 files.
Usage
tracking_algorithm(
sys.file,
window_size = c(64, 32, 16, 16),
max_speed = 27,
search.radius = 4,
overlap.percentage = 0.1,
output.path = "."
)
Arguments
- sys.file
netCDF file produced by split_netCDF_files
- window_size
vector containing the size of the interrogation windows of PIV, for example, c(128, 64, 32, 16).
- max_speed
default: 27 m/s (i.e., ~ 100 km/h).
- search.radius
the maximum distance within the algorithm search for objects.
- overlap.percentage
the overlap ratio between two objects in consequent time steps.
- output.path
path to save the HDF5 file. The file name will be similar to that of the sys.file, but with different extensions.
Details
The function receives the precipitation file in netCDF format, prepared by
split_netCDF_files and then tracks precipitation objects using
distance-matching and overlapping approaches.
In split_netCDF_files
, preliminary object delineation is performed,
in which pixels lower than a given threshold in the convoluted space are set to
zero. Consequently, only pixels larger than the zero
are connected using 4-adjacency connected neighbourhood labelling
(top, bottom, right, and left).
Tracking is performed by projecting the object centre using the displacement vectors
obtained from PIV (see PIV_multipass
).If the speed from the PIV exceeds the
maximum speed thresholds, it is scaled to the threshold while perceiving the
directional information.
The algorithm connects object A at t1 and object B at t2 if B is located within the search radius (default is 4 pixels) and has the minimum distance to the projected location of object A. Objects are also connected if the overlap percentage between objects A and B exceed user-defined threshold.