tree: 492ec036f902f28861115aff56bcf6a7ff5659a2
  1. html/
  2. init/
  3. mock-bin/
  4. parameters/
  5. tmpfiles.d/
  6. fpstudy.py
  7. FPSTUDY_ENCRYPTION.md
  8. FPSTUDY_VENV_INSTALL.md
  9. gen-key-pair.sh
  10. host-run-chroot.sh
  11. host-run.sh
  12. PREPARE_SAMPLES.md
  13. README.md
  14. requirements.txt
  15. rsyslog.fpstudy-audit.conf
  16. shell-audit.sh
  17. study_serve.py
  18. study_serve_test.py
biod/study/collection-tool/README.md

Fingerprint Study Collection Tool

The fingerprint study collection 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 Collection Tool

  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.