Tune capture quality
Quality is gated on the device (vendor SDK) and on the server (Slade ID service). You tune the device side through FingerprintReaderCaptureConfig, passed when you open a session.
val session = sdk.createFingerprintReaderSession(
reader.id,
FingerprintReaderCaptureConfig(
captureTimeoutSeconds = 45, // wait longer for a good frame
dpi = 500, // optional — only if you know your sensor (else omit)
),
)captureTimeoutSeconds (default 30)
How long the vendor capture call blocks polling for a frame that clears its internal quality bar before failing with a CaptureError.
- Raise it for difficult fingers (dry, worn) or high-throughput operators who need more time to place well.
- Lower it for a snappier “bad capture, try again” loop where you’d rather reprompt quickly.
Must be > 0.
dpi (default null)
The scanner resolution sent with enroll/verify/search so the Slade ID service tunes its matching thresholds. Most single-finger USB fingerprint scanners are 500 DPI (the FBI/ISO standard).
[!TIP] If you don’t know your sensor’s DPI, leave it
null— the server applies a safe default. Only setdpiwhen you can confirm the value from the device datasheet; a wrong value hurts matching more than omitting it.
| Reader | Typical DPI |
|---|---|
| SecuGen (FDx SDK Pro, U20) | 500 |
| Suprema BioMini | 500 |
| EADAK / Aratek TrustFinger | 500 |
Must be in 1..4000 when set.
Server-side quality
The Slade ID service scores every submitted image. You don’t configure that from the SDK; it’s driven by the modality and the dpi you send. If enroll/verify frequently reports quality problems, first confirm the reader is clean and the finger is placed flat, then consider raising captureTimeoutSeconds.