WonderLook SDK

We are providing WonderLook SDK so that other software can use color management and LUT management functions of WonderLookPro. By implementing the SDK into other application, the application can use WonderLookPro functions. The SDK has Windows version and MacOS version.


SDK's main functions

WonderLook SDK will achieve following functions in your application.



Category

function

explanation

Color Space Conversion

(provided by LUTs)

Conversion from monitor color space A to monitor color space B

SDR to HDR, HDR to SDR and so on.

OOTFs are selectable.

Between camera color spaces, or between camera color space and monitor color space conversion

Not only representative SLOG, or LogC, but also various camera color spaces are available by TVLogic's own measurement of the camera profiles.

Selection of Rendering

Adding to color space conversion, you can add OOTF/Rendering transform. These transforms are defined ACES input/output, so these can apply to any conversion.

Parameter settiong by GUI

GUI, which is the same with WonderLookPro can be used to set the input/output color spaces and rendering selection.

LUT Management

Creation of Input/Output transform LUTs

LUTs for input color space to given grading space, and given grading space to output color space, can be generated.

LUT of rendering

LUT of rendering which input/output is given grading space can be generated.

LUT cascading

Multiple LUTs can be combined into one LUT

LUT interpolation

LUT interpolation function is provided by feeding RGB values and output RGB values

LUT's system tone curve graph

Creating of system tone curve graph which represents LUT's characteristics

LUT binary

LUT binary information which is float array can be obtained.

Creation of .cube file

.cube file can be saved


SDK's Runnnig Environment

The functions of the SDK has limitations depending on the WonderLookPro License in the PC. For Standard license or above, all of the functions are available. If there is no license on the PC, the grid count of the LUT is restricted to 5 grids. The profile of camera color spaces can be downloadable from TVLogic server through SDK or WonderLookPro software. To use rendering, you have to install WonderLookPro and download rendering sets by WonderLookPro.

License

3DLUT

Grid Count

Grid Count when using Camera Color Space

No License

5

5 for all of the camera color space

Free License

9

9 for only one camera color space you selected.

5 for other cameras.

Entry License

17

17 for selected 4 type of cameras.

5 for other cameras.

Standard License

Corporate License

66

No restriction for camera type.

We are providing sample application with source code to confirm the SDK's functionality. Following is the explanation of the SDK based on the function of the sample application.


WLP_SDK_SampleApp Main Winddow

The application consists form following 7 regeons.


Number

Content

使用API ()内は未使用

1

License Information

Initializing the SDK and obtain WonderLookPro license information. It will show the limitations of grid count.

WLP_Initialize

WLP_GetLicenseInfo

2

Select Parameters for LUTs

Selection of the number of grid count of 3DLUT and grading space.

WLP_AvailableGradingSpaceList


3

Show Color Space Conversion Dialog

After selecting parameters on section 2, you can show the color space conversion dialog to select input / ouptput color spaces to be transformed. LUTs are created and the pointers of them will be returned.

WLP_CreateLut

WLP_RunColorSpaceConversionDlg


4

Parameters of created LUTs

The parameters of created LUTs are shown here. You can create LUTs by using these parameters without showing the dialog.

(WLP_SetInputLutFromName)

(WLP_SetOutputLutFromName)

(WLP_combineLUT)

5

LUT processed results

The system tone curve of the created LUT and LUT processed images are shown here.

WLP_SaveSystemToneGraphImage

WLP_InterpolateLut

6

LUT data in Numbers

The button creates visible numerical text tables of the LUT.

WLP_GetLutBinarySize

WLP_GetLutBinary

7

Save to LUT file

The LUT can be saved as .cube file.

WLP_SaveToCubeFile

(No GUI)

Finalization

Un initialize the SDK.

WLP_DeleteLut

WLP_Uninitialize


No Used

There are a couple of APIs we did not used in this application.

(WLP_GetLutInfo)

(WLP_GetGridCount)

(WLP_SetGridCount)

(WLP_GetShaperLutBinarySize)

(WLP_SetInputLutFromName)

(WLP_SetOutputLutFromName)

(WLP_combineLUT)

(WLP_GradingSpaceToXYZ)

(WLP_XYZtoGradingSpace)


Basic procedures for using WLP_SDK


a. How to start and finish using WLP_SDK

WLP_SDK can be used just after calling  WLP_Initialize.  You can finish using the SDK by calling WLP_Initialize .

After initialization, we recommend you to check the license by WLP_GetLicenseInfo.


b. Management of the LUT Object

WLP_SDK uses "LUT Object". Memory management of "LUT Object" is taken by SDK, but the apllication have to manage the handle of "LUT Object".

WLP_CreateLut can create "LUT Object". Before finishing application, please release the "LUT Object" by WLP_DeleteLut.


Just after created, the "LUT Object" has no transform information. By calling,  WLP_RunColorSpaceConversionDlg,WLP_SetInputLutFromName,WLP_SetOutputLutFromName,WLP_combineLUT  the SDK will set proper transfrom LUT information in the "LUT Object".


The prepared "LUT Object" can be used for various operations. Getting float array binary data(WLP_GetLutBinary),saving .cube file (WLP_SaveToCubeFile)、or calculating interpolated color(WLP_InterpolateLut) are available functions.


c. Grading Space

You have to select grading space when creating color space LUT in WLP_SDK. You can refer to here about the grading space.

Grading space is very important when you are going to use input transform and output transform separately. If you will use only combined transform, you can use default grading space(HSLA).


If you are going to use specific grading space, please get the available grading space list by WLP_AvailableGradingSpaceList, and select from them.



d. Color Space Conversion Dialog

Color Space Conversion Dialog is the center function of WLP_SDK. If you call WLP_RunColorSpaceConversionDlg with proper parameters, following dialog will appear.



This dialog is the same dialog with WonderLookPro. Please refer here to get the detailed information.

By clicking "Select Button", the parameters are decided and the dialog will close and the application will get the response. The LUT handle given by the application when calling the dialog, the proper LUT will be set to the objects and the essential parameter to create the LUT will be returned to the application.


For the sample application, these information will be shown in the regeon 4. If the application keep this information, by calling WLP_SetInputLutFromName,WLP_SetOutputLutFromName  with these information, you will be able to generate exactly the same LUT without showing the dialog.