Vasily Khoruzhick
fd2875aa3e
examples: add img-capture example
...
This one can be useful in scripts, e.g. for building fingerprint
dataset.
2020-06-13 09:20:28 -07:00
Vasily Khoruzhick and Benjamin Berg
d276c3489e
upeksonly: Fix register write value
...
The value was set after the transfer was submitting, causing the value
to always be zero.
2020-06-05 17:44:36 +02:00
Vasily Khoruzhick
4cf5f92a52
lib: re-add partial image flag
...
And activate perimeter points removal if this flag is set
This flag should be set for aes1610, aesx660, aes2501, aes2550
and upektc_img since these sensors may produce incomplete image.
Fixes : #142
2020-06-04 09:34:31 -07:00
Vasily Khoruzhick
297236b51a
nbis: re-add step to remove perimeter points
...
This step helps to drop false minutiae for short sensors and
it was accidentally dropped during NBIS update. Re-add this step
and add a patch to update script to ensure that it's not dropped
during next update.
Fixes: 9fb789dc78 ("nbis: Update to NBIS 5.0.0")
2020-06-03 20:44:41 -07:00
Vasily Khoruzhick and Bastien Nocera
2088a6177f
lib: Document assembling functions
2018-12-03 16:06:53 +01:00
Vasily Khoruzhick and Bastien Nocera
c9733d27df
lib: Add API docs for fpi_img comparison functions
2018-12-03 14:22:12 +01:00
Vasily Khoruzhick
4d7afd9b4f
uru4k: increase threshold to detect encryption
...
Otherwise we get false positives on devices without encryption
2017-12-03 13:10:13 -08:00
Vasily Khoruzhick
d82847a6b4
0.7.0
2017-05-14 09:26:30 -07:00
Vasily Khoruzhick
5a7e6e07ff
etes603: fix compilation error caused by a0bbbd7d3
2016-11-07 08:10:44 -08:00
Vasily Khoruzhick
2162aa9f48
uru4k: decrypt image if necessary
...
Add naive detection of image encryption: if stddev between two
adjacent rows is higher than threshold assume that image is encrypted
and decrypt it.
Fixes fd.o bug 88945
2016-11-05 20:58:18 -07:00
Vasily Khoruzhick
a1f36c71c9
upeksonly: decrease bz3_threshold for 147e:1001
...
Its width is only 216 pixels, and it appears not to be enough for matching at
default threshold.
2016-11-05 20:58:18 -07:00
Vasily Khoruzhick
e4eedef27e
upeksonly: use fpi_std_sq_dev() and fpi_mean_sq_diff_norm()
...
Use fpi_mean_sq_diff_norm() for blank line detection and
fpi_mean_sq_diff_norm() for duplicate line detection.
Fixes finger presence and removal detection.
2016-11-05 20:58:18 -07:00
Vasily Khoruzhick
5e29695969
lib: move some functions from vfs5011.c into img.c
2016-11-05 20:58:18 -07:00
Vasily Khoruzhick
d71018bd8f
vfs5011: add USB IDs of device found in some Toshiba laptops
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
61fa57b05d
aes1610: decrease bz3_threshold to 20
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
ffef6c2bcc
vfs5011: add proper dev_deactivate() support
...
Driver is not able to cancel imaging process without this change
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
67d29f7936
aes1610: improve gain settings
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
9437c98d54
lib: frame assembling: flip image for non-reverse direction
...
It was here for aes2501 and aes1610 before moving assembling routines
into common code.
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
f7d00a828d
lib: use normalized error to make decision about movement direction
...
Height is not a good determinant in movement direction, normalized
error is much better. Should fix aes1610 and aes2501 driver issues.
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
0f0a4b2da6
aes2660: set partial flag on an image
...
Set partial flag to remove false minutiae at the perimeter of a scan
2015-12-16 13:24:39 -08:00
Vasily Khoruzhick
c9cdbaf880
aes2550: set partial flag on an image
...
Set partial flag to remove false minutiae at the perimeter of a scan
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
83f29dad9f
aes2501: set partial flag on an image
...
Set partial flag to remove false minutiae at the perimeter of a scan
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
c2a11c5918
aes1610: set partial flag on an image
...
Set partial flag to remove false minutiae at the perimeter of a scan
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
3746b2ad5c
upeksonly: use line assembling routines to account variable swiping speed
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
b51fa446e3
lib: move line assembling routines out of vfs5011 into common code
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
6fc5293e83
upeksonly: add support for 147e:1001 device
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
aab3daa28b
upeksonly: move regwrite sequences into a header
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
e40f7bd1f7
lib: move frame assembling routines into a separate file and make them usable by non-aes drivers
...
Frame assembling routines are not aes-specific, so move them into a separate file
and add an accessor for peeking a pixel.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
6664f87d8f
aes1610: fix memory corruption introduced by a457658f1b
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
6e8d5cd6a1
vfs5011: do duplicate line search for 30 lines
...
It seems that on faster devices, the driver can get more duplicate lines.
Without this change scan looks too stretched.
Suggested by: Thomas Rinsma <thomasrinsma@gmail.com >
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
9f7e1ecf40
vfs5011: make '5 scans per enroll' work with this driver
...
Restart scan if core did not ask to terminate it explicitly.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
d9567002e4
imgdev: reset action_result after reporting it
...
Otherwise we end up in reporting the same result on next iteration.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
a656a4a9f3
upektc_img: Handle scan status reported by sensor properly
...
Sensor can report "short scan" or "finger not centered" instead of image,
so it's necessary to handle them gracefully.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
2944a35e74
imgdev: Add fpi_imgdev_abort_scan() to abort scan gracefully from within the driver.
...
Smart sensors like Upek TouchChip Coprocessor can provide scan status instead
of image, as result we need to report such status as "short scan" or "finger not centered"
from within the driver, since it's not a session error.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
391373fb0c
upektc_img: Fix copy/paste error
...
Replace upekts_img with upektc_img
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
985e8c4577
aes1660: set partial flag on an image
...
Sensor width seems to be only 128 pixels and that's not enough
for scanning whole finger surface. Lower bz3_threshold to 25,
since for wrong finger score never goes above 10, but sometimes
for right finger score is below 40.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
bd0d4258e4
upektc_img: set partial flag on an image
...
Sensor width seems to be only 128 pixels and that's not enough
for scanning whole finger surface. Lower bz3_threshold to 20,
since for wrong fingerprint score never goes above 10, but sometimes
for right finger score is below 40.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
9bbd9b208a
lib: add partial image flag
...
And activate perimeter points removal if this flag is set.
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
59fe0fb699
nbis: add one more step of false minutia removal
...
Remove minutiae that are located on scan perimeter
2015-12-16 13:24:38 -08:00
Vasily Khoruzhick
a3c90f2b24
upektc_img: handle 0x28 message better
2015-01-31 13:19:24 +03:00
Vasily Khoruzhick
061a457658
aeslib: improve frame-assembling routines
...
Some scanners provide hardware assistance in frame assemling, i.e.
horizontal and vertical offset to previous frame is provided. This
commit improves code to utilise that assistance. Sensors without
hardware assistance will use software algorithm, which was also
improved to do search in horizontal direction.
2015-01-31 13:18:23 +03:00
Vasily Khoruzhick
82ae7c1c09
aesx660: fix spelling of define name
2015-01-31 13:18:23 +03:00
Vasily Khoruzhick
35e356f625
build: add subdir-objects option to make automake happy
...
Without subdir-object automake throws warnings like this one:
Makefile.am❌ warning: source file 'drivers/aes2550.c' is in a subdirectory,
Makefile.am❌ but option 'subdir-objects' is disabled
2013-08-19 11:13:50 +03:00
Vasily Khoruzhick
948ab02d1a
lib: use pixman for imaging utils
...
pixman is very lightweight library for pixel manipulation, and it
has no dependencies except glibc, so using it instead of gdkpixbuf/imagemagick
makes list for libfprint dependencies a bit shorter.
2013-08-19 11:13:50 +03:00
Vasily Khoruzhick
e0966cb20f
vfs101: drop nr_enroll_stages override
...
Imaging drivers aren't allowed to change number of enroll stages anymore,
all that imaging driver does is providing image to the upper layer.
Upper layer decides if it needs more scans.
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
e278e8321c
vfs301: drop nr_enroll_stages override
...
Imaging drivers aren't allowed to change number of enroll stages anymore,
all that imaging driver does is providing image to the upper layer.
Upper layer decides if it needs more scans.
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
e1728e7c25
aes1660: remove unneeded lowering of bz3_threshold
...
Since 5 scans for enroll was introduced it's not necessary to lower
bz3_threshold anymore, there's a good probability that scan to verify matches
with at least one enrolled sample.
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
e215b05094
imgdev: perform 5 scans for enrollment
...
This feature dramatically improves matching rate on devices with small
sensors.
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
fe3fdd1f50
upeke2: disable by default, device is now handled by upektc_img driver
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
5ff45658c0
upektc_img: add support for Upek Eikon 2 devices
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
d12b294783
Add upektc_img driver
...
Imaging driver, handles UPEK 147e:2020 device
2013-08-19 11:13:49 +03:00
Vasily Khoruzhick
2bba4fb073
Implement image capture (both synchronous and asynchronous variants)
...
fp_dev_img_capture() is not implemented and returns -ENOTSUPP for all devices
since migration to asynchronous model. This commit implement missing functionality
2013-08-12 11:18:18 +03:00
Vasily Khoruzhick and Bastien Nocera
0e843ad6b3
build: fix autoreconf warnings
...
Replace AC_LANG_PROGRAM with AC_LANG_SOURCE and INCLUDES with AM_CFLAGS to fix
autoreconf warnings
https://bugs.freedesktop.org/show_bug.cgi?id=62748
2013-06-26 14:13:21 +02:00
Vasily Khoruzhick and Bastien Nocera
7eafca7bab
build: glib-2.28 or newer is a requirement
...
We're using g_slist_free_full which was introduced in glib-2.28
https://bugs.freedesktop.org/show_bug.cgi?id=59790
2013-01-30 17:52:54 +01:00
Vasily Khoruzhick and Bastien Nocera
3b3679c900
upeke2: Add support for 147e:2020 ID
...
https://bugs.freedesktop.org/show_bug.cgi?id=59320
2013-01-13 19:02:52 +01:00
Vasily Khoruzhick and Bastien Nocera
43eca622cd
configure.ac: Use AC_CONFIG_HEADERS
...
AM_CONFIG_HEADER is obsolete, use AC_CONFIG_HEADERS instead of it.
https://bugs.freedesktop.org/show_bug.cgi?id=59320
2013-01-13 19:02:48 +01:00
Vasily Khoruzhick and Bastien Nocera
a7d6b7c30a
nbis: Fix crash in gen_initial_maps()
...
If the image is too small some coordinates can become negative.
Handle this to avoid memory corruption.
https://bugs.freedesktop.org/show_bug.cgi?id=57730
2012-12-03 15:36:25 +01:00
Vasily Khoruzhick and Bastien Nocera
31cf7a9383
build: Add common routines to the dist
...
Fixes dist when aesX660 drivers are disabled from the build.
https://bugs.freedesktop.org/show_bug.cgi?id=57724
2012-12-01 15:04:47 +01:00
Vasily Khoruzhick and Bastien Nocera
f335256cbe
build: Don't build unneeded aesX660 routines
...
When neither of the AES drivers are built, no need to build the common
routines.
https://bugs.freedesktop.org/show_bug.cgi?id=57724
2012-12-01 15:02:59 +01:00
Vasily Khoruzhick and Bastien Nocera
c02cb3083d
AES-drivers: drop redudant type cast in g_slist_free_full call
...
https://bugs.freedesktop.org/show_bug.cgi?id=57688
2012-11-29 15:32:14 +01:00
Vasily Khoruzhick and Bastien Nocera
2084724115
upektc: add support for Eikon Touch 300
...
https://bugs.freedesktop.org/show_bug.cgi?id=45197
2012-11-29 12:35:05 +01:00
Vasily Khoruzhick and Bastien Nocera
59925d2027
Update AUTHORS file
...
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:52 +01:00
Vasily Khoruzhick and Bastien Nocera
118c610e29
lib: add AES2660 driver
...
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:52 +01:00
Vasily Khoruzhick and Bastien Nocera
313bfede77
lib: add AES1660 driver
...
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:52 +01:00
Vasily Khoruzhick and Bastien Nocera
c1da647aed
lib: add AES1660/AES2660 common routines
...
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:52 +01:00
Vasily Khoruzhick and Bastien Nocera
22d204cc68
lib: Split fpi_im_resize factor into width/height
...
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:27 +01:00
Vasily Khoruzhick and Bastien Nocera
bc497f1b26
aeslib: prevent integer overflow
...
AuthenTec devices send 4bpp images, but current code assumes 3bpp for
some reason.
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:27 +01:00
Vasily Khoruzhick and Bastien Nocera
8c5f2e6434
aes: unify image processing code for AuthenTec devices
...
Move overlap detection and assembling code into aeslib to prevent
code duplication
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:59:22 +01:00
Vasily Khoruzhick and Bastien Nocera
5b20892dd4
Thanks to Greg and Martin from AuthenTec
...
https://bugs.freedesktop.org/show_bug.cgi?id=57426
2012-11-29 09:51:55 +01:00
Vasily Khoruzhick and Bastien Nocera
ea6d5ba6d6
lib: Fix mess with driver IDs
...
ID is just a some magic number to make fingerprint from one scanner model
incompatible with another scanner model. Get rid of "magic", declare enum
and use it.
https://bugs.freedesktop.org/show_bug.cgi?id=56956
2012-11-16 17:57:47 +01:00
Vasily Khoruzhick and Bastien Nocera
ed2c75842a
upektc: Port to asynchronous model
...
https://bugs.freedesktop.org/show_bug.cgi?id=56955
2012-11-16 17:56:51 +01:00
Vasily Khoruzhick and Bastien Nocera
b307dd1a6a
aes2550: fix bug introduced by last commit
...
ssm->priv is not aesdev, but fp_img_dev
https://bugs.freedesktop.org/show_bug.cgi?id=56782
2012-11-16 17:46:27 +01:00
Vasily Khoruzhick and Bastien Nocera
39902374ce
aes2550: Harden against low finger pressure
...
Stop scan only after 3rd heartbeat message
https://bugs.freedesktop.org/show_bug.cgi?id=56782
2012-11-06 09:32:07 +01:00
Vasily Khoruzhick and Bastien Nocera
6b84c6664f
AES1610: driver cleanup, part #2
...
Remove dead code
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-06 09:26:17 +01:00
Vasily Khoruzhick and Bastien Nocera
f569d0bf44
AES1610: driver cleanup, part #1
...
Fix warnings reported by gcc
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-06 09:26:17 +01:00
Vasily Khoruzhick and Bastien Nocera
1cfd14b7fe
nbis: fix rest of warnings reported by gcc
...
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-06 09:26:17 +01:00
Vasily Khoruzhick and Bastien Nocera
5d32102efe
nbis: prefix global variables with "g_"
...
It fixes a lot of warnings about shadowing global variable
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-06 09:26:17 +01:00
Vasily Khoruzhick and Bastien Nocera
fecf6d6fe5
aes2501: Update copyright line
...
https://bugs.freedesktop.org/show_bug.cgi?id=56715
2012-11-05 19:51:19 +01:00
Vasily Khoruzhick and Bastien Nocera
e32fa8cc38
aes2501: Improve image contrast
...
When scanning, check the histogram sum, and increase the
ADREFHI register value if the sum is too low, or decrease
it if it's too high.
https://bugs.freedesktop.org/show_bug.cgi?id=56715
2012-11-05 19:49:54 +01:00
Vasily Khoruzhick and Bastien Nocera
d8aae30a67
aes2501: Harden against low finger pressure
...
Wait for 3 empty frames before stopping the scan
The driver used to stop the scan immediately after an empty frame
(by checking for hist sum == 0), but it is possible to get empty
frames in the middle of the scan due to low finger pressure.
Waiting for 3 empty frames stop the driver wrongly aborting the scan
too early.
https://bugs.freedesktop.org/show_bug.cgi?id=56715
2012-11-05 19:47:32 +01:00
Vasily Khoruzhick and Bastien Nocera
84b97ea15b
lib: Fix warning when debug logs are disabled
...
Fix warning in sync.c when debug logs are not enabled
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-05 19:24:55 +01:00
Vasily Khoruzhick and Bastien Nocera
8f98743857
upeksonly: Fix build-time warnings
...
Fix warnings reported by gcc
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-05 19:24:44 +01:00
Vasily Khoruzhick and Bastien Nocera
be29f27e25
upeke2: Fix build-time warnings
...
Fix warnings reported by gcc
https://bugs.freedesktop.org/show_bug.cgi?id=56439
2012-11-05 19:24:23 +01:00
Vasily Khoruzhick and Bastien Nocera
83333bce3f
lib: Add AES2550/AES2810 driver
...
Initial implementation of AES2550/AES2810 driver.
Does not support AES2810 crypto engine and external flash.
https://bugs.freedesktop.org/show_bug.cgi?id=50859
2012-10-11 15:24:14 +02:00
Vasily Khoruzhick and Bastien Nocera
ff02115b0f
lib: Fix global variables collision with libusb
2012-08-14 15:25:44 +01:00
Vasily Khoruzhick and Daniel Drake
aa7c8ae81e
Adapting to latest libusb-1.0 changes
...
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
[dsd: remove config const qualifier and add freeing of config]
2008-05-13 18:17:37 +01:00
Vasily Khoruzhick and Daniel Drake
40e7ac195a
Adapting to latest libusb
...
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
2008-04-06 23:52:04 +01:00
Vasily Khoruzhick and Daniel Drake
647d140834
Fixed fp_identify_finger_img didn't return result of operation
...
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
2008-03-05 21:45:02 +00:00
Vasily Khoruzhick and Daniel Drake
06e8040956
aes2501: Detect reversed scans
...
aes2501 can be mounted 180 degrees rotated (this happens on most part of
laptops), so driver should detect whether sensor is 180degrees rotated
and assemble frames in right order.
2007-11-15 16:21:03 +00:00