Fingerprint Study Tool

The fingerprint study tool allows you to capture raw fingerprint samples from study participants in order to analyze the performance of a fingerprint system.

See Typography conventions to understand what (outside), (inside), (in/out), and (device) mean.

Install/Run Fingerprint Study

  1. You can install the fingerprint_study package on a Chromebook in dev mode using cros deploy (Option 1), install manually with Python virtual environments (Options 2), or build+flash a custom ChromeOS image with the fingerprint_study package preinstalled (Options 3).

    On the host, run the following commands:

    • Option 1

      (inside) $ BOARD=hatch
      (inside) $ DUT=dut1
      (inside) $ emerge-$BOARD fingerprint_study
      (inside) $ cros deploy $DUT fingerprint_study
      
    • Option 2

      Follow the FPSTUDY_VENV_INSTALL.md tutorial.

    • Option 3

      (inside) $ BOARD=hatch
      (inside) $ USE=fpstudy ./build_packages --board=$BOARD
      (inside) $ ./build_image --board=$BOARD --noenable_rootfs_verification \
                 base
      (inside) $ cros flash usb:// $BOARD/latest
      

      Insert the USB flash drive into the chromebook boot from USB and then install the image.

  2. Configure FINGER_COUNT, ENROLLMENT_COUNT, and VERIFICATION_COUNT in /etc/init/fingerprint_study.conf with the proper fingerprint study parameters.

  3. Reboot the device.

  4. Navigate to http://127.0.0.1:9000 in a web browser.

  5. Output fingerprint captures are stored by default in /var/lib/fingers. See /etc/init/fingerprint_study.conf.

Test on Host Using Mock ectool

We will use a python virtual environment to ensure proper dependency versions and a mock ectool in mock-bin. Note, the mock ectool will effectively emulate an immediate finger press when the study tool requests a finger press. This does not make use of the FPC python library.

  1. Run the following command:

    (in/out) $ ./host-run.sh
    
  2. Finally, navigate to http://127.0.0.1:9000 in a web browser.

Setup GPG Encryption

The tool supports encryption of the collected samples. See FPSTUDY_ENCRYPTION.md.

VSCode Python Completion

  1. Run python-venv-setup.sh to create the Python virtual environment.
  2. Open the platform2/biod directory in VS Code. You must explicitly open this directory for the biod/pyproject.toml to automatically configure VS Code for Python.