Perfectly Clear SDK Documentation  10.7.1.1191
PerfectlyClearAdapter Namespace Reference

Data Structures

struct  DP2PARAM
 Struct describing V3 parameters. More...
 
class  PerfectlyClear
 
struct  PFC3DLutInfo
 Struct describing 3D Lut information. More...
 
struct  PFCCOREMask
 Struct for core mask. More...
 
struct  PFCCOREPARAM
 Structure encapsulating the CORE processing parameters. More...
 
class  PFCFACERECT
 Class defining face attributes from FAE. More...
 
class  PFCFBFACEINFO
 Class defining face area detected from the SFB library. More...
 
struct  PFCFBFACEINFO1
 Legacy structure defining face area detected from the SFB library. More...
 
struct  PFCFBPARAM
 Structure encapsulating Face Beautification parameters. More...
 
class  PFCImageFile
 PFCImageFile Class to encapsulate file handling. More...
 
struct  PFCNRPARAM
 Structure encapsulating Noise Removal parameters. More...
 
struct  PFCPARAM
 Struct PFCPARAM the master structure of all processing parameters. More...
 
struct  PFCPOINT
 Struct defining a point. More...
 
struct  PFCRECT
 Struct defining a rectangle. More...
 
struct  PFCREPARAM
 Structure encapsulating Red Eye Correction parameters. More...
 
struct  PFCSCENEDESCRIPTION
 Struct describing Scene information. More...
 
struct  PFCSTATUS
 Struct PFCSTATUS Process status of all sub sectors. More...
 
struct  PFCV3PARAM
 Struct describing V3 parameters. More...
 
struct  SELECTIVECOLOR
 Struct defining selective color correction. More...
 

Enumerations

enum  PFCFEATURE
 ENUM controlling types of calculations at the pre-calculation stage. More...
 
enum  PFCAIFEATURE
 Flags defining type of model(s) to load with PFC_LoadAIEngine(). More...
 
enum  PFCPIXELFORMAT
 defines the format of the image data More...
 
enum  PFCPRESETID
 ENUM for presets support by this SDK. More...
 
enum  PFCNR_STATUS
 Enumeration defining status of Noise Removal pre-calculation. More...
 
enum  PFCCORE_STATUS
 Enumeration defining status of Core pre-calculation. More...
 
enum  PFCREJECTOPTION
 Enumeration defining reject options. More...
 
enum  PFCFB_STATUS
 Enumeration defining status of Face Beautification pre-calculation. More...
 
enum  PFCRE_STATUS
 Enumeration defining status of Red Eye pre-calculation. More...
 
enum  PFCAPPLYSTATUS
 Enumeration defining return code from the Apply() function. More...
 
enum  TINTCORRECTION
 Enumeration defining different abnormal tint analysis mode. More...
 
enum  AGGRESSIVENESS
 Enumeration defining different Auto Exposure calculation modes. More...
 
enum  DCFMODE
 Enumeration defining DCF analysis mode. More...
 
enum  CONTRASTMODE
 Enumeration defining contrast mode. More...
 
enum  BIASMODE
 Enumeration defining BIAS analysis mode. More...
 
enum  ADPTRRETURNCODE
 General return code. More...
 
enum  SKINMODE
 Enumeration defining modes in Perfect Smooth analysis. More...
 
enum  SKINSMOOTHTYPE
 Enumeration defining types of Skin Smoothing correction. More...
 
enum  SKINTONINGTYPE
 Enumeration defining type of Skin Toning correction. More...
 
enum  LIPSHARPENTYPE
 Enumeration defining Lip Sharpening mode. More...
 

Enumeration Type Documentation

◆ ADPTRRETURNCODE

enum ADPTRRETURNCODE
strong

General return code.

Enumerator
SUCCESS 

Processed successfully.

WARNING 

Some warnings during processing.

INTERNALERROR 

Internal errors.

WRONG_FORMAT 

Image source in format not supported by this version of API.

Definition at line 384 of file PerfectlyClearAdapter.cs.

◆ AGGRESSIVENESS

enum AGGRESSIVENESS
strong

Enumeration defining different Auto Exposure calculation modes.

Enumerator
CONSERVATIVE 

Less aggressive in exposure correction.

MODERATE 

Moderate level of exposure correction.

AGGRESSIVE 

More aggressive in exposure correction.

Definition at line 351 of file PerfectlyClearAdapter.cs.

◆ BIASMODE

enum BIASMODE
strong

Enumeration defining BIAS analysis mode.

Enumerator
BIAS_NONE 

