FingerPy is a algorithm using python, scipy and fft to measure, analyse and monitor heart-beat using only a video of the user’s finger on a mobile cellphone camera.


On the repository directory:
pip3 install -r requirements.txt


  1. Record a video pressing your finger against the camera
  2. Copy video to /samples
  3. python3 samples/your_video.mp4|avi|MOV


Video on /samples

python3 samples/test_finger.avi


(1) Number of Beats per minute  |  (2) Heart-rate variability in milliseconds  | (3) Signal-to-noise ratio in decibels

  • Upper plot show the intensity of brightness (y) over time (x)
  • Lower plot show the spectrum density of the signal that is Potency (y) over frequency bucket (x)


This is just an example GIF as the video should be. Notice the minimal variations in brightness that might be read by the algorithm.