Perfectly Clear SDK Documentation  9.1.1.325
License Protection

NOTE: If you have been provided with an SDK license key by EyeQ, then you will need to follow the few steps below to activate your license on each run of the applications that you create from this SDK. If you have licensed an un-protected version of this SDK, then you can skip these steps - though leaving them in will not cause any problems.

You will receive these files from EyeQ as part of the Perfectly Clear SDK:

filename Contents & Purpose
license.key Contains valid license key
registration_email.txt Email address for registration
ShaferFilechck.dll, ShaferFilechck.so, ShaferFilechck.dylib
PFCAppTrack.dll, libPFCAppTrack.so, libPFCAppTrack.dylib
License handling libraries

To enable this license:

  1. Create a writable folder which is accessible to the Perfectly Clear library
  2. Copy these three files into the above folder - these are in your SDK package in a folder called sdk_license
  3. Supply the path of this folder to the class constructor PerfectlyClear or PFC_SetProtectionPath() function.
    For .NET: PerfectlyClear(“c:\\path\\of\\sdk_license”);
    For standard C: PFC_SetProtectionPath("/home/user/sdk_license");

The SDK will validate the license every 12 hours via a network connection to my.nalpeiron.com, at ip address 184.106.60.185. Please ensure the computer running the SDK has internet access to at least this IP address. During this connection process, the SDK will report usage data to appsmanager.athentech.com (52.72.235.36 or 52.203.55.148).

If the license validation fails, then the PFC_Apply() and PFC_ApplyLocal() functions will return PFCAPPLYSTATUS of APPLY_INVALIDLICENSE and returns the input image as is without Perfectly Clear corrections. Failure can be due to an expired license, failure to reach the validation server, an invalid license key or other licenses errors. Each of these will return a different return code from the PFC_SetProtectionPath() function.

Each license from EyeQ will be enabled for a certain number of “nodes” – or unique computers where the SDK will be used. If your deployment will be run on Virtual Machines or cloud compute instances, please be aware of how cloning and deploying new instances will affect this node count. You can contact EyeQ at any time to reset all previous activations if you are nearing your node limit.

NOTE: Setting up license protection requires approximately 100ms to 150ms, so in performance-sensitive operations, it is better to construct and use one PerfectlyClear class and then run many images through it (as opposed to creating one PerfectlyClear instance for each photo being processed). Further, do not attempt to call PFC_SetProtectionPath() from individual threads; instead, call PFC_SetProtectionPath() once then call PFC_Apply() or PFC_AutoCorrect() in individual threads to process several images concurrently.