Leaper WaferScan Toolkit
中文 / English 2.x
Quick Guide - Linux

Requirements

LPW runs on Linux x86_64 and aarch64 system. For more details, see Supported Platforms and Minimum System Requirements page.

Install

Download then extract the lpw_sdk_x.x.x.x_linux_arch.tar.gz file to any directory.

Install x86_64 Package

mkdir lpv & tar -xf lpv_sdk_x.x.x.x_linux_x86_64.tar.gz -C lpv

Install arm64 Package

mkdir lpv & tar -xf lpv_sdk_x.x.x.x_linux_arm64.tar.gz -C lpv

Licensing

Using License File

  1. Run lpvKeyTool under LPW bin folder. It generates a lpv.key file on your desktop.
  2. Send the generated lpv.key file to us or your LPW SDK Tech Support. We will send you back a .lic license file.
  3. You may manually place the license file into any of the following folder:
    • LPW lib folder
    • /home/LPV/



Integration

Integrated with LPW

On Linux, LPW interfaces are exported in C symbols then wrapped into C++ classes which is much more convenient for use.

In your C++ code, add #include "LPVXXX.h" to include the required LPW modules, then create LPW instances via static LClass::Create() functions.
The following code show a short example:

// add include.
#include "LPVCore.h";
#include "LPVGeom.h";
#include "LPVPat.h";
using namespace LPVCoreLib;
using namespace LPVGeomLib;
using namespace LPVPatLib;
// create class instance
// the following code defined an ILMatch interface of a LMatch object.
ILMatchPtr lmatch = LMatch::Create();
// call functions, such as set pattern matching's maximum count, or angle tolerance.
lmatch->MaxCount = 1;
lmatch->AngleTolerance = 180;
// call functions and handle the returned error code, such as do pattern matching.
LPVErrorCode errCode = lmatch->Match(sourceImg, roi, out matchResults);
if (errCode != LPVErrorCode::LPVNoError) {}
LPV Core Library, provide basic functionalities.
Definition: LPVCore.idl:427
LPVErrorCode
This enumeration represents the type of a LPV function error.
Definition: LPVCore.idl:530
LPV Geometry Library, provide geometric functionalities.
Definition: LPVGeom.idl:80
LPV Pattern Library, provides functionality for pattern matching.
Definition: LPVPat.idl:80


Add LPW Libraries to CMake Projects

Edit CMakeList.txt, add include path and link libraries.

# set C++ starndard to at least cpp11
set(CMAKE_CXX_STANDARD 11)
# add include path
# ${LPV_INCLUDE_PATH} points to include folder
target_include_directories(${PROJECT_NAME} ${LPV_INCLUDE_PATH})
# link lpv module
# ${LPV_LIB_PATH} points to lib folder
function(link_lpv_lib module_name)
find_library(LPV_LIBRARY_${module_name} NAMES ${module_name} PATHS ${LPV_LIB_PATH})
if(NOT LPV_LIBRARY_${module_name})
message("!!!! LPV_LIBRARY_${module_name} not found")
else()
target_link_libraries(${PROJECT_NAME} ${LPV_LIBRARY_${module_name}})
endif()
endfunction()
link_lpv_lib(lpvCore)
link_lpv_lib(lpvGeom)
link_lpv_lib(lpvPat)


Add LPW Libraries to Qt Projects

If you are using Qt Creator,

  1. RMC your project, select Add Library.
  2. Choose External library, then click Next.
  3. Browse Library file to LPW dynamic libraries under lib folder.
  4. Browse Include path to LPW include folder.
  5. Check Linux platform and Dynamic linkage.
  6. Click Next and then Finish.

Alternatively, you can edit .pro file manually as the following:

# add include path
# ${LPV_INCLUDE_PATH} points to include folder
INCLUDEPATH += $$LPV_INCLUDE_PATH
# link lpv module
# ${LPV_LIB_PATH} points to lib folder
LIBS += -L$$LPV_LIB_PATH -llpvCore -llpvGeom -llpvPat
DEPENDPATH += $$LPV_LIB_PATH