Turn off bias correction.

BIAS_ASIAN_PREFERENCE 

Fine tuned for Asian skin tone.

BIAS_AVERAGE_PREFERENCE 

For average usage.

BIAS_BRIGHTER_PREFERENCE 

Average usage with brighter tone.

BIAS_DONT_BOTHER 

Reserved, never use.

BIAS_AUTO 

Apply auto calculated bias mode and strength.

Definition at line 373 of file PerfectlyClearAdapter.cs.

◆ CONTRASTMODE

enum CONTRASTMODE
strong

Enumeration defining contrast mode.

Enumerator
HIGH_CONTRAST 

Optimized to bring higher contrast to the image.

HIGH_DEFINITION 

Optimized to bring out more details in the shadows, more details in the highlights, and more pleasing skin tones.

Definition at line 366 of file PerfectlyClearAdapter.cs.

◆ DCFMODE

enum DCFMODE
strong

Enumeration defining DCF analysis mode.

Enumerator
FIDELITY_STANDARD 

For normal photo.

FIDELITY_VIVID 

For more color vibrancy.

Definition at line 359 of file PerfectlyClearAdapter.cs.

◆ LIPSHARPENTYPE

enum LIPSHARPENTYPE
strong

Enumeration defining Lip Sharpening mode.

Enumerator
LIPSHARPENTYPE_FINE 

Fine touch of sharpening.

LIPSHARPENTYPE_MEDIUM 

Stronger sharpening. Details are more pronounced.

LIPSHARPENTYPE_COARSE 

Lip details are coarsely pronounced.

Definition at line 418 of file PerfectlyClearAdapter.cs.

◆ PFCAIFEATURE

enum PFCAIFEATURE
strong

Flags defining type of model(s) to load with PFC_LoadAIEngine().

Enumerator
AI_SCENE_DETECTION 

Loads scene detection model, requiring one or two pnn files with filenames like pro_and_universal_20211221.pnn or skintone_20211221.pnn

AI_CORRECTIONS 

Loads AI-based corrections model, requiring the file dynamic.pnn

AI_COMPOSITE 

Loads composite detection model, requiring the file composite.pnn

AI_SKINTONE 

Loads skintone detection model. This is enabled automatically when using AI_SCENE_DETECTION.

AI_COLOR 

Loads AI White Balance color corrections model, requiring the file aicolor.pnn

AI_FACEMESH 

Loads AI models required for Face Detection and Analysis.

Definition at line 116 of file PerfectlyClearAdapter.cs.

◆ PFCAPPLYSTATUS

enum PFCAPPLYSTATUS
strong

Enumeration defining return code from the Apply() function.

Enumerator
APPLY_SUCCESS 

Success.

APPLY_ERROR_PROFILE_MISSING 

Pointer pProfile is NULL.

APPLY_ERROR_ENGINE_MISSING 

Pointer pEngine is NULL.

APPLY_CANCELLED 

Operation cancelled by user.

APPLY_NOSOURCE 

Pointer pImage is NULL.

APPLY_BADFORMAT 

Pixel format not supported.

APPLY_INVALIDLICENSE 

(Protection version only) Invalid license.

APPLY_WASM_INVALID_DOMAIN 

-7 Wrong domain for WASM certificate

APPLY_WASM_INVALID_APIKEY 

-8 Wrong APIKEY for WASM certificate

APPLY_WASM_INVALID_CERTIFICATE 

-9 WASM certificate invalid or not matching APIKEY and domain

APPLY_WASM_EXPIRED_CERTIFICATE 

-10 WASM certificate has expired

APPLY_WASM_CERTIFICATE_WRONG_VERSION 

-11 Wrong format version of WASM certificate

APPLY_LOOKS_MISSING 

-12 tried to apply a LUT but the LUTs file was not found

Definition at line 324 of file PerfectlyClearAdapter.cs.

◆ PFCCORE_STATUS

enum PFCCORE_STATUS
strong

Enumeration defining status of Core pre-calculation.

Enumerator
PFC_CORE_SUCCESS 

Success.

PFC_CORE_NOTENABLED 

Feature not enabled.

PFC_CORE_CANCELLED 

Process cancelled.

PFC_CORE_NOSOURCEIMAGE 

Full res source image (pImage) is missing.

PFC_CORE_INSUFFICIENTMEMORY 

Process aborted because of insufficient memory.

PFC_CORE_MONOLITHIMAGE 

Monolith source image.

PFC_CORE_BELOWMINSIZE 

Image side dimension smaller than 32 pixels.

