Python scripts demonstrating video-based fluid velocity measurements at the output of "white smokers" (hydrothermal vents).
This set of scripts implements a basic particle tracker for the video-based estimation of white smoker flow velocity. Similarly to Particle Image Velocimetry (PIV), it relies on the apparent displacement of the tiny particles carried away by the flow.
- Scientific Python distribution including numpy, scipy, matplotlib, scikit-image. E.g. Anaconda, Canopy.
- ...
Below is a sample frame from a video record of a white smoker. First, particles moving in the tube are isolated thanks to a background/foreground detection algorithm. This work relies on the "Running Gaussian average", implemented in whitesmoker_preproc.py. Below is the same frame as before, now showing particles only. Then, the displacement of each particle is estimated between two consecutive frames using a classical cross-correlation approach, implemented in whitesmoker_track.py. A quality control process removes the spurious estimates, shown in red in the image below.
The figure below show the displacement magnitude, in pixel, measured over 1266 frames (about 50 s of video). Each dot corresponds to an estimated vector. This proxy to a "displacement field" is consistent with what can be expected:
- the displacements are larger at the center of the tube than near its boundary;
- the displacements are also larger in the upper area than in the lower area. Indeed, the former is closer to the camera. This is a simple demonstrator. For actual measurements, images must be first rectified in order to enable the conversion from estimated displacements to velocity.
Design, implementation and processing by Pierre Dérian. Data from Philippe Rodier, IFREMER.