ScannerOptions constructor

const ScannerOptions({
  1. ScanStrategy scanStrategy = ScanStrategy.continuous,
  2. ScanWindow? scanWindow = ScanWindow.centerReticle,
  3. int frameThrottleMs = 50,
  4. int targetFrameRate = 20,
  5. bool enableAdaptiveFps = true,
  6. bool enableAdaptiveFrameSkipping = true,
  7. bool enablePauseOnStaticFrame = true,
  8. bool enableProgressiveResolution = true,
  9. Duration duplicateTimeout = const Duration(milliseconds: 2000),
  10. bool enableDuplicateFilter = true,
  11. bool enableDetectionCache = true,
  12. Duration detectionCacheTimeout = const Duration(milliseconds: 2000),
  13. int frameQueueCapacity = 3,
  14. bool enableIsolateProcessing = true,
  15. bool enableImageEnhancement = true,
  16. bool enableBlurDetection = true,
  17. bool enableAutoBrightnessCheck = true,
  18. bool autoTorchInLowLight = false,
  19. double lowLightThreshold = 0.25,
  20. bool enableAutoZoom = true,
  21. bool autoResetZoomAfterScan = true,
  22. double autoZoomThreshold = 0.15,
  23. bool continuousAutofocus = true,
  24. bool enableMultiCodeDetection = true,
  25. int maxMultiCodeCount = 10,
  26. bool enableScanHistory = true,
  27. int maxHistorySize = 50,
  28. int? maxBatchCount,
  29. double minConfidence = 0.70,
  30. Rect? rectScanArea,
  31. List<String>? allowedFormats,
  32. bool enableSound = true,
  33. bool enableVibration = true,
  34. double torchLevel = 1.0,
  35. bool isFocusLocked = false,
  36. bool enableAutoCapture = true,
  37. double autoCaptureQualityThreshold = 0.85,
  38. int autoCaptureSteadyFrames = 3,
  39. bool enableMultiFrameConsensus = true,
  40. int consensusFrameCount = 3,
  41. double consensusAccuracyThreshold = 0.98,
  42. bool enableAdaptiveRoi = true,
  43. bool enableEncryptedStorage = false,
  44. String? encryptionPassword,
  45. bool enableCloudSync = false,
  46. String? cloudSyncEndpoint,
  47. bool enableWatermark = false,
  48. String? watermarkText,
  49. double imageCompressionQuality = 0.85,
  50. String exportFormat = 'pdf',
  51. int isolatePoolSize = 2,
  52. int frameQueueDepth = 3,
  53. bool enableMultiPassOcr = true,
  54. int multiPassOcrCount = 3,
  55. bool enableBarcodeFallbackDecoder = true,
  56. int barcodeFallbackTimeoutMs = 200,
  57. bool enableGlareDetection = true,
  58. double glareThreshold = 0.05,
  59. bool enableCoverageCheck = true,
  60. double coverageMinRatio = 0.15,
  61. bool enableAdaptivePreprocessing = true,
  62. bool enableTenengradBlur = true,
})

Constructs a ScannerOptions instance.

Implementation

const ScannerOptions({
  this.scanStrategy = ScanStrategy.continuous,
  this.scanWindow = ScanWindow.centerReticle,
  this.frameThrottleMs = 50,
  this.targetFrameRate = 20,
  this.enableAdaptiveFps = true,
  this.enableAdaptiveFrameSkipping = true,
  this.enablePauseOnStaticFrame = true,
  this.enableProgressiveResolution = true,
  this.duplicateTimeout = const Duration(milliseconds: 2000),
  this.enableDuplicateFilter = true,
  this.enableDetectionCache = true,
  this.detectionCacheTimeout = const Duration(milliseconds: 2000),
  this.frameQueueCapacity = 3,
  this.enableIsolateProcessing = true,
  this.enableImageEnhancement = true,
  this.enableBlurDetection = true,
  this.enableAutoBrightnessCheck = true,
  this.autoTorchInLowLight = false,
  this.lowLightThreshold = 0.25,
  this.enableAutoZoom = true,
  this.autoResetZoomAfterScan = true,
  this.autoZoomThreshold = 0.15,
  this.continuousAutofocus = true,
  this.enableMultiCodeDetection = true,
  this.maxMultiCodeCount = 10,
  this.enableScanHistory = true,
  this.maxHistorySize = 50,
  this.maxBatchCount,
  this.minConfidence = 0.70,
  this.rectScanArea,
  this.allowedFormats,
  this.enableSound = true,
  this.enableVibration = true,
  this.torchLevel = 1.0,
  this.isFocusLocked = false,
  this.enableAutoCapture = true,
  this.autoCaptureQualityThreshold = 0.85,
  this.autoCaptureSteadyFrames = 3,
  this.enableMultiFrameConsensus = true,
  this.consensusFrameCount = 3,
  this.consensusAccuracyThreshold = 0.98,
  this.enableAdaptiveRoi = true,
  this.enableEncryptedStorage = false,
  this.encryptionPassword,
  this.enableCloudSync = false,
  this.cloudSyncEndpoint,
  this.enableWatermark = false,
  this.watermarkText,
  this.imageCompressionQuality = 0.85,
  this.exportFormat = 'pdf',
  // v3.0 options
  this.isolatePoolSize = 2,
  this.frameQueueDepth = 3,
  this.enableMultiPassOcr = true,
  this.multiPassOcrCount = 3,
  this.enableBarcodeFallbackDecoder = true,
  this.barcodeFallbackTimeoutMs = 200,
  this.enableGlareDetection = true,
  this.glareThreshold = 0.05,
  this.enableCoverageCheck = true,
  this.coverageMinRatio = 0.15,
  this.enableAdaptivePreprocessing = true,
  this.enableTenengradBlur = true,
});