PFC_CORE_CLIPARTIMAGE 

Clipart type image.

Definition at line 273 of file PerfectlyClearAdapter.cs.

◆ PFCFB_STATUS

enum PFCFB_STATUS
strong

Enumeration defining status of Face Beautification pre-calculation.

Enumerator
PFC_FB_SUCCESS 

Success.

PFC_FB_NOTENABLED 

Feature not enabled.

PFC_FB_WARNING 

Warning. e.g. face not detected.

PFC_FB_FULLRES_REQUIRED 

Full res image (pImage) is missing.

PFC_FB_CANCELLED 

Process cancelled.

PFC_FB_FUNCTION_ERROR 

Unable to locate function in the SFBEngine library.

PFC_FB_CREATE_ENGINE_FAILED 

Unable to create SFB Engine object for processing.

PFC_FB_ANALYSIS_FAILED 

The face analysis did not complete successfully.

PFC_FB_NO_CORRECTION 

No correction occur during process.

PFC_FB_NOT_EXECUTED 

Not executed.

PFC_FB_NOT_AVAILABLE 

Face beautification feature not available.

Definition at line 294 of file PerfectlyClearAdapter.cs.

◆ PFCFEATURE

enum PFCFEATURE
strong

ENUM controlling types of calculations at the pre-calculation stage.

Enumerator
CALC_CORE 

Calculates for Perfectly Clear Core correction.

CALC_NR 

Calculates for Perfectly Clear Noise Removal.

CALC_FB 

Calculates for Face Beautification.

CALC_RE 

Calculates for Red Eye Removal.

CALC_ALL 

Calculates for all of the above.

CALC_NOTINTCALC 

Skip pre-calculations on Abnormal Tint Correction during Core pre-calculations.

CALC_NOFAE 

Skip Face Aware Exposure pre-calculations during Core pre-calculations.

CALC_FAEHISPEED 

Use Fast mode of Face Aware Exposure pre-calculations.

CALC_CARTOON_DETECTOR 

Calculate legacy cartoon detector.

CALC_SCENE_DETECTION 

Calculate Scene Detection.

CALC_COMPOSITE 

Calculate Composite Detection.

CALC_SKINTONE 

Calculate Skintone Detection.

CALC_AICOLOR 

Calculate Auto WB params.

Definition at line 96 of file PerfectlyClearAdapter.cs.

◆ PFCNR_STATUS

enum PFCNR_STATUS
strong

Enumeration defining status of Noise Removal pre-calculation.

Enumerator
PFC_NR_SUCCESS 

Success.

PFC_NR_NOTENABLED 

Feature not enabled.

PFC_NR_FULLRES_REQUIRED 

Full res image (pImage) is missing.

PFC_NR_CANCELLED 

Process cancelled.

PFC_NR_ERRBITMAP 

Error reading image data.

PFC_NR_ERRSETTINGS 

Error in settings.

PFC_NR_MISC_ERROR 

Misc. errors.

PFC_NR_NOTFOUND 

Noise not found.

Definition at line 260 of file PerfectlyClearAdapter.cs.

◆ PFCPIXELFORMAT

enum PFCPIXELFORMAT
strong

defines the format of the image data

Enumerator
PFC_PixelFormat24bppRGB 

24 bit RGB - the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components.

B0 G0 R0 B1 G1 R1 ...
PFC_PixelFormat24bppBGR 

24 bit RGB - the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components.

R0 G0 B0 R1 G1 B1 ...
PFC_PixelFormat32bppABGR 

32 bit ABGR - the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components.

R0 G0 B0 A0 R1 G1 B1 A1 ...
PFC_PixelFormat48bppRGB 

48 bit RGB - the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components. The 16 bit word is Little-endian.

B0 G0 R0 B1 G1 R1 ...
PFC_PixelFormat64bppARGB 

64 bit ARGB - the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The 16 bit word is Little-endian.

B0 G0 R0 A0 B1 G1 R1 A1 ...
PFC_PixelFormat32bppARGB 

32 bit ARGB - the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components.

B0 G0 R0 A0 B1 G1 R1 A1 ...
PFC_PixelFormat48bppBGR 

48 bit BGR - the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components. The 16 bit word is Little-endian.

R0 G0 B0 R1 G1 B1 ...
PFC_PixelFormat64bppABGR 

64 bit ABGR - the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The 16 bit word is Little-endian.

R0 G0 B0 A0 R1 G1 B1 A1 ...

Definition at line 127 of file PerfectlyClearAdapter.cs.

◆ PFCPRESETID

enum PFCPRESETID
strong

