If you have poor fingerprint quality during both registration and identification, here are a few tips to reduce identification error rates:
Check fingerprint quality during registration. Use IEngine_GetFingerprintQuality in C++ or Fingerprint.Quality in .NET. Fingerprint quality rating above 40 is good enough for most purposes. If fingerprint scanned during registration has quality below 40, scan it again.
Scan multiple (ideally three) views of the same finger during registration. Match every view against all other views of the same finger. If any two don't match, repeat registration. It is also possible to somewhat reduce error rate by registering multiple fingers (each with three views). Users can then identify using any one of the registered fingers.
Default matching score threshold was selected to provide reasonable balance between false positives and false negatives. You can shift the threshold to favor low rate of either false positives or false negatives.
Reduce identification speed on smaller databases. This will provide some accuracy boost on databases with fingerprints of poor quality. Newer versions of IDKit SDK switch to slower matching on small databases automatically if you leave identification speed setting on default.