1. 15 Nov, 2007 5 commits
    • Daniel Drake's avatar
      v0.0.1 release · 6866ea62
      Daniel Drake authored
    • Daniel Drake's avatar
      Add AES2501 driver · 2ad14c02
      Daniel Drake authored
      This driver works quite nicely. Seems a little too sensitive though (too
      much black in the standardized image, not enough ridge gap definition).
      Processing results are quite good, but you need a good enrollment image
      (i.e. long!). It's best to get such images by pressing harder than you
      might think necessary and swiping slowly.
    • Daniel Drake's avatar
      Return images through enroll/verify path · 5485f803
      Daniel Drake authored
      Added new API functions to obtain images, even when scans are bad, perhaps
      a useful way to show the user just how good/bad the scan actually was.
      Drivers and examples updated accordingly.
    • Daniel Drake's avatar
      Clean up on exit, and convert to singly-linked-lists · a86cd519
      Daniel Drake authored
      This adds fp_exit() to the public API, intended to be called while the
      driving app is shutting down.
    • Daniel Drake's avatar
      upekts relicensing · a76f55db
      Daniel Drake authored
      Pavel Machek and Timo Hoenig agreed to relicense their work. Thanks guys,
      I look forward to working together.
  2. 12 Nov, 2007 5 commits
    • Daniel Drake's avatar
      Allow drivers to specify custom bz3 match threshold · 71e4bb39
      Daniel Drake authored
      aes4000 detects fewer minutiae and hence returns lower scores.
    • Daniel Drake's avatar
      Custom image resizing · e3451158
      Daniel Drake authored
      mindtct appears to completely ignore the pixels-per-mm input parameter
      (ippmm). When processing AES4000 images, the binarized image is
      completely mangled and a lot of ridge information is lost.
      Resizing the AES4000's small images results in a huge imaging performance
      We use imagemagick for the resizing, as it's resizing code resamples the
      image too (smoothing it out), which further improves performance.
    • Daniel Drake's avatar
      aes4000: image quality improvements · a73cbc10
      Daniel Drake authored
      The windows driver takes one sample at the previous register settings
      and then changes some registers before resamping (and getting much better
      images). The exact changes that it makes seem to vary, perhaps based on
      the histogram.
      Anyway, this is an approximation of the settings used for the 2nd sample
      which should help matching results.
    • Daniel Drake's avatar
      Support images with variable dimensions · b9238e8b
      Daniel Drake authored
      For example, AES2501 returns images that vary in height.
    • Daniel Drake's avatar
      Doc update · e1a25eeb
      Daniel Drake authored
  3. 04 Nov, 2007 5 commits
    • Daniel Drake's avatar
      uru4000: add Digital Persona U.are.U 4000 support · 8e7afef7
      Daniel Drake authored
      My UareU4000 device isn't working properly -- only seeing an all-white
      image and no finger-on detection, however I think this code should work
      for working devices.
    • Daniel Drake's avatar
      Fix img_capture_continuous build · f498fcd1
      Daniel Drake authored
      Also enable it in the default development build
    • Daniel Drake's avatar
      uru4000: retry scanner powerup 3 times · f733ddcc
      Daniel Drake authored
      When we include the await_finger_off procedure (i.e. set mode 12), the
      current power-up code is unreliable - no 56aa interrupt arrives sometimes.
      Comparing the F0 data and hwstat at this point between a working and a
      non-working run yields no differences.
      Work around this issue by retrying power-on 3 times.
    • Daniel Drake's avatar
      uru4000: handle images without headers · cbe1111e
      Daniel Drake authored
      While testing the new code on my MS keyboard, I found some strange
      conditions where occasionally, the device will stop providing images
      headers until it is replugged.
      Detect and work around this when it happens.
    • Daniel Drake's avatar
      API documentation · 2e6c3b94
      Daniel Drake authored
  4. 02 Nov, 2007 1 commit
  5. 31 Oct, 2007 4 commits
    • Daniel Drake's avatar
      uru4000: interrupt handling fixes · fc77786e
      Daniel Drake authored
      This should improve driver stability somewhat. Powerup problems seem to
      happen when we receive 3 unrelated interrupts while waiting for the
      power-on interrupt, so let's assume that the device can only buffer 3
      interrupts, and when the buffer is full, it discards new ones.
      When we detect a possible buffer overflow, ask the caller to retry the
      Also, saw the interrupt of death a few times, so add in a warning when
      this happens. Haven't seen it since handling interrupt overflows though.
    • Daniel Drake's avatar
      upekts: initialise and deinitialise device during verify/capture · 07a81b07
      Daniel Drake authored
      Otherwise it heats up, and verify retries fail because we didn't end the
    • Daniel Drake's avatar
      Build system tweaks · fc0a97a8
      Daniel Drake authored
      Install fprint.h header
      Include headers in distribution
      distcheck fixes
      Include and install pkgconfig file
    • Daniel Drake's avatar
      Print discovery · 447b1f01
      Daniel Drake authored
      Add concept of "discovered prints" and flesh out the API. A discovered print
      was found based on file name but has not been checked for file integrity,
      and of course there is no guarantee that it is usable when you try to
      use it later (might have been deleted, etc).
      The .fprint directory structure was changed - instead of using mnemonics
      like "rind" we use their numeric value in the fp_finger enum as the filename.
  6. 30 Oct, 2007 3 commits
  7. 29 Oct, 2007 1 commit
  8. 28 Oct, 2007 3 commits
    • Daniel Drake's avatar
      Improve print_data structure and on-disk format · 294f9ad4
      Daniel Drake authored
      Drivers now have an ID number. These will be assigned by me and documented
      on the wiki. 0 cannot be used.
      Drivers now define a devtype for each device they initialise. This is to
      cope with the situation where a driver can support varying devices where
      their print data is incompatible (i.e. image scaling is totally changed).
      This doesn't apply to any existing supported devices.
      Print data no longer includes driver name, and includes driver ID instead.
      Paths to saved print data now include driver ID and devtype, and no longer
      include driver name.
      APIs exposed for converting a print_data into a blob which can then
      be loaded back again later. Useful for systems who don't want to use
      my simple storage system (which is only aimed at a single user).
      File format is now defined and will be documented on the wiki. The header
      is larger as we can no longer rely on directory paths in all scenarios.
      Print data compat check now checks devtype and driver ID.
    • Daniel Drake's avatar
      NBIS cleanup · 4e5cfdf9
      Daniel Drake authored
      Part 1 of many. Remove some unused/pointless code, and made some code
    • Daniel Drake's avatar
      Add bozorth3 from NBIS; implement verify for image devices · 6b8d17ef
      Daniel Drake authored
      uru4000 works splendiferously (YAY!)
      aes4000 is going to need some work though :(
  9. 27 Oct, 2007 7 commits
  10. 26 Oct, 2007 3 commits
  11. 25 Oct, 2007 2 commits
  12. 23 Oct, 2007 1 commit
    • Daniel Drake's avatar
      Basic image driver foundations · 2709c6dc
      Daniel Drake authored
      The basic model is that image drivers declare a fp_img_driver structure
      rather than a fp_driver struct. fp_img_driver will contain primitive imaging
      operations such as 'scan finger and return image'. The imgdev layer will
      generically implement the primitive fp_driver operations, and the imgdev
      layer will fix up the enroll/verify/etc pointers at driver registration
      Removed const from all fp_driver declarations, as these are now modified
      dynamically in the case of imaging drivers.