ENUM for presets support by this SDK.

Enumerator
PRESET_BEAUTIFY 

Beautify.

PRESET_BEAUTIFYPLUS 

Beautify Plus.

PRESET_DETAILS 

Details.

PRESET_VIVID 

Vivid.

PRESET_INTELLIGENTAUTO 

Intelligent Auto.

PRESET_IAUTO_2019 

New iAuto for even better corrections.

PRESET_IAUTO_2019_RE 

iAuto 2019 with Red Eye correciton enabled

PRESET_IAUTO_21 

The iAuto you love plus newly tuned settings for sharper images, accurate skin correction, and more depth.

PRESET_IAUTO_21_ASIA 

Based on iAuto 21, but with brighter Skin & Depth Bias for truer skin tones.

PRESET_IAUTO_PEOPLE 

New default preset for 2023 - same corrections as iAuto People from the Universal AI Preset Selection group.

Definition at line 244 of file PerfectlyClearAdapter.cs.

◆ PFCRE_STATUS

enum PFCRE_STATUS
strong

Enumeration defining status of Red Eye pre-calculation.

Enumerator
PFC_RE_SUCCESS 

Success.

PFC_RE_NOTENABLED 

Feature not enabled.

PFC_RE_FULLRES_REQUIRED 

Full res image (pImage) is missing.

PFC_RE_NOT_FOUND 

Red eye not found.

PFC_RE_GEN_ERROR 

General error.

PFC_RE_INVALID_PARAMETER 

Invalid parameter.

PFC_RE_NO_MEMORY 

Insufficient memory.

PFC_RE_CANCELLED 

Process cancelled.

PFC_RE_NOT_SUPPORTED 

Not supported.

Definition at line 310 of file PerfectlyClearAdapter.cs.

◆ PFCREJECTOPTION

enum PFCREJECTOPTION
strong

Enumeration defining reject options.

Enumerator
PFC_REJECT_NONE 

Disable image rejection.

PFC_REJECT_MONOLITH 

Reject simple images that don't benefit from correction, like solid colors. This was the default before version 8.5.

PFC_REJECT_CLIPART 

Reject images classified as clipart, used by default.

Definition at line 286 of file PerfectlyClearAdapter.cs.

◆ SKINMODE

enum SKINMODE
strong

Enumeration defining modes in Perfect Smooth analysis.

Enumerator
SKINMODE_FACE 

Apply correction ONLY on skin regions included in faces.

SKINMODE_BODY 

Apply correction on most skin regions regardless they are linked with a face or not.

Definition at line 393 of file PerfectlyClearAdapter.cs.

◆ SKINSMOOTHTYPE

enum SKINSMOOTHTYPE
strong

Enumeration defining types of Skin Smoothing correction.

Enumerator
SKINSMOOTHTYPE_SUBTLE 

The subtle correction removes the wrinkles and spots alone while it keeps the texture of the face unchanged.

SKINSMOOTHTYPE_DEFAULT 

This type of correction provides a more uniform appearance to the complexion. It combines the natural look of the SUBTLE mode with the improved efficiency of SUPERSMOOTH.

SKINSMOOTHTYPE_SUPERSMOOTH 

This is a more aggressive and effective correction where the appearance of the entire skin (including wrinkles, spots, hot spots) is changed (softened).

Definition at line 400 of file PerfectlyClearAdapter.cs.

◆ SKINTONINGTYPE

enum SKINTONINGTYPE
strong

Enumeration defining type of Skin Toning correction.

Enumerator
SKINTONINGTYPE_WHITE 

Whitens (bleaches) face. Recommended mainly for darker skin.

SKINTONINGTYPE_PALE 

Makes skin look lighter and more pale.

SKINTONINGTYPE_WARM 

Warms skin tone.

SKINTONINGTYPE_TAN 

Darkens skin, makes it look naturally tanned.

SKINTONINGTYPE_FOUNDATION 

Adjust skin to user defined foundation color.

Definition at line 408 of file PerfectlyClearAdapter.cs.

◆ TINTCORRECTION

enum TINTCORRECTION
strong

Enumeration defining different abnormal tint analysis mode.

Enumerator
TINTCORRECT_AGGRESSIVE 

Aggressive detection of tint.

TINTCORRECT_DEFAULT 

Moderate level of tint detection.

TINTCORRECT_CONSERVATIVE 

Priority on minimum false positive detection.

TINTCORRECT_STRONGEST 

Highest sensitivity level of tint detection.

Definition at line 342 of file PerfectlyClearAdapter.cs.