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