SourceAFIS in compact framework (windows mobile 6.5)

  • hadi mulyana

    hadi mulyana - 2014-02-20

    Hello Sir, I just want to ask you, is it possible to run Source AFIS in compact framework 3.5? I'm working with windows mobile 6.5 and find this AFIS, and I think this isthe best solution for fingerprint matching...but there's no answer for my question..or Can I get some source code sample?...Thanks for your reply.

  • Robert Važan

    Robert Važan - 2014-02-20

    There used to be a port to .NET CF 4. Perhaps it wouldn't be hard to backport it to .NET CF 3.5. Download tag 1.6 here:
    Then open SourceAFIS.Mobile.sln. Switch to .NET CF 3.5 and see how far you can get.

    • x2nie Luthifllah

      Hi Robert,
      I did it. Now I have the SourceAFIS.Mobile.sln running well inside CF 3.5 based on v1.6

      I also have another SourceAFIS (from v1.1) running well in WindowsMobile.
      plus v1.7 desktop only.

      My comparation:
      v1.6 is close accurate to v1.7
      v1.6 is similar to v1.1 in the speed. In desktop, all are very fast.
      * in WindowsMobile, I have same problem of both v1.1 and v1.6 that is speed is very slow.
      I attached the screenshot of my benchmark.

      Any suggestion will be very welcome.

      • Robert Važan

        Robert Važan - 2014-06-26

        45 seconds to perform template extraction isn't satisfactory at all. SourceAFIS wasn't designed for embedded apps though. I can see several issues:

        • slower pipeline on the embedded CPU, thus lower per clock performance
        • lower clock speed and single core rather than 2/4-core desktop
        • floating point math might be emulated on embedded CPU, SourceAFIS does a lot of it
        • the big images likely exceed cache on embedded CPU while they still fit in cache on PC
        • .NET compiler might be lacking some optimizations on the mobile device

        I think some issues are solvable with extractor redesign. It is possible to get rid of floating-point math and to improve temporal locality in order to fit in smaller cache. Algo parameters can be tuned to sacrifice some accuracy for better speed. And I could also swap the expensive orientation algorithm for much simpler gradient algorithm.

        In any case, it's a lot of work. I might be able to do it as a contractor. Let me know if you are interested.

        • x2nie Luthifllah

          hmm.. i'll tell my boss on your offer.

          How much do you think you'll charge for improving this?
          For how long will it take?
          How fast do you think it can perform after adjustment?
          You can email this directly to

          Btw, fyi we have tried the above simulations both on Windows Mobile 6.5 dtk emulator and on the high-end handheld from motorola (MC75A) with fingerprint addons. And both shows similar performance.

  • hadi mulyana

    hadi mulyana - 2014-02-27

    Hello sir, Thanks for the downloaded link, and sorry for belated response :). I've tried to backport to .NET CF 3.5 with my windows mobile 6.5 visual studio 2008, anyway... so far is so good. But I have one question. I used SQLite as my database to save the fingerprint data. I'm able to save it to the database, but I'm unable to match the fingerprint with AFIS after I enrolled 1 probe. Can you help me please?...Thanks for your reply. hadi.

  • Robert Važan

    Robert Važan - 2014-02-27

    Please post a snippet of code that demonstrates the problem. Also please describe what you expected and what you got.

  • hadi mulyana

    hadi mulyana - 2014-02-27

    Sorry Sir, before I submit my snippet code, I always wondering about this question: Is it possible to save the extracted minutiae fingerprint to SQLite database and retrieve it again for matching fingerprint? (I'm sorry for the question, but I don't think this is a stupid question :)...)

  • hadi mulyana

    hadi mulyana - 2014-05-01

    Dear Sir Robert, it's been a long time not to contact, anyway, thanks for the link that you submit. So far, I am able to save the extracted minutea fingerprint to SQLite database (in BLOB_TEXT data type) with the field name fptemplate. But I'm unable to retrieve the fptemplate (or just say, to deserialize) for matching fingerprint, and I got the problem with the threading. I hope that you can answer my question and thanks for your time..

  • Robert Važan

    Robert Važan - 2014-05-01

    I cannot answer your question unless you ask it in a form that I can understand. What threads? What's the problem with deserialization?


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks