Package com.microblink.blinkid.entities.recognizers.blinkid.generic

# Class BlinkIdMultiSideRecognizer

java.lang.Object
com.microblink.blinkid.entities.Entity<T>
com.microblink.blinkid.entities.recognizers.Recognizer<BlinkIdMultiSideRecognizer.Result>
com.microblink.blinkid.entities.recognizers.blinkid.generic.BlinkIdMultiSideRecognizer

All Implemented Interfaces:
  `android.os.Parcelable`, `CombinedRecognizer`, `BarcodeScanningStartedCallbackOptions`, `FaceImageDpiOptions`, `FullDocumentImageDpiOptions`, `SignatureImageDpiOptions`, `EncodeFaceImageOptions`, `EncodeFullDocumentImagesOptions`, `EncodeSignatureImageOptions`, `FullDocumentImageExtensionOptions`, `FaceImageOptions`, `FullDocumentImageOptions`, `SignatureImageOptions`, `ClassifierCallbackOptions`, `JsonizableEntity`

public final class BlinkIdMultiSideRecognizer extends Recognizer<BlinkIdMultiSideRecognizer.Result> implements CombinedRecognizer, FaceImageOptions, FaceImageDpiOptions, EncodeFaceImageOptions, FullDocumentImageOptions, FullDocumentImageDpiOptions, FullDocumentImageExtensionOptions, EncodeFullDocumentImagesOptions, SignatureImageOptions, SignatureImageDpiOptions, EncodeSignatureImageOptions, ClassifierCallbackOptions, BarcodeScanningStartedCallbackOptions
A generic recognizer which can scan front and back side of the document.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static final class`
  `BlinkIdMultiSideRecognizer.Result`
  `static final class`
  `BlinkIdMultiSideRecognizer.VerificationConstants`
  Constants used for building JSON for the verification service, in case when result fields can be edited and/or inserted.

  ## Nested classes/interfaces inherited from interface android.os.Parcelable

  `android.os.Parcelable.ClassLoaderCreator<T extends Object>, android.os.Parcelable.Creator<T extends Object>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final android.os.Parcelable.Creator<BlinkIdMultiSideRecognizer>`
  `CREATOR`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.generic.BarcodeScanningStartedCallbackOptions

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.classifier.ClassifierCallbackOptions

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.CombinedRecognizer

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.imageoptions.encode.EncodeFaceImageOptions

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.imageoptions.encode.EncodeFullDocumentImagesOptions

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.imageoptions.encode.EncodeSignatureImageOptions

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.imageoptions.FaceImageOptions

  `CLASS_NAME`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.imageoptions.FullDocumentImageOptions

  `CLASS_NAME`

  ### Fields inherited from interface android.os.Parcelable

  `CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE`

  ### Fields inherited from interface com.microblink.blinkid.entities.recognizers.blinkid.imageoptions.SignatureImageOptions

  `CLASS_NAME`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BlinkIdMultiSideRecognizer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BlinkIdMultiSideRecognizer`
  `clone()`
  Create a copy of the entity.
  `void`
  `consumeResultFrom(Entity other)`
  Consume result from other entity.
  `protected void`
  `deserializeNativeSettings(byte[] serializedSettings)`
  `ClassAnonymizationSettings[]`
  `getAdditionalAnonymization()`
  Returns additional anonymization settings.
  `AnonymizationMode`
  `getAnonymizationMode()`
  Redact specific fields based on requirements or laws regarding a specific document.
  `StrictnessLevel`
  `getBlurStrictnessLevel()`
  Strictness level for blur detection.
  `CombinedResult`
  `getCombinedResult()`
  Getter for combined result which is associated with this multi-side recognizer.
  `CustomClassRules[]`
  `getCustomClassRules()`
  Get custom class rules.
  `int`
  `getFaceImageDpi()`
  Returns the DPI (Dots Per Inch) for face image that should be returned.
  `int`
  `getFullDocumentImageDpi()`
  Returns the DPI (Dots Per Inch) for full document image that should be returned.
  `ImageExtensionFactors`
  `getFullDocumentImageExtensionFactors()`
  Returns the extension factors for full document image.
  `StrictnessLevel`
  `getGlareStrictnessLevel()`
  Strictness level for glare detection.
  `int`
  `getMaxAllowedMismatchesPerField()`
  Configure the number of characters per field that are allowed to be inconsistent in data match.
  `float`
  `getPaddingEdge()`
  Minimum required distance between the edge of the scanning frame and the document.
  `RecognitionModeFilter`
  `getRecognitionModeFilter()`
  Returns currently set recognition mode filter.
  `int`
  `getSignatureImageDpi()`
  Returns the DPI (Dots Per Inch) for signature image that should be returned.
  `protected void`
  `readFromParcel(android.os.Parcel in)`
  `protected byte[]`
  `serializeNativeSettings()`
  `void`
  `setAdditionalAnonymization(ClassAnonymizationSettings[] additionalAnonymization)`
  Enable or disable recognition of specific document groups supported by the current license.
  `void`
  `setAllowBarcodeScanOnly(boolean allowBarcodeScanOnly)`
  This setting allows barcode recognition to proceed even if the initial extraction fails.
  `void`
  `setAllowUncertainFrontSideScan(boolean allowUncertainFrontSideScan)`
  Proceed to scan the back side of a document even if some of the validity checks have failed while scanning the front side of a document.
  `void`
  `setAllowUnparsedMrzResults(boolean allowUnparsedMrzResults)`
  Allow reading of non-standard MRZ (Machine Readable Zone).
  `void`
  `setAllowUnverifiedMrzResults(boolean allowUnverifiedMrzResults)`
  Allow reading of standard MRZ (Machine Readable Zone) which gets successfully parsed, but check digits are incorrect (do not comply with the ICAO standard).
  `void`
  `setAnonymizationMode(AnonymizationMode anonymizationMode)`
  Redact specific fields based on requirements or laws regarding a specific document.
  `void`
  `setBarcodeScanningStartedCallback(BarcodeScanningStartedCallback barcodeScanningStartedCallback)`
  Sets the `BarcodeScanningStartedCallback` that will be invoked from the recognizer when barcode scanning step starts.
  `void`
  `setBlurStrictnessLevel(StrictnessLevel blurStrictnessLevel)`
  Strictness level for blur detection.
  `void`
  `setClassFilter(ClassFilter classFilter)`
  Sets the `ClassFilter` that can determine whether document should be processed or filtered out.
  `void`
  `setClassifierCallback(ClassifierCallback classifierCallback)`
  Sets the `ClassifierCallback` that will be invoked from the recognizer when document is classified.
  `void`
  `setCombineFrameResults(boolean combineFrameResults)`
  This setting enables the aggregation of data from multiple frames.
  `void`
  `setCustomClassRules(CustomClassRules[] customClassRules)`
  Define custom rules for specific document class.
  `void`
  `setDewarpedImageCallback(DewarpedImageCallback dewarpedImageCallback)`
  Sets the `DewarpedImageCallback` that will receive dewarped document images.
  `void`
  `setEnableBlurFilter(boolean enableBlurFilter)`
  Skip processing of the blurred frames.
  `void`
  `setEnableGlareFilter(boolean enableGlareFilter)`
  Skip processing of the frames with glare.
  `void`
  `setEncodeFaceImage(boolean encodeFaceImage)`
  Sets whether face image from document should be encoded in JPEG format and written into the corresponding recognition result.
  `void`
  `setEncodeFullDocumentImage(boolean encodeFullDocumentImage)`
  Sets whether full document image should be encoded in JPEG format and written into the corresponding recognition result.
  `void`
  `setEncodeSignatureImage(boolean encodeSignatureImage)`
  Sets whether signature image from document should be encoded in JPEG format and written into the corresponding recognition result.
  `void`
  `setFaceImageDpi(int desiredDPI)`
  Sets desired DPI (Dots Per Inch) for face image that should be returned.
  `void`
  `setFullDocumentImageDpi(int desiredDPI)`
  Sets desired DPI (Dots Per Inch) for full document image that should be returned.
  `void`
  `setFullDocumentImageExtensionFactors(ImageExtensionFactors fullDocumentImageExtensionFactors)`
  Sets extension factors for full document image.
  `void`
  `setGlareStrictnessLevel(StrictnessLevel glareStrictnessLevel)`
  Strictness level for glare detection.
  `void`
  `setMaxAllowedMismatchesPerField(int maxAllowedMismatchesPerField)`
  Configure the number of characters per field that are allowed to be inconsistent in data match.
  `void`
  `setPaddingEdge(float paddingEdge)`
  Minimum required distance between the edge of the scanning frame and the document.
  `void`
  `setRecognitionModeFilter(RecognitionModeFilter recognitionModeFilter)`
  Enable or disable recognition of specific document groups supported by the current license.
  `void`
  `setReturnFaceImage(boolean returnFaceImage)`
  Sets whether face image from document should be available in `FaceImageResult`.
  `void`
  `setReturnFullDocumentImage(boolean returnFullDocumentImage)`
  Sets whether full document image should be available in `FullDocumentImageResult`.
  `void`
  `setReturnSignatureImage(boolean returnSignatureImage)`
  Sets whether signature image should be available in `SignatureImageResult`.
  `void`
  `setSaveCameraFrames(boolean saveCameraFrames)`
  Save the raw camera frames at the moment of the data extraction or timeout.
  `void`
  `setScanCroppedDocumentImage(boolean scanCroppedDocumentImage)`
  Process only cropped document images with corrected perspective (frontal images of a document).
  `void`
  `setScanPassportDataPageOnly(boolean scanPassportDataPageOnly)`
  Scan only the data page ( page containing MRZ ) of the passport.
  `void`
  `setSignatureImageDpi(int desiredDPI)`
  Sets desired DPI (Dots Per Inch) for signature image that should be returned.
  `void`
  `setSkipUnsupportedBack(boolean skipUnsupportedBack)`
  Back side of the document will not be scanned if only the front side is supported for a specific document.
  `void`
  `setValidateResultCharacters(boolean validateResultCharacters)`
  Allow only results containing expected characters for a given field.
  `boolean`
  `shouldAllowBarcodeScanOnly()`
  This setting allows barcode recognition to proceed even if the initial extraction fails.
  `boolean`
  `shouldAllowUncertainFrontSideScan()`
  Proceed to scan the back side of a document even if some of the validity checks have failed while scanning the front side of a document.
  `boolean`
  `shouldAllowUnparsedMrzResults()`
  Allow reading of non-standard MRZ (Machine Readable Zone).
  `boolean`
  `shouldAllowUnverifiedMrzResults()`
  Allow reading of standard MRZ (Machine Readable Zone) which gets successfully parsed, but check digits are incorrect (do not comply with the ICAO standard).
  `boolean`
  `shouldCombineFrameResults()`
  This setting enables the aggregation of data from multiple frames.
  `boolean`
  `shouldEnableBlurFilter()`
  Skip processing of the blurred frames.
  `boolean`
  `shouldEnableGlareFilter()`
  Skip processing of the frames with glare.
  `boolean`
  `shouldEncodeFaceImage()`
  Returns whether encoding of face image from document and writing it into the recognition result is enabled.
  `boolean`
  `shouldEncodeFullDocumentImage()`
  Returns whether encoding of full document images and writing them into the recognition result is enabled.
  `boolean`
  `shouldEncodeSignatureImage()`
  Returns whether encoding of signature image and writing it into the recognition result is enabled.
  `boolean`
  `shouldReturnFaceImage()`
  Returns whether face image will be available in `FaceImageResult`.
  `boolean`
  `shouldReturnFullDocumentImage()`
  Returns whether full document image will be available in `FullDocumentImageResult`.
  `boolean`
  `shouldReturnSignatureImage()`
  Returns whether signature image will be available in `SignatureImageResult`.
  `boolean`
  `shouldSaveCameraFrames()`
  Save the raw camera frames at the moment of the data extraction or timeout.
  `boolean`
  `shouldScanCroppedDocumentImage()`
  Process only cropped document images with corrected perspective (frontal images of a document).
  `boolean`
  `shouldScanPassportDataPageOnly()`
  Scan only the data page ( page containing MRZ ) of the passport.
  `boolean`
  `shouldSkipUnsupportedBack()`
  Back side of the document will not be scanned if only the front side is supported for a specific document.
  `boolean`
  `shouldValidateResultCharacters()`
  Allow only results containing expected characters for a given field.
  `protected void`
  `terminateNative(long nativeContext)`
  `void`
  `writeToParcel(android.os.Parcel dest, int flags)`

  ### Methods inherited from class com.microblink.blinkid.entities.recognizers.Recognizer

  `getName, isExcludedFromPing, requiresAutofocus, requiresLandscapeMode, signedJsonNativeGet, toSignedJson`

  ### Methods inherited from class com.microblink.blinkid.entities.Entity

  `describeContents, finalize, getNativeContext, getResult, nativeGetNativeResultContext`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### CREATOR

    public static final android.os.Parcelable.Creator<BlinkIdMultiSideRecognizer> CREATOR

