Class iPublicRuntimeSettings
Defines a struct to configure the barcode reading runtime settings. These settings control the barcode recognition process such as which barcode types to decode.
- Objective-C
- Swift
@interface iPublicRuntimeSettings : NSObject
class iPublicRuntimeSettings : NSObject
Attribute | Descriptions |
---|---|
terminatePhase |
Sets the phase to stop the barcode reading algorithm. |
timeout |
Set the maximum time spent on scanning one image (page). |
maxAlgorithmThreadCount |
Sets the number of threads the image processing algorithm will use to decode barcodes. |
expectedBarcodesCount |
Sets the number of barcodes expected to be detected for each image. |
barcodeFormatIds |
BarcodeFormat group 1. Read more in EnumBarcodeFormat |
barcodeFormatIds_2 |
BarcodeFormat group 2. Read more in EnumBarcodeFormat_2 |
pdfRasterDPI |
Sets the output image resolution. |
scaleDownThreshold |
Sets the threshold for the image shrinking. |
binarizationModes |
Sets the mode and priority for binarization. |
localizationModes |
Sets the mode and priority for localization algorithms. |
furtherModes |
Further modes settings. Please read more in FurtherModes class. |
deblurLevel |
Sets the degree of blurriness of the barcode. |
intermediateResultTypes |
Sets which types of intermediate result to be kept for further reference. |
intermediateResultSavingMode |
Sets the mode for saving intermediate result. |
resultCoordinateType |
Specifies the format for the coordinates returned. |
textResultOrderModes |
Sets the mode and priority for the order of the text results returned. |
returnBarcodeZoneClarity |
Sets whether or not to return the clarity of the barcode zone. |
region |
Sets the scan region. Please read more in iRegionDefinition Class |
minBarcodeTextLength |
Sets the range of barcode text length for barcodes search. |
minResultConfidence |
The minimum confidence of the result. |
scaleUpModes |
Sets the mode and priority to control the sampling methods of scale-up for linear barcode with small module sizes. |
pdfReadingMode |
Sets the way to detect barcodes from a PDF file when using the DecodeFile method. |
deblurModes |
Sets the mode and priority for deblurring. |
barcodeZoneMinDistanceToImageBorders |
Sets the minimum distance (in pixels) between the barcode zone and image borders. |
terminatePhase
Sets the phase to stop the barcode reading algorithm.
- Objective-C
- Swift
@property (nonatomic, assign) EnumTerminatePhase terminatePhase;
var terminatePhase: EnumTerminatePhase { get set }
Value Range
Any one of the EnumTerminatePhase
Enumeration items
Default Value
EnumTerminatePhaseRecognized
Remarks
When the recognition result is not desired, you can set this parameter can be set to skip certain processing stages.
See Also
timeout
Sets the maximum amount of time (in milliseconds) that should be spent searching for a barcode per page. It does not include the time taken to load/decode an image (TIFF, PNG, etc.) from disk into memory.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger timeout;
var timeout: Int { get set }
Value Range
[0, 0x7fffffff]
Default Value
10000
Remarks
If you want to stop reading barcodes after a certain period of time, you can use this parameter to set a timeout.
maxAlgorithmThreadCount
Sets the number of threads the image processing algorithm will use to decode barcodes.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger maxAlgorithmThreadCount;
var maxAlgorithmThreadCount: Int { get set }
Value Range
[1, 4]
Default Value
4
Remarks
To keep a balance between speed and quality, the library concurrently runs four different threads for barcode decoding by default.
expectedBarcodesCount
Sets the number of barcodes expected to be detected for each image.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger expectedBarcodesCount;
var expectedBarcodesCount: Int { get set }
Value Range
[0, 0x7fffffff]
Default Value
0
Remarks
0: means Unknown and it will find at least one barcode. 1: try to find one barcode. If one barcode is found, the library will stop the localization process and perform barcode decoding. n: try to find n barcodes. If the library only finds m (m<n) barcode, it will try different algorithms till n barcodes are found or all algorithms are tried.
barcodeFormatIds
Sets the formats of the barcode in BarcodeFormat group 1 to be read. Barcode formats in BarcodeFormat group 1 can be combined.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger barcodeFormatIds;
var barcodeFormatIds: Int { get set }
Value Range
A combined value of EnumBarcodeFormat
Enumeration items
Default Value
EnumBarcodeFormatALL
Remarks
If the barcode type(s) are certain, specifying the barcode type(s) to be read will speed up the recognition process. The barcode format our library will search for is composed of BarcodeFormat group 1 and BarcodeFormat group 2, so you need to specify the barcode format in group 1 and group 2 individually.
When setting the parameter in Swift, please work with the rawValue of the enumeration as such
settings.barcodeFormatIds = EnumBarcodeFormat.ONED.rawValue;
See Also
EnumBarcodeFormat
, EnumBarcodeFormat2
barcodeFormatIds_2
Sets the formats of the barcode in BarcodeFormat group 2 to be read. Barcode formats in BarcodeFormat group 2 can be combined.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger barcodeFormatIds_2;
var barcodeFormatIds_2: Int { get set }
Value Range
A combined value of EnumBarcodeFormat2
Enumeration items
Default Value
EnumBarcodeFormat2NULL
Remarks
If the barcode type(s) are certain, specifying the barcode type(s) to be read will speed up the recognition process. The barcode format our library will search for is composed of BarcodeFormat group 1 and BarcodeFormat group 2, so you need to specify the barcode format in group 1 and group 2 individually.
When setting the parameter in Swift, please work with the rawValue of the enumeration as such
settings.barcodeFormatIds_2 = EnumBarcodeFormat2.POSTALCODE.rawValue;
See Also
EnumBarcodeFormat
, EnumBarcodeFormat2
pdfRasterDPI
Sets the output image resolution.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger pdfRasterDPI;
var pdfRasterDPI: Int { get set }
Value Range
[100, 600]
Default Value
300
Remarks
When decoding barcodes from a PDF file using the DecodeFile method, the library will convert the PDF file to image(s) first, then perform barcode recognition.
scaleDownThreshold
Sets the threshold for the image shrinking.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger scaleDownThreshold;
var scaleDownThreshold: Int { get set }
Value Range
[512, 0x7fffffff]
Default Value
2300
Remarks
If the shorter edge size is larger than the given threshold value, the library will calculate the required height and width of the barcode image and shrink the image to that size before localization. Otherwise, the library will perform barcode localization on the original image.
binarizationModes
Sets the mode and priority for binarization.
- Objective-C
- Swift
@property (nonatomic, readwrite, nullable) NSArray* binarizationModes;
var binarizationModes: [Any]? { get set }
Value Range
Each array item can be any one of the EnumBinarizationMode
Enumeration items.
Default Value
[EnumBinarizationModeLocalBlock, EnumBinarizationModeSkip, EnumBinarizationModeSkip, EnumBinarizationModeSkip, EnumBinarizationModeSkip, EnumBinarizationModeSkip, EnumBinarizationModeSkip, EnumBinarizationModeSkip]
Remarks
The array index represents the priority of the item. The smaller index is, the higher priority is.
See Also
localizationModes
Sets the mode and priority for localization algorithms.
- Objective-C
- Swift
@property (nonatomic, readwrite, nullable) NSArray* localizationModes;
var localizationModes: [Any]? { get set }
Value Range
Each array item can be any one of the EnumLocalizationMode
Enumeration items.
Default Value
[EnumLocalizationModeConnectedBlocks, EnumLocalizationModeScanDirectly, EnumLocalizationModeStatistics, EnumLocalizationModeLines, EnumLocalizationModeSkip, EnumLocalizationModeSkip, EnumLocalizationModeSkip, EnumLocalizationModeSkip]
Remarks
The array index represents the priority of the item. The smaller index is, the higher priority is.
See Also
furtherModes
Sets further modes.
- Objective-C
- Swift
@property (nonatomic, nonnull) iFurtherModes furtherModes;
var furtherModes: iFurtherModes { get set }
deblurLevel
Sets the degree of blurriness of the barcode.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger deblurLevel;
var deblurLevel: Int { get set }
Value Range
[0, 9]
Default Value
9
Remarks
If you have a blurry image, you can set this property to a larger value. The higher the value set, the more effort the library will spend to decode images, but it may also slow down the recognition process.
intermediateResultTypes
Sets which types of intermediate result to be kept for further reference. Intermediate result types can be combined.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger intermediateResultTypes;
var intermediateResultTypes: Int { get set }
Value Range
A combined value of EnumIntermediateResultType
Enumeration items
Default Value
0
See Also
intermediateResultSavingMode
Sets the mode for saving intermediate result.
- Objective-C
- Swift
@property (nonatomic, assign) EnumIntermediateResultSavingMode intermediateResultSavingMode;
var intermediateResultSavingMode: EnumIntermediateResultSavingMode { get set }
Value Range
A value of EnumIntermediateResultSavingMode
Enumeration items
Default Value
EnumIntermediateResultSavingModeMemory
See Also
EnumIntermediateResultSavingMode
resultCoordinateType
Specifies the format for the coordinates returned.
- Objective-C
- Swift
@property (nonatomic, assign) EnumResultCoordinateType resultCoordinateType;
var resultCoordinateType: EnumResultCoordinateType { get set }
Value Range
Any one of the EnumResultCoordinateType
Enumeration items
Default Value
EnumResultCoordinateTypePixel
See Also
textResultOrderModes
Sets the mode and priority for the order of the text results returned.
- Objective-C
- Swift
@property (nonatomic, readwrite, nullable) NSArray* textResultOrderModes;
var textResultOrderModes: [Any]? { get set }
Value Range
Each array item can be any one of the EnumTextResultOrderMode
Enumeration items.
Default Value
[EnumTextResultOrderModeConfidence, EnumTextResultOrderModePosition, EnumTextResultOrderModeFormat, EnumTextResultOrderModeSkip, EnumTextResultOrderModeSkip, EnumTextResultOrderModeSkip, EnumTextResultOrderModeSkip, EnumTextResultOrderModeSkip]
Remarks
The array index represents the priority of the item. The smaller the index, the higher the priority.
See Also
returnBarcodeZoneClarity
Sets whether or not to return the clarity of the barcode zone.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger returnBarcodeZoneClarity;
var returnBarcodeZoneClarity: Int { get set }
Value Range
[0,1]
Default Value
0
Remarks
0: Do not return the clarity of the barcode zone; 1: Return the clarity of the barcode zone.
region
Sets the region definition including regionTop, regionLeft, regionRight, regionBottom, and regionMeasuredByPercentage.
- Objective-C
- Swift
@property (nonatomic, nonnull) iRegionDefinition region;
var region: iRegionDefinition { get set }
minBarcodeTextLength
Sets the range of barcode text length for barcodes search.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger minBarcodeTextLength;
var minBarcodeTextLength: Int { get set }
Value Range
[0, 0x7fffffff]
Default Value
0
Remarks
0: means no limitation on the barcode text length.
minResultConfidence
The minimum confidence of the result.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger minResultConfidence;
var minResultConfidence: Int { get set }
Value Range
[0, 100]
Default Value
0
Remarks
0: means no limitation on the result confidence.
scaleUpModes
Sets the mode and priority to control the sampling methods of scale-up for linear barcode with small module sizes.
- Objective-C
- Swift
@property (nonatomic, readwrite, nullable) NSArray* scaleUpModes;
var scaleUpModes: [Any]? { get set }
Value Range
Each array item can be any one of the EnumScaleUpMode
Enumeration items.
Default Value
[EnumScaleUpModeAuto, EnumScaleUpModeSkip, EnumScaleUpModeSkip, EnumScaleUpModeSkip, EnumScaleUpModeSkip, EnumScaleUpModeSkip, EnumScaleUpModeSkip, EnumScaleUpModeSkip]
Remarks
The array index represents the priority of the item. The smaller the index, the higher the priority.
See Also
pdfReadingMode
Sets the way to detect barcodes from a PDF file when using the DecodeFile method.
- Objective-C
- Swift
@property (nonatomic, assign) EnumPDFReadingMode pdfReadingMode;
var pdfReadingMode: EnumPDFReadingMode { get set }
Value Range
Any one of the EnumPDFReadingMode
Enumeration items.
Default Value
EnumPDFReadingModeAuto
See Also
deblurModes
Sets the mode and priority for deblurring.
- Objective-C
- Swift
@property (nonatomic, readwrite, nullable) NSArray* deblurModes;
var deblurModes: [Any]? { get set }
Value Range
Each array item can be any one of the EnumDeblurMode
Enumeration items.
Default Value
[EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip, EnumDeblurModeSkip]
Remarks
The array index represents the priority of the item. The smaller index is, the higher priority is.
See Also
barcodeZoneMinDistanceToImageBorders
Sets the minimum distance (in pixels) between the barcode zone and image borders.
- Objective-C
- Swift
@property (nonatomic, assign) NSInteger barcodeZoneMinDistanceToImageBorders;
var barcodeZoneMinDistanceToImageBorders: Int { get set }
Value Range
[0, 0x7fffffff]
Default Value
0
Remarks
0: means no limitation on the distance.