SDK
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.