Atalasoft MobileImage API Reference
The Atalasoft MobileImage API Reference Guide for iOS provides a detailed description of each class included in each of the Atalasoft SDK framework. The framework includes data classes and classes that provide the API. You use the API classes to include the Atalasoft technologies in your own mobile application.
This guide assumes you have a detailed understanding of the iOS-XCode development environment, which you use to implement an app design that uses the Atalasoft MobileImage API. Use this API reference guide along with the Atalasoft MobileImage Developer's Guide as the primary reference documents for your development.
To include Atalasoft technologies in your app, you will include the MobileSDK framework and supporting files into the app project file, as described in the SDK Developer's Guide. The framework includes classes and data objects categorized in the following groupings: Capture objects, UIControl objects, Engine objects, and Utility objects. Each framework includes a version singleton class to find the version of each part of the SDK. You can use these classes to get the software version of the Engines framework version (kfxKENVersion), the Classifier version (kfxKCLVersion), the UI controls version (kfxKUIVersion) and the top level SDK version (kfxKUTSdkVersion). Each version string is composed of the six dot-separated digits, the first two digits being the major and minor number, the middle digits for interim releases as needed, and the last digit is the build number.
The Framework object groupings that are described in this API guide include:
The Utilities group, kfxLibUtilities, includes the license API (kfxKUTLicensing), classes to find the individual library versions (kfxKUTVersion, kfxKUTSdkVersion), error handling class (kfxError), application statistics (kfxKUTAppStatistics) and the Kofax Utilities (kfxKUT) classes. All errors returned by the mobile sdk framework are documented in the Developer's Guide. You can also use two methods of the kfxError class to get an error description for the error code, and a recommended corrective action for that error.
The Engines group, kfxLibEngines, includes the image processor (kfxKENImageProcessor), the image classifier (kfxKCLImageClassifier), image related classes and the Kofax Engine Data (kfxKED classes). The Kofax Engine Data classes provide the data storage for images (kfxKEDImage), image processing profiles (like kfxKEDBasicSettingsProfile and kfxKEDImagePerfectionProfile for specifying image processing options for how to process an image), the results of operations performed (like bar code data found (kfxKEDBarcodeResult), image classification results (kfxKEDClassificationResult) or image quick analysis results (kfxKEDQuickAnalysisFeedback). Engine data classes also include the bounding rectangle and tetragon data classes used by several areas of the SDK (kfxKEDBoundingRectangle and kfxKEDBoundingTetragon).
The UIControls group, kfxUIControls, contains all the classes and API associated with UI controls that you can add to your mobile application. The Barcode UI capture control (kfxKUIBarCodeCaptureControl) captures single barcode data when you hover over one with the live camera view. The Image UI capture control (kfxKUIImageCaptureControl) captures images of documents that you want to include in the business process you design in your application. The Image UI capture control provides visual cues to make sure your application captures images when the camera is held steady and level with the work surface, according to how you program your app. You can also control the size, aspect ratio and design of a frame that represents a visual cue to the user that shows the size and orientation of the target page. Your user would then orient the camera or the document to line up with the frame so that the picture taken has the document correctly oriented. This frame is defined by the frame class (kfxKUIFrame). The capture control uses the frame object to draw a reference frame rectangle to represent the desired size of the target document while a picture is being taken with the control.
The UIControls group also includes an image review and edit control (kfxKUIImageReviewAndEdit) to view images of documents used as part of your business flow. This control includes a rectangle that you can control to allow your user to manually indicate the page boundary for a subsequent edit process using the image processor.
The SDK API not only includes classes to provide the API to properties and methods, but also several delegate protocols for notifying you of progress or completion of asynchronous operations. Asynchronous operations include image processing, image classification, server communications through the logistics services (if your SDK package includes Logistics), and image and barcode capture. Some of the top level API classes are instantiated as singleton objects by using an instance method to ensure only one copy of the object is active at any given time. The singleton objects include the image processor, the image classifier (which is included in the Engines framework) and the front office server object contained in the Logistics framework. The singleton object provides an API that ensures only one single thread passes through these interfaces for one asynchronous operation.
The delegate interfaces include the following five groups:
kfxKCLDelegate: provides the API to notify you when a classification completes.
kfxKIPDelegate: provides the API to notify you about the progress of an image processing operation and when the processing completes. The operations include those for basic image processing or for quick analysis. Four delegates are included, two for each operation. Process progress informs you of the percentage completed, and the completion delegate notifies you when the results of the process are stored in the output image object.
kfxKUIBarCodeCaptureControlDelegate: provides the notification when the UI controls framework has found a barcode and the data associated with it.
kfxKUIImageCaptureControlDelegate: provides notification when camera image capture completes after meeting all the image perfection criteria, such as camera stability within the prescribed threshold, and the correct camera orientation is within the prescribed orientation in reference to the target document surface.
kfxKUTAppStatisticsDelegate: provides the notification for certain appStats operations like write to file, and export progress and completion. There is also a delegate for file size and ram size thresholds reached to help with memory and file management associated with statistics.