- ## Constructor Details

  - ### BlinkIdMultiSideRecognizer

    public BlinkIdMultiSideRecognizer()

- ## Method Details

  - ### setReturnFaceImage

    public void setReturnFaceImage(boolean returnFaceImage)
    Description copied from interface: `FaceImageOptions`
    Sets whether face image from document should be available in `FaceImageResult`. If enabled, get image using `FaceImageResult.getFaceImage()` By default, this is set to 'false'. IMPORTANT NOTE: If you set `MicroblinkSDK.setIntentDataTransferMode(com.microblink.blinkid.intent.IntentDataTransferMode)` to `IntentDataTransferMode.STANDARD` recognizer which contains encoded image cannot be parcelized and passed by `Intent` extras because of Android limitations on intent extras size. If you are using one of the provided scan activities and expect receiving scan results in `Activity.onActivityResult(int, int, android.content.Intent)` method use either `IntentDataTransferMode.OPTIMISED` or `IntentDataTransferMode.PERSISTED_OPTIMISED`
    Specified by:
      `setReturnFaceImage` in interface `FaceImageOptions`
    Parameters:
      `returnFaceImage` - whether face image will be available in `FaceImageResult`.

  - ### shouldReturnFaceImage

    public boolean shouldReturnFaceImage()
    Description copied from interface: `FaceImageOptions`
    Returns whether face image will be available in `FaceImageResult`. By default, this is set to 'false'.
    Specified by:
      `shouldReturnFaceImage` in interface `FaceImageOptions`
    Returns:
      whether face image will be available in `FaceImageResult`.

  - ### setValidateResultCharacters

    public void setValidateResultCharacters(boolean validateResultCharacters)
    Allow only results containing expected characters for a given field. Each field is validated against a set of rules. All fields have to be successfully validated in order for a recognizer state to be `com.microblink.blinkid.recognition.RecognitionSuccessType.SUCCESSFUL`. Setting is used to improve scanning accuracy. By default, this is set to 'true'.

  - ### shouldValidateResultCharacters

    public boolean shouldValidateResultCharacters()
    Allow only results containing expected characters for a given field. Each field is validated against a set of rules. All fields have to be successfully validated in order for a recognizer state to be `com.microblink.blinkid.recognition.RecognitionSuccessType.SUCCESSFUL`. Setting is used to improve scanning accuracy. By default, this is set to 'true'.

  - ### setCombineFrameResults

    public void setCombineFrameResults(boolean combineFrameResults)
    This setting enables the aggregation of data from multiple frames. Disabling this setting will yield higher-quality captured images, but it may slow down the scanning process due to the additional effort required to find the optimal frame. Enabling this setting will simplify the extraction process, but the extracted data will be aggregated from multiple frames instead of being sourced from a single frame. By default, this is set to 'true'.

  - ### shouldCombineFrameResults

    public boolean shouldCombineFrameResults()
    This setting enables the aggregation of data from multiple frames. Disabling this setting will yield higher-quality captured images, but it may slow down the scanning process due to the additional effort required to find the optimal frame. Enabling this setting will simplify the extraction process, but the extracted data will be aggregated from multiple frames instead of being sourced from a single frame. By default, this is set to 'true'.

  - ### setScanCroppedDocumentImage

    public void setScanCroppedDocumentImage(boolean scanCroppedDocumentImage)
    Process only cropped document images with corrected perspective (frontal images of a document). This only applies to still images - video feed will ignore this setting. By default, this is set to 'false'.

  - ### shouldScanCroppedDocumentImage

    public boolean shouldScanCroppedDocumentImage()
    Process only cropped document images with corrected perspective (frontal images of a document). This only applies to still images - video feed will ignore this setting. By default, this is set to 'false'.

  - ### setScanPassportDataPageOnly

    public void setScanPassportDataPageOnly(boolean scanPassportDataPageOnly)
    Scan only the data page ( page containing MRZ ) of the passport. If set to 'false', it will be required to scan the second page of certain passports. By default, this is set to 'true'.

  - ### shouldScanPassportDataPageOnly

    public boolean shouldScanPassportDataPageOnly()
    Scan only the data page ( page containing MRZ ) of the passport. If set to 'false', it will be required to scan the second page of certain passports. By default, this is set to 'true'.

  - ### setSaveCameraFrames

    public void setSaveCameraFrames(boolean saveCameraFrames)
    Save the raw camera frames at the moment of the data extraction or timeout. This significantly increases memory consumption. The scanning performance is not affected. By default, this is set to 'false'.

  - ### shouldSaveCameraFrames

    public boolean shouldSaveCameraFrames()
    Save the raw camera frames at the moment of the data extraction or timeout. This significantly increases memory consumption. The scanning performance is not affected. By default, this is set to 'false'.

  - ### setEncodeFullDocumentImage

    public void setEncodeFullDocumentImage(boolean encodeFullDocumentImage)
    Description copied from interface: `EncodeFullDocumentImagesOptions`
    Sets whether full document image should be encoded in JPEG format and written into the corresponding recognition result. By default, this is set to 'false'.
    IMPORTANT NOTE: If you set `MicroblinkSDK.setIntentDataTransferMode(com.microblink.blinkid.intent.IntentDataTransferMode)` to `IntentDataTransferMode.STANDARD` recognizer which contains encoded image cannot be parcelized and passed by `Intent` extras because of Android limitations on intent extras size. If you are using one of the provided scan activities and expect receiving scan results in `Activity.onActivityResult(int, int, Intent)` method use either `IntentDataTransferMode.OPTIMISED` or `IntentDataTransferMode.PERSISTED_OPTIMISED`
    Specified by:
      `setEncodeFullDocumentImage` in interface `EncodeFullDocumentImagesOptions`
    Parameters:
      `encodeFullDocumentImage` - whether full document images should be encoded in JPEG format and written into the corresponding recognition result.

  - ### shouldEncodeFullDocumentImage

    public boolean shouldEncodeFullDocumentImage()
    Description copied from interface: `EncodeFullDocumentImagesOptions`
    Returns whether encoding of full document images and writing them into the recognition result is enabled. By default, this is set to 'false'.
    Specified by:
      `shouldEncodeFullDocumentImage` in interface `EncodeFullDocumentImagesOptions`
    Returns:
      whether encoding of full document images and writing them into the recognition result is enabled.

  - ### setAllowUnverifiedMrzResults

    public void setAllowUnverifiedMrzResults(boolean allowUnverifiedMrzResults)
    Allow reading of standard MRZ (Machine Readable Zone) which gets successfully parsed, but check digits are incorrect (do not comply with the ICAO standard). Final recognizer state is not affected. By default, this is set to 'true'.

  - ### shouldAllowUnverifiedMrzResults

    public boolean shouldAllowUnverifiedMrzResults()
    Allow reading of standard MRZ (Machine Readable Zone) which gets successfully parsed, but check digits are incorrect (do not comply with the ICAO standard). Final recognizer state is not affected. By default, this is set to 'true'.

  - ### setEncodeFaceImage

    public void setEncodeFaceImage(boolean encodeFaceImage)
    Description copied from interface: `EncodeFaceImageOptions`
    Sets whether face image from document should be encoded in JPEG format and written into the corresponding recognition result. By default, this is set to 'false'.
    IMPORTANT NOTE: If you set `MicroblinkSDK.setIntentDataTransferMode(com.microblink.blinkid.intent.IntentDataTransferMode)` to `IntentDataTransferMode.STANDARD` recognizer which contains encoded image cannot be parcelized and passed by `Intent` extras because of Android limitations on intent extras size. If you are using one of the provided scan activities and expect receiving scan results in `Activity.onActivityResult(int, int, android.content.Intent)` method use either `IntentDataTransferMode.OPTIMISED` or `IntentDataTransferMode.PERSISTED_OPTIMISED`
    Specified by:
      `setEncodeFaceImage` in interface `EncodeFaceImageOptions`
    Parameters:
      `encodeFaceImage` - whether face image should be encoded in JPEG format and written into the corresponding recognition result.

  - ### shouldEncodeFaceImage

    public boolean shouldEncodeFaceImage()
    Description copied from interface: `EncodeFaceImageOptions`
    Returns whether encoding of face image from document and writing it into the recognition result is enabled. By default, this is set to 'false'.
    Specified by:
      `shouldEncodeFaceImage` in interface `EncodeFaceImageOptions`
    Returns:
      whether encoding of face image from document and writing it into the recognition result is enabled.

  - ### setReturnSignatureImage

    public void setReturnSignatureImage(boolean returnSignatureImage)
    Description copied from interface: `SignatureImageOptions`
    Sets whether signature image should be available in `SignatureImageResult`. If enabled, get image using `SignatureImageResult.getSignatureImage()` By default, this is set to 'false'. IMPORTANT NOTE: If you set `MicroblinkSDK.setIntentDataTransferMode(com.microblink.blinkid.intent.IntentDataTransferMode)` to `IntentDataTransferMode.STANDARD` recognizer which contains encoded image cannot be parcelized and passed by `Intent` extras because of Android limitations on intent extras size. If you are using one of the provided scan activities and expect receiving scan results in `Activity.onActivityResult(int, int, android.content.Intent)` method use either `IntentDataTransferMode.OPTIMISED` or `IntentDataTransferMode.PERSISTED_OPTIMISED`
    Specified by:
      `setReturnSignatureImage` in interface `SignatureImageOptions`
    Parameters:
      `returnSignatureImage` - whether signature image will be available in `SignatureImageResult`.

  - ### shouldReturnSignatureImage

    public boolean shouldReturnSignatureImage()
    Description copied from interface: `SignatureImageOptions`
    Returns whether signature image will be available in `SignatureImageResult`. By default, this is set to 'false'.
    Specified by:
      `shouldReturnSignatureImage` in interface `SignatureImageOptions`
    Returns:
      whether signature image will be available in `SignatureImageResult`.

  - ### setPaddingEdge

    public void setPaddingEdge(@FloatRange(from=0.0,to=1.0) float paddingEdge)
    Minimum required distance between the edge of the scanning frame and the document. Defined as a percentage of the frame width. By default, this is set to '0.0' in which case the padding edge and the image edge are the same. Alternative recommended value is 0.02f.

  - ### getPaddingEdge

    @FloatRange(from=0.0, to=1.0) public float getPaddingEdge()
    Minimum required distance between the edge of the scanning frame and the document. Defined as a percentage of the frame width. By default, this is set to '0.0' in which case the padding edge and the image edge are the same. Alternative recommended value is 0.02f.

  - ### setBlurStrictnessLevel

    public void setBlurStrictnessLevel(@NonNull StrictnessLevel blurStrictnessLevel)
    Strictness level for blur detection. By default, this is set to 'Normal'

  - ### getBlurStrictnessLevel

    @NonNull public StrictnessLevel getBlurStrictnessLevel()
    Strictness level for blur detection. By default, this is set to 'Normal'

  - ### setEncodeSignatureImage

    public void setEncodeSignatureImage(boolean encodeSignatureImage)
    Description copied from interface: `EncodeSignatureImageOptions`
    Sets whether signature image from document should be encoded in JPEG format and written into the corresponding recognition result. By default, this is set to 'false'.
    IMPORTANT NOTE: If you set `MicroblinkSDK.setIntentDataTransferMode(com.microblink.blinkid.intent.IntentDataTransferMode)` to `IntentDataTransferMode.STANDARD` recognizer which contains encoded image cannot be parcelized and passed by `Intent` extras because of Android limitations on intent extras size. If you are using one of the provided scan activities and expect receiving scan results in `Activity.onActivityResult(int, int, android.content.Intent)` method use either `IntentDataTransferMode.OPTIMISED` or `IntentDataTransferMode.PERSISTED_OPTIMISED`
    Specified by:
      `setEncodeSignatureImage` in interface `EncodeSignatureImageOptions`
    Parameters:
      `encodeSignatureImage` - whether signature image should be encoded in JPEG format and written into the corresponding recognition result.

  - ### shouldEncodeSignatureImage

    public boolean shouldEncodeSignatureImage()
    Description copied from interface: `EncodeSignatureImageOptions`
    Returns whether encoding of signature image and writing it into the recognition result is enabled. By default, this is set to 'false'.
    Specified by:
      `shouldEncodeSignatureImage` in interface `EncodeSignatureImageOptions`
    Returns:
      whether encoding of signature image and writing it into the recognition result is enabled.

  - ### setMaxAllowedMismatchesPerField

    public void setMaxAllowedMismatchesPerField(@IntRange(from=0L) int maxAllowedMismatchesPerField)
    Configure the number of characters per field that are allowed to be inconsistent in data match. By default, this is set to '0'.

  - ### getMaxAllowedMismatchesPerField

    @IntRange(from=0L) public int getMaxAllowedMismatchesPerField()
    Configure the number of characters per field that are allowed to be inconsistent in data match. By default, this is set to '0'.

  - ### setReturnFullDocumentImage

    public void setReturnFullDocumentImage(boolean returnFullDocumentImage)
    Description copied from interface: `FullDocumentImageOptions`
    Sets whether full document image should be available in `FullDocumentImageResult`. If enabled, get image using `FullDocumentImageResult.getFullDocumentImage()` By default, this is set to 'false'. IMPORTANT NOTE: If you set `MicroblinkSDK.setIntentDataTransferMode(com.microblink.blinkid.intent.IntentDataTransferMode)` to `IntentDataTransferMode.STANDARD` recognizer which contains encoded image cannot be parcelized and passed by `Intent` extras because of Android limitations on intent extras size. If you are using one of the provided scan activities and expect receiving scan results in `Activity.onActivityResult(int, int, android.content.Intent)` method use either `IntentDataTransferMode.OPTIMISED` or `IntentDataTransferMode.PERSISTED_OPTIMISED` By default, this is set to 'false'
    Specified by:
      `setReturnFullDocumentImage` in interface `FullDocumentImageOptions`
    Parameters:
      `returnFullDocumentImage` - whether full document image will be available in `FullDocumentImageResult`.

  - ### shouldReturnFullDocumentImage

    public boolean shouldReturnFullDocumentImage()
    Description copied from interface: `FullDocumentImageOptions`
    Returns whether full document image will be available in `FullDocumentImageResult`. By default, this is set to 'false'. By default, this is set to 'false'
    Specified by:
      `shouldReturnFullDocumentImage` in interface `FullDocumentImageOptions`
    Returns:
      whether full document image will be available in `FullDocumentImageResult`.

  - ### setAllowUncertainFrontSideScan

    public void setAllowUncertainFrontSideScan(boolean allowUncertainFrontSideScan)
    Proceed to scan the back side of a document even if some of the validity checks have failed while scanning the front side of a document. This only works for still images - video feeds will ignore this setting. By default, this is set to 'false'.

  - ### shouldAllowUncertainFrontSideScan

    public boolean shouldAllowUncertainFrontSideScan()
    Proceed to scan the back side of a document even if some of the validity checks have failed while scanning the front side of a document. This only works for still images - video feeds will ignore this setting. By default, this is set to 'false'.

  - ### setAllowBarcodeScanOnly

    public void setAllowBarcodeScanOnly(boolean allowBarcodeScanOnly)
    This setting allows barcode recognition to proceed even if the initial extraction fails. If the barcode recognition is successful, the recognizer will still end in a valid state. This setting is applicable only to photo frames. For multi-side recognizers, it is permitted only for the back side. By default, this is set to 'false'.

  - ### shouldAllowBarcodeScanOnly

    public boolean shouldAllowBarcodeScanOnly()
    This setting allows barcode recognition to proceed even if the initial extraction fails. If the barcode recognition is successful, the recognizer will still end in a valid state. This setting is applicable only to photo frames. For multi-side recognizers, it is permitted only for the back side. By default, this is set to 'false'.

  - ### setAllowUnparsedMrzResults

    public void setAllowUnparsedMrzResults(boolean allowUnparsedMrzResults)
    Allow reading of non-standard MRZ (Machine Readable Zone). Only raw MRZ result is returned. Final recognizer state is not affected. By default, this is set to 'false'.

  - ### shouldAllowUnparsedMrzResults

    public boolean shouldAllowUnparsedMrzResults()
    Allow reading of non-standard MRZ (Machine Readable Zone). Only raw MRZ result is returned. Final recognizer state is not affected. By default, this is set to 'false'.

  - ### setGlareStrictnessLevel

    public void setGlareStrictnessLevel(@NonNull StrictnessLevel glareStrictnessLevel)
    Strictness level for glare detection. By default, this is set to 'Normal'

  - ### getGlareStrictnessLevel

    @NonNull public StrictnessLevel getGlareStrictnessLevel()
    Strictness level for glare detection. By default, this is set to 'Normal'

  - ### setEnableGlareFilter

    public void setEnableGlareFilter(boolean enableGlareFilter)
    Skip processing of the frames with glare. By default, this is set to 'true'

  - ### shouldEnableGlareFilter

    public boolean shouldEnableGlareFilter()
    Skip processing of the frames with glare. By default, this is set to 'true'

  - ### setAnonymizationMode

    public void setAnonymizationMode(@NonNull AnonymizationMode anonymizationMode)
    Redact specific fields based on requirements or laws regarding a specific document. Data can be redacted from the image, the result or both. The setting applies to certain documents only. By default, this is set to 'FullResult'.

  - ### getAnonymizationMode

    @NonNull public AnonymizationMode getAnonymizationMode()
    Redact specific fields based on requirements or laws regarding a specific document. Data can be redacted from the image, the result or both. The setting applies to certain documents only. By default, this is set to 'FullResult'.

  - ### setEnableBlurFilter

    public void setEnableBlurFilter(boolean enableBlurFilter)
    Skip processing of the blurred frames. By default, this is set to 'true'

  - ### shouldEnableBlurFilter

    public boolean shouldEnableBlurFilter()
    Skip processing of the blurred frames. By default, this is set to 'true'

  - ### setSkipUnsupportedBack

    public void setSkipUnsupportedBack(boolean skipUnsupportedBack)
    Back side of the document will not be scanned if only the front side is supported for a specific document. If set to false, a photo of the back side will be returned, as well as barcode or MRZ (Machine Readable Zone) if either is present. By default, this is set to 'false'.

  - ### shouldSkipUnsupportedBack

    public boolean shouldSkipUnsupportedBack()
    Back side of the document will not be scanned if only the front side is supported for a specific document. If set to false, a photo of the back side will be returned, as well as barcode or MRZ (Machine Readable Zone) if either is present. By default, this is set to 'false'.

  - ### getFaceImageDpi

    public int getFaceImageDpi()
    Returns the DPI (Dots Per Inch) for face image that should be returned. By default, this is set to '250'.
    Specified by:
      `getFaceImageDpi` in interface `FaceImageDpiOptions`
    Returns:
      DPI for face image that should be returned.

  - ### setFaceImageDpi

    public void setFaceImageDpi(@IntRange(from=100L,to=400L) int desiredDPI)
    Sets desired DPI (Dots Per Inch) for face image that should be returned. By default, this is set to '250'.
    Specified by:
      `setFaceImageDpi` in interface `FaceImageDpiOptions`
    Parameters:
      `desiredDPI` - desired DPI in range [100, 400]

  - ### getFullDocumentImageDpi

    public int getFullDocumentImageDpi()
    Returns the DPI (Dots Per Inch) for full document image that should be returned. By default, this is set to '250'.
    Specified by:
      `getFullDocumentImageDpi` in interface `FullDocumentImageDpiOptions`
    Returns:
      DPI for full document image that should be returned.

  - ### setFullDocumentImageDpi

    public void setFullDocumentImageDpi(@IntRange(from=100L,to=400L) int desiredDPI)
    Sets desired DPI (Dots Per Inch) for full document image that should be returned. By default, this is set to '250'.
    Specified by:
      `setFullDocumentImageDpi` in interface `FullDocumentImageDpiOptions`
    Parameters:
      `desiredDPI` - desired DPI in range [100, 400]

  - ### setFullDocumentImageExtensionFactors

    public void setFullDocumentImageExtensionFactors(@NonNull ImageExtensionFactors fullDocumentImageExtensionFactors)
    Sets extension factors for full document image. By default, this is set to '[0.0, 0.0, 0.0, 0.0]'.
    Specified by:
      `setFullDocumentImageExtensionFactors` in interface `FullDocumentImageExtensionOptions`
    Parameters:
      `fullDocumentImageExtensionFactors` - extension factors for full document image.

  - ### getFullDocumentImageExtensionFactors

    @NonNull public ImageExtensionFactors getFullDocumentImageExtensionFactors()
    Returns the extension factors for full document image. By default, this is set to '[0.0, 0.0, 0.0, 0.0]'.
    Specified by:
      `getFullDocumentImageExtensionFactors` in interface `FullDocumentImageExtensionOptions`
    Returns:
      extension factors for full document image.

  - ### getSignatureImageDpi

    public int getSignatureImageDpi()
    Returns the DPI (Dots Per Inch) for signature image that should be returned. By default, this is set to '250'.
    Specified by:
      `getSignatureImageDpi` in interface `SignatureImageDpiOptions`
    Returns:
      DPI for signature image that should be returned.

  - ### setSignatureImageDpi

    public void setSignatureImageDpi(@IntRange(from=100L,to=400L) int desiredDPI)
    Sets desired DPI (Dots Per Inch) for signature image that should be returned. By default, this is set to '250'.
    Specified by:
      `setSignatureImageDpi` in interface `SignatureImageDpiOptions`
    Parameters:
      `desiredDPI` - desired DPI in range [100, 400]

  - ### setRecognitionModeFilter

    public void setRecognitionModeFilter(@NonNull RecognitionModeFilter recognitionModeFilter)
    Enable or disable recognition of specific document groups supported by the current license. By default, this is set to '[true, true, true, true, true, true]'.

  - ### getRecognitionModeFilter

    @NonNull public RecognitionModeFilter getRecognitionModeFilter()
    Returns currently set recognition mode filter. By default, this is set to 'all modes are enabled'.

  - ### setAdditionalAnonymization

    public void setAdditionalAnonymization(@NonNull ClassAnonymizationSettings[] additionalAnonymization)
    Enable or disable recognition of specific document groups supported by the current license. By default, this is set to '[]'.

  - ### getAdditionalAnonymization

    @NonNull public ClassAnonymizationSettings[] getAdditionalAnonymization()
    Returns additional anonymization settings. By default, this is set to '[]'.

  - ### setCustomClassRules

    public void setCustomClassRules(@NonNull CustomClassRules[] customClassRules)
    Define custom rules for specific document class. The new class rules will be a combination of our internal and user-defined rules. The more detailed class filter will have priority over the other. By default, this is set to '[]'.
    Parameters:
      `customClassRules` - Array of custom class rules.

  - ### getCustomClassRules

    @NonNull public CustomClassRules[] getCustomClassRules()
    Get custom class rules.
    Returns:
      Array of custom class rules. By default, this is set to '[]'.

  - ### setDewarpedImageCallback

    public void setDewarpedImageCallback(@Nullable DewarpedImageCallback dewarpedImageCallback)
    Sets the `DewarpedImageCallback` that will receive dewarped document images.
    Parameters:
      `dewarpedImageCallback` - `DewarpedImageCallback` that will receive dewarped document images.

  - ### setClassifierCallback

    public void setClassifierCallback(@Nullable ClassifierCallback classifierCallback)
    Sets the `ClassifierCallback` that will be invoked from the recognizer when document is classified.
    Specified by:
      `setClassifierCallback` in interface `ClassifierCallbackOptions`
    Parameters:
      `classifierCallback` - `ClassifierCallback` that will be invoked from the recognizer when document is classified.

  - ### setBarcodeScanningStartedCallback

    public void setBarcodeScanningStartedCallback(@Nullable BarcodeScanningStartedCallback barcodeScanningStartedCallback)
    Description copied from interface: `BarcodeScanningStartedCallbackOptions`
    Sets the `BarcodeScanningStartedCallback` that will be invoked from the recognizer when barcode scanning step starts.
    Specified by:
      `setBarcodeScanningStartedCallback` in interface `BarcodeScanningStartedCallbackOptions`
    Parameters:
      `barcodeScanningStartedCallback` - `BarcodeScanningStartedCallback` that will be invoked from the recognizer when barcode scanning step starts.

  - ### setClassFilter

    public void setClassFilter(@Nullable ClassFilter classFilter)
    Sets the `ClassFilter` that can determine whether document should be processed or filtered out.
    Parameters:
      `classFilter` - `ClassFilter` that can determine whether document should be processed or filtered out or null to allow processing of all documents.

  - ### getCombinedResult

    @Nullable public CombinedResult getCombinedResult()
    Getter for combined result which is associated with this multi-side recognizer.
    Specified by:
      `getCombinedResult` in interface `CombinedRecognizer`
    Returns:
      combined result which is associated with this multi-side recognizer.

  - ### writeToParcel

    public void writeToParcel(@NonNull android.os.Parcel dest, int flags)
    Specified by:
      `writeToParcel` in interface `android.os.Parcelable`
    Overrides:
      `writeToParcel` in class `Entity<BlinkIdMultiSideRecognizer.Result>`

  - ### readFromParcel

    protected void readFromParcel(@NonNull android.os.Parcel in)
    Overrides:
      `readFromParcel` in class `Entity<BlinkIdMultiSideRecognizer.Result>`

  - ### terminateNative

    protected void terminateNative(long nativeContext)
    Specified by:
      `terminateNative` in class `Entity<BlinkIdMultiSideRecognizer.Result>`

  - ### serializeNativeSettings

    @Nullable protected byte[] serializeNativeSettings()
    Specified by:
      `serializeNativeSettings` in class `Entity<BlinkIdMultiSideRecognizer.Result>`

  - ### deserializeNativeSettings

    protected void deserializeNativeSettings(@NonNull byte[] serializedSettings)
    Specified by:
      `deserializeNativeSettings` in class `Entity<BlinkIdMultiSideRecognizer.Result>`

  - ### clone

    public BlinkIdMultiSideRecognizer clone()
    Description copied from class: `Entity`
    Create a copy of the entity. This is required if properties of the entity must be modified while background thread performs processing. In order to avoid race conditions, changing properties is not allowed while entity is used in background processing. However, you are able to make a copy of the entity, change properties of it and then update the `RecognizerRunnerView` or `RecognizerRunner` with the updated entity hierarchy.
    Specified by:
      `clone` in class `Recognizer<BlinkIdMultiSideRecognizer.Result>`
    Returns:
      a copy of the entity

  - ### consumeResultFrom

    public void consumeResultFrom(@NonNull Entity other)
    Description copied from class: `Entity`
    Consume result from other entity. The result from other will be put instead current result of this entity. This method is used inside `BaseIntentTransferable.loadFromIntent(Intent)` and similar methods to replace the result content of the saved entities with results that have arrived over `Intent`
    Specified by:
      `consumeResultFrom` in class `Entity<BlinkIdMultiSideRecognizer.Result>`
    Parameters:
      `other` - Entity from which result should be consumed.