{ "arm_based_platforms.pdf": { "pages": 16, "toc": [ [ 1, "1 Using HALCON on Arm-based Platforms", 7 ], [ 2, "1.1 Requirements", 7 ], [ 2, "1.2 Limitations", 7 ], [ 2, "1.3 Differences to Other Platforms", 7 ], [ 2, "1.4 How to Develop HALCON Applications for Arm-based Platforms", 8 ], [ 2, "1.5 Where to Find Further Information", 8 ], [ 1, "2 Getting Started", 9 ], [ 2, "2.1 Installing the Necessary Components", 9 ], [ 3, "2.1.1 Installing HALCON on the Development PC Running Under Linux", 9 ], [ 3, "2.1.2 Installing HALCON on the Arm-based Platform", 10 ], [ 2, "2.2 Licensing", 10 ], [ 3, "2.2.1 Installing the License on the Arm-based Platform", 10 ], [ 1, "3 Creating Applications", 11 ], [ 2, "3.1 Configuration Files and Directory Structure", 11 ], [ 3, "3.1.1 Cross-Compile", 11 ], [ 3, "3.1.2 Compile and Run on a Native Machine", 13 ], [ 2, "3.2 Developing in HDevelop", 14 ], [ 2, "3.3 Creating C++ Applications", 14 ], [ 2, "3.4 Creating C Applications", 14 ], [ 2, "3.5 Creating C# Applications", 15 ], [ 2, "3.6 Creating Python Applications", 15 ], [ 2, "3.7 Using HDevEngine", 15 ] ] }, "extension_package_programmers_manual.pdf": { "pages": 147, "toc": [ [ 1, "1 Introduction", 9 ], [ 2, "1.1 HALCON Operators", 9 ], [ 3, "1.1.1 Using HALCON Operators in C, C++, and .NET Languages", 10 ], [ 3, "1.1.2 Internal Structure of HALCON Operators", 10 ], [ 2, "1.2 HALCON Packages", 11 ], [ 3, "1.2.1 Packages and HALCON XL", 12 ], [ 3, "1.2.2 Directory Structure of a HALCON Package", 12 ], [ 3, "1.2.3 How to Create and Use a HALCON Package", 13 ], [ 2, "1.3 Installing a HALCON Package", 13 ], [ 3, "1.3.1 Windows", 14 ], [ 3, "1.3.2 Linux", 14 ], [ 2, "1.4 An Example", 14 ], [ 1, "2 Operator Description (DEF File)", 19 ], [ 2, "2.1 Short Operator Description", 19 ], [ 2, "2.2 Extended Operator Description", 20 ], [ 3, "2.2.1 Header", 20 ], [ 3, "2.2.2 short", 21 ], [ 3, "2.2.3 warning", 21 ], [ 3, "2.2.4 abstract", 21 ], [ 3, "2.2.5 module", 22 ], [ 3, "2.2.6 chapter", 22 ], [ 3, "2.2.7 functionality", 23 ], [ 3, "2.2.8 keywords", 23 ], [ 3, "2.2.9 predecessor, successor, alternatives", 23 ], [ 3, "2.2.10 see_also", 23 ], [ 3, "2.2.11 attention", 23 ], [ 3, "2.2.12 result_state", 24 ], [ 3, "2.2.13 parallelization", 24 ], [ 3, "2.2.14 complexity", 27 ], [ 3, "2.2.15 example", 27 ], [ 3, "2.2.16 references", 27 ], [ 3, "2.2.17 class Information", 27 ], [ 2, "2.3 Describing the Parameters", 28 ], [ 3, "2.3.1 Name", 28 ], [ 3, "2.3.2 default_type", 29 ], [ 3, "2.3.3 sem_type", 29 ], [ 3, "2.3.4 modified", 30 ], [ 3, "2.3.5 multivalue", 30 ], [ 3, "2.3.6 costs_weight", 31 ], [ 3, "2.3.7 postprocessing", 31 ], [ 3, "2.3.8 description", 32 ], [ 3, "2.3.9 type_list", 32 ], [ 3, "2.3.10 default_value", 32 ], [ 3, "2.3.11 values", 33 ], [ 3, "2.3.12 value_list", 33 ], [ 3, "2.3.13 value_min, value_max", 33 ], [ 3, "2.3.14 step_rec, step_min, value_function", 33 ], [ 3, "2.3.15 value_number", 33 ], [ 3, "2.3.16 assertion", 34 ], [ 3, "2.3.17 multichannel", 34 ], [ 3, "2.3.18 multiinstance", 35 ], [ 3, "2.3.19 file_ext, file_ext_descr", 35 ], [ 2, "2.4 Text in DEF Files", 35 ], [ 2, "2.5 Chapter Description", 38 ], [ 1, "3 Style Guide for Programming", 39 ], [ 2, "3.1 Basic Numeric Data Types", 39 ], [ 3, "3.1.1 Attributes of Iconic Parameters", 39 ], [ 3, "3.1.2 Local Variables / Temporary Results", 40 ], [ 3, "3.1.3 Procedure Parameters", 40 ], [ 3, "3.1.4 Arrays", 40 ], [ 2, "3.2 Memory Management", 41 ], [ 3, "3.2.1 Temporary Data", 41 ], [ 3, "3.2.2 Global Data", 43 ], [ 3, "3.2.3 Debugging", 45 ], [ 2, "3.3 Structuring Programs", 46 ], [ 2, "3.4 Extension Package Initialization", 46 ], [ 2, "3.5 Name Conventions for Procedures", 46 ], [ 2, "3.6 Input / Output", 47 ], [ 2, "3.7 Error Handling", 47 ], [ 3, "3.7.1 Defining Own Error Codes", 47 ], [ 3, "3.7.2 Extending Error Codes", 48 ], [ 2, "3.8 Notes on Image Processing Operators", 48 ], [ 1, "4 HALCON Data Types", 49 ], [ 2, "4.1 Pixel Data (Himage)", 49 ], [ 2, "4.2 Region Data (Hrlregion)", 50 ], [ 2, "4.3 XLDs (Hcont, Hpoly)", 52 ], [ 2, "4.4 Control Parameters", 55 ], [ 1, "5 Handling Iconic Objects and Control Parameters", 57 ], [ 2, "5.1 Basic Access to Iconic Input Objects", 57 ], [ 3, "5.1.1 HGetObj", 57 ], [ 3, "5.1.2 HGetComp", 59 ], [ 3, "5.1.3 HGetRL", 60 ], [ 3, "5.1.4 HGetImage", 61 ], [ 3, "5.1.5 HGetXLD", 62 ], [ 2, "5.2 Additional Routines for Accessing Input Image Objects", 62 ], [ 3, "5.2.1 HGetDRL", 62 ], [ 3, "5.2.2 HGetFDRL", 62 ], [ 3, "5.2.3 HGetURL", 63 ], [ 3, "5.2.4 HGetDImage", 64 ], [ 3, "5.2.5 HGetObjNum", 65 ], [ 2, "5.3 Loop Macros for Accessing Single Input Objects", 65 ], [ 3, "5.3.1 HAllObj", 66 ], [ 3, "5.3.2 HAllComp", 66 ], [ 2, "5.4 Creating Objects and Writing Output Object Parameters", 67 ], [ 3, "5.4.1 HCrObj", 67 ], [ 3, "5.4.2 HCopyObj", 68 ], [ 3, "5.4.3 HPutDRL", 69 ], [ 3, "5.4.4 HPutImage", 69 ], [ 3, "5.4.5 HDefObj", 69 ], [ 3, "5.4.6 HPutDImage", 70 ], [ 3, "5.4.7 HCrImage", 70 ], [ 3, "5.4.8 HCrXLD", 71 ], [ 2, "5.5 Reading and Writing Control Parameters", 72 ], [ 3, "5.5.1 HGetPElemX", 72 ], [ 3, "5.5.2 HGetPPar", 74 ], [ 3, "5.5.3 HGetPElem", 74 ], [ 3, "5.5.4 HGetCElemX", 75 ], [ 3, "5.5.5 HGetElemX", 75 ], [ 3, "5.5.6 HCopyElemX", 76 ], [ 3, "5.5.7 HGetCPar", 76 ], [ 3, "5.5.8 HGetSPar", 77 ], [ 3, "5.5.9 HGetCParNum", 77 ], [ 3, "5.5.10 HAllocStringMem", 78 ], [ 3, "5.5.11 HPutPElem", 79 ], [ 3, "5.5.12 HPutPPar", 79 ], [ 3, "5.5.13 HPutElem", 80 ], [ 3, "5.5.14 HPutElemH", 80 ], [ 3, "5.5.15 HPutCPar", 80 ], [ 2, "5.6 Auxiliary Extension Package Interface Macros and Procedures", 82 ], [ 3, "5.6.1 HCkP", 83 ], [ 3, "5.6.2 HCkNoObj", 83 ], [ 3, "5.6.3 HRLDecomp", 83 ], [ 3, "5.6.4 HNumOfChannels", 84 ], [ 3, "5.6.5 HIncrRL", 84 ], [ 1, "6 Special Routines for Typical Supply Procedures", 87 ], [ 2, "6.1 Loop Macros", 87 ], [ 3, "6.1.1 HAllReg", 88 ], [ 3, "6.1.2 HAllSegm", 89 ], [ 3, "6.1.3 HAllFilter", 90 ], [ 3, "6.1.4 HAllFilter2", 92 ], [ 2, "6.2 Object Generation", 92 ], [ 3, "6.2.1 HNewRegion", 94 ], [ 3, "6.2.2 HPutRect", 94 ], [ 3, "6.2.3 HDupObj", 94 ], [ 1, "7 Creating a New HALCON Package", 97 ], [ 2, "7.1 The HALCON Compiler 'hcomp'", 97 ], [ 3, "7.1.1 Selection of the Host Language", 97 ], [ 3, "7.1.2 Creating the Help Files", 98 ], [ 3, "7.1.3 Creating HTML Reference Files", 98 ], [ 3, "7.1.4 Creating the PDF Reference Manuals", 99 ], [ 3, "7.1.5 Miscellaneous", 100 ], [ 2, "7.2 Generating HALCON Packages", 100 ], [ 3, "7.2.1 Creating the Operator Libraries", 100 ], [ 3, "7.2.2 Creating the C Interface", 100 ], [ 3, "7.2.3 Creating the C++ Interface", 101 ], [ 3, "7.2.4 Creating the .NET Interface", 101 ], [ 3, "7.2.5 Creating New Applications", 101 ], [ 3, "7.2.6 Additional Information for Specific Platforms", 101 ], [ 2, "7.3 HALCON Directories", 104 ], [ 1, "A HALCON Error Codes", 105 ], [ 1, "B HALCON Semantic Types", 141 ], [ 1, "Index", 143 ] ] }, "gray_value_interpolation.pdf": { "pages": 16, "toc": [ [ 1, "1 Introduction", 7 ], [ 1, "2 Interpolation Methods", 8 ], [ 2, "2.1 Overview", 8 ], [ 3, "2.1.1 Interpolation Methods for Image Transformations", 8 ], [ 3, "2.1.2 Interpolation Methods for Measure Objects and the Determination of Gray Values at Specific Positions", 9 ], [ 2, "2.2 Nearest Neighbor Interpolation ('nearest_neighbor')", 9 ], [ 2, "2.3 Bilinear Interpolation ('bilinear')", 10 ], [ 2, "2.4 Bilinear Interpolation with Integrated Smoothing", 10 ], [ 3, "2.4.1 Equally Weighted Bilinear Interpolation ('constant')", 11 ], [ 3, "2.4.2 Gaussian Weighted Bilinear Interpolation ('weighted')", 11 ], [ 2, "2.5 Bicubic Interpolation ('bicubic' and 'bicubic_clipped')", 12 ], [ 2, "2.6 Influence of the System Parameter 'int_zooming'", 12 ], [ 1, "3 Examples", 13 ], [ 2, "3.1 Rotation", 13 ], [ 2, "3.2 Upscaling", 14 ], [ 2, "3.3 Downscaling", 14 ] ] }, "hdevelop_users_guide.pdf": { "pages": 344, "toc": [ [ 1, "1 Introducing HDevelop", 11 ], [ 2, "1.1 Facts About HDevelop", 11 ], [ 2, "1.2 HDevelop XL", 12 ], [ 2, "1.3 Terminology & Usage", 12 ], [ 1, "2 Getting Started", 15 ], [ 2, "2.1 Running HDevelop", 15 ], [ 2, "2.2 Start Dialog", 16 ], [ 2, "2.3 User Interface", 16 ], [ 2, "2.4 Organizing HDevelop's Workspace", 17 ], [ 2, "2.5 Running Example Programs", 19 ], [ 1, "3 Acquiring Images With HDevelop", 23 ], [ 2, "3.1 Reading Images From Files", 23 ], [ 2, "3.2 Viewing Images", 24 ], [ 2, "3.3 Image Acquisition Assistant", 25 ], [ 3, "3.3.1 Acquiring Images From Files or Directories", 25 ], [ 3, "3.3.2 Acquiring Images Through Image Acquisition Interfaces", 27 ], [ 3, "3.3.3 Modifying the Generated Code", 30 ], [ 1, "4 Programming With HDevelop", 31 ], [ 2, "4.1 Starting a New Program", 31 ], [ 2, "4.2 Entering an Operator", 32 ], [ 2, "4.3 Specifying Parameters", 32 ], [ 2, "4.4 Getting Help", 33 ], [ 2, "4.5 Adding Program Lines", 33 ], [ 2, "4.6 Understanding the Image Display", 34 ], [ 2, "4.7 Inspecting Variables", 35 ], [ 2, "4.8 Improving the Threshold Using the Gray Histogram", 35 ], [ 2, "4.9 Editing Lines", 37 ], [ 2, "4.10 Executing a Program", 37 ], [ 2, "4.11 Saving a Program", 38 ], [ 2, "4.12 Selecting Regions Based on Features", 38 ], [ 2, "4.13 Opening the Graphics Window", 40 ], [ 2, "4.14 Looping Over the Results", 40 ], [ 2, "4.15 Summary", 41 ], [ 1, "5 HDevelop Procedures", 43 ], [ 2, "5.1 Procedure Types", 43 ], [ 2, "5.2 File Types", 44 ], [ 3, "5.2.1 File Tracking", 44 ], [ 3, "5.2.2 HDevelop Programs", 44 ], [ 3, "5.2.3 Procedure Files", 44 ], [ 3, "5.2.4 Libraries", 45 ], [ 2, "5.3 Procedure Scope", 45 ], [ 2, "5.4 Procedure Locations", 45 ], [ 2, "5.5 Procedure Resolution", 46 ], [ 2, "5.6 Protected Procedures", 47 ], [ 2, "5.7 Procedure Documentation", 47 ], [ 2, "5.8 Legacy Procedures", 48 ], [ 2, "5.9 Just-in-Time Compilation", 48 ], [ 1, "6 Graphical User Interface", 51 ], [ 2, "6.1 Menu", 52 ], [ 3, "6.1.1 Menu File", 52 ], [ 3, "6.1.2 Menu Edit", 54 ], [ 3, "6.1.3 Menu Execute", 55 ], [ 3, "6.1.4 Menu Visualization", 56 ], [ 3, "6.1.5 Menu Procedures", 59 ], [ 3, "6.1.6 Menu Operators", 60 ], [ 3, "6.1.7 Menu Suggestions", 61 ], [ 3, "6.1.8 Menu Assistants", 62 ], [ 3, "6.1.9 Menu Window", 63 ], [ 3, "6.1.10 Menu Help", 64 ], [ 2, "6.2 Tool Bar", 64 ], [ 2, "6.3 Status Bar", 65 ], [ 2, "6.4 Canvas Window", 66 ], [ 3, "6.4.1 Canvas Options", 66 ], [ 3, "6.4.2 Zooming", 68 ], [ 3, "6.4.3 Moving", 68 ], [ 3, "6.4.4 Resizing", 68 ], [ 2, "6.5 Browse Example Programs Dialog", 69 ], [ 2, "6.6 Export Program Dialog", 69 ], [ 2, "6.7 Find/Replace Dialog", 72 ], [ 2, "6.8 Graphics Window", 73 ], [ 3, "6.8.1 Tool Bar", 75 ], [ 3, "6.8.2 Visualization Parameters", 76 ], [ 3, "6.8.3 Context Menu", 79 ], [ 3, "6.8.4 3D Plot Mode", 80 ], [ 3, "6.8.5 Special Keyboard Shortcuts", 80 ], [ 2, "6.9 Help Window", 81 ], [ 2, "6.10 OCR Training File Browser", 86 ], [ 3, "6.10.1 Windows of the Training File Browser", 86 ], [ 3, "6.10.2 Steps for Working With the OCR Training File Browser", 87 ], [ 3, "6.10.3 Actions Within the Training File Browser", 88 ], [ 2, "6.11 Operator Window", 91 ], [ 3, "6.11.1 Operator Name Field", 92 ], [ 3, "6.11.2 Parameter Display", 92 ], [ 3, "6.11.3 Control Buttons", 95 ], [ 2, "6.12 Output Console Window", 95 ], [ 2, "6.13 Plot Windows", 96 ], [ 3, "6.13.1 Interacting With Plot Windows", 97 ], [ 3, "6.13.2 Gray Histogram Window", 99 ], [ 3, "6.13.3 Feature Histogram Window", 104 ], [ 3, "6.13.4 Feature Inspection Window", 105 ], [ 3, "6.13.5 Line Profile Window", 107 ], [ 2, "6.14 Properties Dialog", 111 ], [ 2, "6.15 Print Dialog", 111 ], [ 2, "6.16 Preferences Dialog", 112 ], [ 3, "6.16.1 User Interface Program Window", 113 ], [ 3, "6.16.2 User Interface Fonts", 114 ], [ 3, "6.16.3 User Interface Language", 114 ], [ 3, "6.16.4 User Interface Themes", 115 ], [ 3, "6.16.5 Procedures Directories", 115 ], [ 3, "6.16.6 Procedures External Procedures", 116 ], [ 3, "6.16.7 Procedures Manage Procedure Libraries", 117 ], [ 3, "6.16.8 Procedures Manage Passwords", 119 ], [ 3, "6.16.9 Procedures Procedure Use", 120 ], [ 3, "6.16.10 Procedures Unresolved Procedure Calls", 120 ], [ 3, "6.16.11 General Options General Options", 121 ], [ 3, "6.16.12 General Options Experienced User", 123 ], [ 3, "6.16.13 Visualization Settings", 125 ], [ 3, "6.16.14 Runtime Settings Runtime Settings", 125 ], [ 3, "6.16.15 Runtime Settings Override Operator Behavior", 126 ], [ 3, "6.16.16 Telemetry", 127 ], [ 2, "6.17 Program Window", 127 ], [ 3, "6.17.1 Program Window Actions", 127 ], [ 3, "6.17.2 Editing Programs", 128 ], [ 3, "6.17.3 Program Counter, Insert Cursor, and Breakpoints", 133 ], [ 3, "6.17.4 Context Menu", 133 ], [ 3, "6.17.5 Creating Procedures", 135 ], [ 3, "6.17.6 Editing Procedures", 140 ], [ 3, "6.17.7 Side Effects of Procedure Changes", 141 ], [ 3, "6.17.8 Providing Procedure Documentation", 142 ], [ 3, "6.17.9 Protecting a Procedure", 146 ], [ 3, "6.17.10 Profiler", 148 ], [ 2, "6.18 Quick Navigation Window", 152 ], [ 3, "6.18.1 Invalid Lines", 153 ], [ 3, "6.18.2 Find Results", 154 ], [ 3, "6.18.3 Breakpoints", 154 ], [ 3, "6.18.4 Bookmarks", 155 ], [ 2, "6.19 ROI Window", 155 ], [ 2, "6.20 Thread View / Call Stack", 160 ], [ 2, "6.21 Variable Window", 160 ], [ 3, "6.21.1 Breakpoints on Variables", 162 ], [ 3, "6.21.2 Managing Variables", 162 ], [ 3, "6.21.3 Iconic Variables", 163 ], [ 3, "6.21.4 Control Variables", 166 ], [ 2, "6.22 Variable Inspect", 167 ], [ 3, "6.22.1 Inspecting Tuples", 167 ], [ 3, "6.22.2 Inspecting Vectors", 169 ], [ 3, "6.22.3 Inspecting Handles", 170 ], [ 3, "6.22.4 Inspecting Matrices", 170 ], [ 3, "6.22.5 Inspecting Poses", 170 ], [ 3, "6.22.6 Inspecting Image Acquisition Device Handles", 171 ], [ 3, "6.22.7 Inspecting Functions", 171 ], [ 3, "6.22.8 Inspecting 3D Object Models", 176 ], [ 2, "6.23 Zoom Window", 177 ], [ 1, "7 HDevelop Assistants", 179 ], [ 2, "7.1 Image Acquisition Assistant", 180 ], [ 3, "7.1.1 Tab Source", 180 ], [ 3, "7.1.2 Tab Connection", 180 ], [ 3, "7.1.3 Tab Parameters", 181 ], [ 3, "7.1.4 Tab Inspect", 182 ], [ 3, "7.1.5 Tab Code Generation", 182 ], [ 3, "7.1.6 Menu Bar", 183 ], [ 2, "7.2 Calibration Assistant", 184 ], [ 3, "7.2.1 Introducing the Calibration Assistant of HDevelop", 184 ], [ 3, "7.2.2 How to Calibrate With the Calibration Assistant", 185 ], [ 3, "7.2.3 Results of the Calibration", 195 ], [ 3, "7.2.4 Generating Code", 196 ], [ 3, "7.2.5 Calibration Assistant Reference", 198 ], [ 2, "7.3 Matching Assistant", 202 ], [ 3, "7.3.1 Introducing the Matching Assistant of HDevelop", 202 ], [ 3, "7.3.2 How to Use the Matching Assistant of HDevelop", 203 ], [ 3, "7.3.3 Matching Assistant Reference", 204 ], [ 2, "7.4 Measure Assistant", 219 ], [ 3, "7.4.1 Introducing the Measure Assistant of HDevelop", 219 ], [ 3, "7.4.2 How to Use the Measure Assistant of HDevelop", 220 ], [ 3, "7.4.3 Results", 222 ], [ 3, "7.4.4 Code Generation", 223 ], [ 3, "7.4.5 Advanced Measuring Tasks", 224 ], [ 3, "7.4.6 Measure Assistant Reference", 228 ], [ 2, "7.5 OCR Assistant", 231 ], [ 3, "7.5.1 Introducing the OCR Assistant of HDevelop", 231 ], [ 3, "7.5.2 Setup", 232 ], [ 3, "7.5.3 Segmentation", 234 ], [ 3, "7.5.4 OCR Classifier", 236 ], [ 3, "7.5.5 Results", 240 ], [ 3, "7.5.6 Code Generation", 241 ], [ 3, "7.5.7 OCR Assistant Reference", 242 ], [ 1, "8 HDevelop Language", 247 ], [ 2, "8.1 Basic Types of Parameters", 247 ], [ 2, "8.2 Control Types and Constants", 248 ], [ 2, "8.3 Variables", 251 ], [ 3, "8.3.1 Variable Types", 251 ], [ 3, "8.3.2 Scope of Variables (local or global)", 252 ], [ 2, "8.4 Operations on Iconic Objects", 253 ], [ 2, "8.5 Expressions for Input Control Parameters", 253 ], [ 3, "8.5.1 General Features of Tuple Operations", 253 ], [ 3, "8.5.2 Assignment", 254 ], [ 3, "8.5.3 Basic Tuple Operations", 256 ], [ 3, "8.5.4 Tuple Creation", 257 ], [ 3, "8.5.5 Type Operations", 259 ], [ 3, "8.5.6 Basic Arithmetic Operations", 259 ], [ 3, "8.5.7 Bit Operations", 260 ], [ 3, "8.5.8 String Operations", 260 ], [ 3, "8.5.9 Set Operations", 265 ], [ 3, "8.5.10 Comparison Operations", 265 ], [ 3, "8.5.11 Elementwise Comparison Operations", 266 ], [ 3, "8.5.12 Boolean Operations", 267 ], [ 3, "8.5.13 Trigonometric Functions", 267 ], [ 3, "8.5.14 Exponential Functions", 268 ], [ 3, "8.5.15 Numerical Functions", 268 ], [ 3, "8.5.16 Miscellaneous Functions", 269 ], [ 3, "8.5.17 Operation Precedence", 270 ], [ 2, "8.6 Vectors", 270 ], [ 2, "8.7 Dictionaries", 273 ], [ 2, "8.8 Reserved Words", 276 ], [ 2, "8.9 Control Flow Operators", 276 ], [ 2, "8.10 Error Handling", 282 ], [ 3, "8.10.1 Tracking the Return Value of Operator Calls", 282 ], [ 3, "8.10.2 Exception Handling", 283 ], [ 2, "8.11 Parallel Execution", 283 ], [ 3, "8.11.1 Starting a Subthread", 283 ], [ 3, "8.11.2 Waiting for Subthreads to Finish", 285 ], [ 3, "8.11.3 Execution of Threads in HDevelop", 286 ], [ 3, "8.11.4 Inspecting Threads", 287 ], [ 3, "8.11.5 Suspending and Resuming Threads", 288 ], [ 2, "8.12 Summary of HDevelop Tuple Operations", 288 ], [ 2, "8.13 HDevelop Error Codes", 292 ], [ 2, "8.14 Emergency Backup", 297 ], [ 1, "9 Remote Debugging", 299 ], [ 2, "9.1 Requirements", 299 ], [ 2, "9.2 Attaching to an External Application", 299 ], [ 2, "9.3 Debugging", 301 ], [ 2, "9.4 Handling of Procedures", 301 ], [ 2, "9.5 Handling of Protected Procedures", 301 ], [ 2, "9.6 Error Handling", 301 ], [ 2, "9.7 Threading", 302 ], [ 2, "9.8 Terminating a Remote Debug Session", 302 ], [ 2, "9.9 Limitations", 302 ], [ 1, "10 Code Export", 303 ], [ 2, "10.1 Exporting Library Projects", 303 ], [ 3, "10.1.1 Requirements", 303 ], [ 3, "10.1.2 Project Preparation", 304 ], [ 3, "10.1.3 Exporting a Library Project", 304 ], [ 3, "10.1.4 Using the Exported Library Project", 305 ], [ 2, "10.2 Exporting Entire HDevelop Programs", 307 ], [ 3, "10.2.1 Code Generation for C++", 307 ], [ 3, "10.2.2 Code Generation for C# (HALCON/.NET)", 309 ], [ 3, "10.2.3 Code Generation for Visual Basic.NET (HALCON/.NET)", 311 ], [ 3, "10.2.4 Code Generation for C", 313 ], [ 3, "10.2.5 General Aspects of Code Generation", 314 ], [ 1, "A Glossary", 319 ], [ 1, "B Color Names", 321 ], [ 1, "C Command Line Usage", 323 ], [ 2, "C.1 HDevelop", 323 ], [ 2, "C.2 Hrun", 326 ], [ 1, "D Keyboard Shortcuts", 327 ], [ 2, "D.1 Canvas Window", 327 ], [ 2, "D.2 Graphics Window", 327 ], [ 2, "D.3 Help Window", 328 ], [ 2, "D.4 HDevelop Main Window", 328 ], [ 2, "D.5 OCR Training File Browser", 331 ], [ 2, "D.6 Plot Windows", 332 ], [ 2, "D.7 Program Window", 332 ], [ 2, "D.8 Variable Inspect", 333 ], [ 1, "Index", 335 ] ] }, "installation_guide.pdf": { "pages": 47, "toc": [ [ 1, "1 Introduction", 7 ], [ 2, "1.1 HALCON Editions", 7 ], [ 2, "1.2 HALCON Configurations", 7 ], [ 2, "1.3 Releases and HALCON Versions", 8 ], [ 2, "1.4 Supported Platforms and Minimum System Requirements", 8 ], [ 3, "1.4.1 Platform-Specific HALCON Versions", 8 ], [ 3, "1.4.2 Platform-Independent Applications", 9 ], [ 3, "1.4.3 HALCON Variable Inspect (Visual Studio Extension)", 9 ], [ 3, "1.4.4 Requirements for Deep Learning and Deep-Learning-Based Methods", 10 ], [ 3, "1.4.5 Requirements for Language Interface Examples", 12 ], [ 2, "1.5 Limitations", 12 ], [ 3, "1.5.1 General Limitations", 12 ], [ 3, "1.5.2 Limitations for Dongle-based Licenses", 12 ], [ 3, "1.5.3 Limitations Related to Compute Devices", 13 ], [ 3, "1.5.4 Limitations Related to Image Acquisition", 13 ], [ 3, "1.5.5 Limitations Related to OpenGL", 13 ], [ 3, "1.5.6 Limitations Related to Extension Packages", 13 ], [ 2, "1.6 Licensing", 14 ], [ 1, "2 Installing HALCON", 15 ], [ 2, "2.1 Downloading HALCON", 15 ], [ 2, "2.2 Starting the Installation", 15 ], [ 3, "2.2.1 Windows/Linux", 15 ], [ 2, "2.3 Switching HALCON Versions", 18 ], [ 2, "2.4 Updating HALCON", 18 ], [ 2, "2.5 Installing I/O Device and Image Acquisition Interfaces", 19 ], [ 2, "2.6 Installing Extension Packages", 19 ], [ 3, "2.6.1 Using an Extension Package Within HDevelop", 19 ], [ 3, "2.6.2 Using an Extension Package in a Stand-Alone Application", 19 ], [ 1, "3 Uninstalling HALCON", 21 ], [ 2, "3.1 Windows", 21 ], [ 2, "3.2 Linux", 22 ], [ 1, "4 Installing Third-Party Components", 23 ], [ 2, "4.1 Third-Party Components for Deep Learning on Linux aarch64", 23 ], [ 3, "4.1.1 Getting the Components", 23 ], [ 3, "4.1.2 Including the Libraries", 23 ], [ 3, "4.1.3 Additional Required General Settings", 24 ], [ 1, "5 All About HALCON Licenses", 25 ], [ 2, "5.1 What is a License?", 25 ], [ 2, "5.2 Evaluation Licenses", 26 ], [ 2, "5.3 Development Licenses", 27 ], [ 3, "5.3.1 License Bound to a Network Card", 27 ], [ 3, "5.3.2 License Bound to a Dongle", 27 ], [ 3, "5.3.3 License Bound to a Remote Dongle", 28 ], [ 2, "5.4 Runtime Licenses", 28 ], [ 3, "5.4.1 Getting a Runtime License Restricted to Specific Modules", 28 ], [ 3, "5.4.2 Dynamic Modules for Deep-Learning-Based Applications", 29 ], [ 2, "5.5 How to Upgrade a License", 30 ], [ 2, "5.6 How to Check the Genuineness of HALCON (Windows)", 31 ], [ 2, "5.7 License Watchdog Process For Floating Licenses (Windows)", 31 ], [ 1, "6 HALCON in a Docker Container", 33 ], [ 2, "6.1 Include a HALCON Installation", 33 ], [ 3, "6.1.1 Basic HALCON Packages", 33 ], [ 3, "6.1.2 Required System Packages", 33 ], [ 3, "6.1.3 HALCON Language Interface", 34 ], [ 2, "6.2 Include External Hardware", 34 ], [ 3, "6.2.1 NVIDIA GPUs for Deep Learning", 34 ], [ 3, "6.2.2 NVIDIA GPUs for OpenCL", 35 ], [ 2, "6.3 Licensing HALCON within a Docker Container", 35 ], [ 3, "6.3.1 Remote Dongle", 35 ], [ 3, "6.3.2 Forward USB License Dongle Into Container (Linux Only)", 36 ], [ 1, "7 Troubleshooting", 37 ], [ 2, "7.1 Problems During Installation", 37 ], [ 3, "7.1.1 HALCON Variable Inspect (Visual Studio Extension)", 37 ], [ 2, "7.2 Problems Concerning Licenses", 38 ], [ 3, "7.2.1 Extracting Host IDs", 38 ], [ 3, "7.2.2 HALCON/Python and Floating Licenses under Linux", 39 ], [ 2, "7.3 Troubleshooting in HDevelop or HALCON Applications", 39 ], [ 3, "7.3.1 Troubleshooting with the hinfo utility", 39 ], [ 3, "7.3.2 Startup Errors", 39 ], [ 1, "A More on the Installation", 41 ], [ 2, "A.1 Software Packages", 41 ], [ 2, "A.2 The Installed File Structure", 42 ], [ 3, "A.2.1 Main Directory", 43 ], [ 3, "A.2.2 Machine Configuration Data", 44 ], [ 3, "A.2.3 User Configuration Data", 44 ], [ 2, "A.3 HALCON tools", 44 ], [ 2, "A.4 HALCON's Environment Variables", 45 ], [ 3, "A.4.1 Setting Environment Variables Under Windows", 45 ], [ 3, "A.4.2 Setting Environment Variables Under Linux", 45 ], [ 3, "A.4.3 HALCON-Specific Environment Variables", 45 ], [ 3, "A.4.4 General Environment Variables", 46 ], [ 1, "Index", 47 ] ] }, "memory_management.pdf": { "pages": 17, "toc": [ [ 1, "1 Introduction", 7 ], [ 1, "2 HALCON Caches", 8 ], [ 2, "2.1 Image Cache", 8 ], [ 2, "2.2 Global Memory Cache", 8 ], [ 2, "2.3 Temporary Memory Cache", 8 ], [ 1, "3 Image Data", 12 ], [ 1, "4 Handling Suspected Memory Leaks in HALCON", 14 ], [ 1, "5 Frequently Asked Questions", 16 ] ] }, "parallel_programming.pdf": { "pages": 27, "toc": [ [ 1, "1 Introduction", 7 ], [ 1, "2 Parallelization Concepts", 8 ], [ 2, "2.1 Minimize Response Time", 8 ], [ 3, "2.1.1 Data Parallelization and Automatic Operator Parallelization (AOP)", 8 ], [ 3, "2.1.2 Task Parallelization", 12 ], [ 2, "2.2 Maximize Throughput", 13 ], [ 3, "2.2.1 Pipelining", 13 ], [ 2, "2.3 Enhance Responsiveness", 22 ], [ 3, "2.3.1 Producer Consumer Model", 23 ], [ 3, "2.3.2 Further Parallelization Scenarios", 24 ], [ 1, "3 Where to Find More Information?", 25 ], [ 1, "4 Glossary", 27 ] ] }, "programmers_guide.pdf": { "pages": 209, "toc": [ [ 1, "I General Issues", 11 ], [ 2, "1 Which HALCON Interface to Use", 13 ], [ 2, "2 Parallel Programming and HALCON", 15 ], [ 3, "2.1 Automatic Parallelization", 15 ], [ 4, "2.1.1 Initializing HALCON", 15 ], [ 4, "2.1.2 Methods of Automatic Parallelization", 15 ], [ 3, "2.2 Parallel Programming", 16 ], [ 4, "2.2.1 A Closer Look at Reentrancy", 16 ], [ 4, "2.2.2 Program Design Issues for Parallelization", 17 ], [ 4, "2.2.3 Multithreading Operators", 17 ], [ 4, "2.2.4 Examples", 18 ], [ 3, "2.3 Threading Issues With Graphics", 18 ], [ 4, "2.3.1 Microsoft Windows", 18 ], [ 4, "2.3.2 X11", 19 ], [ 3, "2.4 Using HALCON with OpenMP", 19 ], [ 3, "2.5 Additional Information on HALCON", 19 ], [ 4, "2.5.1 Customizing the Parallelization Mechanisms", 19 ], [ 4, "2.5.2 Using an Image Acquisition Interface on Multi-Core or Multi-Processor Hardware", 20 ], [ 4, "2.5.3 Spinlocks, the HALCON Thread Pool, and Real-time Scheduling", 20 ], [ 2, "3 Tips and Tricks", 23 ], [ 3, "3.1 Monitoring HALCON Programs With HALCON Spy", 23 ], [ 4, "3.1.1 HALCON Spy on Multi-Core or Multi-Processor Hardware", 23 ], [ 3, "3.2 Terminating HALCON Library", 23 ], [ 3, "3.3 Returning Floating Licenses on Windows", 24 ], [ 3, "3.4 Inspecting HALCON Variables in Visual Studio", 24 ], [ 3, "3.5 Handling Licensing Errors", 27 ], [ 3, "3.6 Graphical Applications", 28 ], [ 1, "II Programming With HALCON/C++", 31 ], [ 2, "4 Introducing HALCON/C++", 33 ], [ 3, "4.1 A First Example", 33 ], [ 2, "5 Basics of the HALCON/C++ Interface", 35 ], [ 3, "5.1 HalconCpp Namespace", 35 ], [ 3, "5.2 Calling HALCON Operators", 36 ], [ 4, "5.2.1 A Closer Look at Parameters", 37 ], [ 4, "5.2.2 Calling Operators via Classes", 39 ], [ 4, "5.2.3 Constructors and Halcon Operators", 39 ], [ 4, "5.2.4 Destructors and Halcon Operators", 40 ], [ 4, "5.2.5 The Tuple Mode", 40 ], [ 3, "5.3 Error Handling", 42 ], [ 3, "5.4 Memory Management", 43 ], [ 3, "5.5 How to Combine Procedural and Object-Oriented Code", 43 ], [ 3, "5.6 I/O Streams", 44 ], [ 3, "5.7 Windows API Collisions", 44 ], [ 2, "6 The HALCON Parameter Classes", 45 ], [ 3, "6.1 Iconic Objects", 45 ], [ 4, "6.1.1 Regions", 45 ], [ 4, "6.1.2 Images", 45 ], [ 4, "6.1.3 XLD Objects", 46 ], [ 3, "6.2 Control Parameters", 46 ], [ 4, "6.2.1 Tuples", 46 ], [ 4, "6.2.2 Strings", 47 ], [ 4, "6.2.3 Classes Encapsulating Handles", 47 ], [ 3, "6.3 Vectors", 48 ], [ 2, "7 Creating Applications With HALCON/C++", 51 ], [ 3, "7.1 Relevant Directories and Files", 51 ], [ 3, "7.2 Example Programs", 52 ], [ 3, "7.3 Relevant Environment Variables", 52 ], [ 3, "7.4 Writing a Program With Non-ASCII Characters", 53 ], [ 3, "7.5 Windows", 53 ], [ 3, "7.6 Linux", 55 ], [ 2, "8 Typical Image Processing Problems", 57 ], [ 3, "8.1 Thresholding an Image", 57 ], [ 3, "8.2 Edge Detection", 57 ], [ 3, "8.3 Dynamic Threshold", 58 ], [ 3, "8.4 Texture Transformation", 58 ], [ 3, "8.5 Eliminating Small Objects", 58 ], [ 1, "III Programming With HALCON/.NET", 59 ], [ 2, "9 Introducing HALCON/.NET", 61 ], [ 3, "9.1 A First Example", 62 ], [ 2, "10 Creating Applications With HALCON/.NET", 63 ], [ 3, "10.1 Creating Applications With HALCON/.NET", 63 ], [ 3, "10.2 .NET Development Environments", 63 ], [ 3, "10.3 Adding HALCON/.NET to an Application", 64 ], [ 4, "10.3.1 Adding a Package Reference HALCON/.NET to a .NET Core Application", 64 ], [ 4, "10.3.2 Creating a WPF Application With Visualization in Visual Studio", 65 ], [ 4, "10.3.3 Adding HALCON/.NET to a .NET Framework Application", 66 ], [ 3, "10.4 Deploying an Application", 66 ], [ 3, "10.5 Using a Newer HALCON/.NET Release", 67 ], [ 2, "11 HALCON/.NET Interface", 69 ], [ 3, "11.0.1 Specifying the Namespace", 69 ], [ 3, "11.1 Using HALCON/.NET Classes", 69 ], [ 4, "11.1.1 Online Help", 70 ], [ 4, "11.1.2 Calling HALCON Operators", 70 ], [ 4, "11.1.3 From Declaration to Finalization", 71 ], [ 4, "11.1.4 Operator Overloads", 73 ], [ 3, "11.2 Working With Tuples", 74 ], [ 4, "11.2.1 Calling HALCON Operators with Single or Multiple Values", 74 ], [ 4, "11.2.2 Iconic Tuples", 75 ], [ 4, "11.2.3 Control Tuples and the Class HTuple", 75 ], [ 3, "11.3 Working With Vectors", 78 ], [ 3, "11.4 Error Handling", 79 ], [ 3, "11.5 Visualization", 80 ], [ 3, "11.6 Window Controls for Visualization", 81 ], [ 3, "11.7 Customizing HSmartWindowControl for the Visualization", 82 ], [ 2, "12 Additional Information", 85 ], [ 3, "12.1 Provided Examples", 85 ], [ 4, "12.1.1 C#", 85 ], [ 4, "12.1.2 Visual Basic.NET", 86 ], [ 4, "12.1.3 C++", 86 ], [ 3, "12.2 HALCON/.NET Applications under Linux Using Mono", 87 ], [ 4, "12.2.1 Restrictions", 87 ], [ 4, "12.2.2 Deploying HALCON/.NET Applications Created under Windows", 87 ], [ 4, "12.2.3 Compiling HALCON/.NET Applications with Mono", 87 ], [ 4, "12.2.4 Using Other GUI Libraries", 88 ], [ 3, "12.3 Using HDevelop Programs", 88 ], [ 4, "12.3.1 Using the Template Application", 88 ], [ 4, "12.3.2 Combining the Exported Code with the HALCON/.NET Classes", 89 ], [ 3, "12.4 HALCON/.NET and Remote Access", 89 ], [ 1, "IV Programming With HALCON/Python", 91 ], [ 2, "13 Introducing HALCON/Python", 93 ], [ 3, "13.1 A First Example", 93 ], [ 2, "14 Creating Applications With HALCON/Python", 95 ], [ 3, "14.1 Python Development Environments", 95 ], [ 3, "14.2 Adding HALCON/Python to an Application", 95 ], [ 3, "14.3 Deploying an Application", 96 ], [ 3, "14.4 Using a Newer HALCON/Python Release", 96 ], [ 2, "15 HALCON/Python Interface", 97 ], [ 3, "15.1 Module Import", 97 ], [ 3, "15.2 Using HALCON Operators From HALCON/Python", 97 ], [ 3, "15.3 Operators Are Standalone Functions", 98 ], [ 3, "15.4 Inputs Are Parameters, Outputs Are Return Values", 98 ], [ 3, "15.5 HALCON Tuples Are Represented With Native Python Types", 99 ], [ 3, "15.6 HHandle", 99 ], [ 3, "15.7 HObject", 99 ], [ 3, "15.8 HDict", 100 ], [ 3, "15.9 HALCON/Python with NumPy", 100 ], [ 3, "15.10 Output Values", 101 ], [ 3, "15.11 Error Handling", 102 ], [ 3, "15.12 Garbage Collection", 103 ], [ 3, "15.13 Named Parameters", 103 ], [ 3, "15.14 Operator and Parameter Capitalization", 104 ], [ 3, "15.15 UTF-8 in HALCON/Python", 104 ], [ 3, "15.16 HALCON/Python With HALCON XL", 104 ], [ 3, "15.17 Global HALCON Functions in HALCON/Python", 104 ], [ 1, "V Programming With HALCON/C", 107 ], [ 2, "16 Introducing HALCON/C", 109 ], [ 3, "16.1 A First Example", 109 ], [ 2, "17 The HALCON Parameter Classes", 111 ], [ 3, "17.1 Image Objects", 111 ], [ 3, "17.2 Control Parameters", 112 ], [ 4, "17.2.1 String Encoding", 113 ], [ 4, "17.2.2 Control Parameter Tuples", 113 ], [ 4, "17.2.3 Simple Mode", 114 ], [ 4, "17.2.4 Tuple Mode", 114 ], [ 3, "17.3 Vectors", 117 ], [ 2, "18 Return Values of HALCON Operators", 125 ], [ 2, "19 Creating Applications With HALCON/C", 127 ], [ 3, "19.1 Relevant Directories and Files", 127 ], [ 3, "19.2 Example Programs", 128 ], [ 3, "19.3 Relevant Environment Variables", 128 ], [ 3, "19.4 Windows", 129 ], [ 3, "19.5 Linux", 130 ], [ 2, "20 Typical Image Processing Problems", 133 ], [ 3, "20.1 Thresholding", 133 ], [ 3, "20.2 Detecting Edges", 133 ], [ 3, "20.3 Dynamic Threshold", 134 ], [ 3, "20.4 Simple Texture Transformations", 134 ], [ 3, "20.5 Eliminating Small Objects", 134 ], [ 3, "20.6 Selecting Specific Orientations", 134 ], [ 3, "20.7 Smoothing Region Boundaries", 135 ], [ 1, "VI Using HDevEngine", 137 ], [ 2, "21 Introducing HDevEngine", 139 ], [ 2, "22 HDevEngine in C++ Applications", 143 ], [ 3, "22.1 How to Create an Executable Application With HDevEngine/C++", 143 ], [ 3, "22.2 How to Use HDevEngine/C++", 144 ], [ 4, "22.2.1 Executing an HDevelop Program", 144 ], [ 4, "22.2.2 Executing HDevelop Procedures", 146 ], [ 4, "22.2.3 Display", 148 ], [ 4, "22.2.4 Error Handling", 150 ], [ 4, "22.2.5 Creating Multithreaded Applications", 152 ], [ 4, "22.2.6 Executing an HDevelop Program with Vector Variables", 153 ], [ 3, "22.3 Using the Just-in-time Compiler With HDevEngine/C++", 153 ], [ 2, "23 HDevEngine in .NET Applications", 155 ], [ 3, "23.1 Basics", 155 ], [ 4, "23.1.1 Adding HDevEngine/.NET to a .NET Core Application", 155 ], [ 4, "23.1.2 Adding HDevEngine/.NET to a .NET Framework Application", 155 ], [ 3, "23.2 Examples", 155 ], [ 4, "23.2.1 Creating an HDevEngine/.NET Application", 155 ], [ 4, "23.2.2 Using HDevEngine/.NET", 156 ], [ 4, "23.2.3 Executing an HDevelop Program", 157 ], [ 4, "23.2.4 Executing HDevelop Procedures", 158 ], [ 4, "23.2.5 Display", 163 ], [ 4, "23.2.6 Error Handling", 163 ], [ 4, "23.2.7 Creating Multithreaded Applications", 166 ], [ 4, "23.2.8 Executing an HDevelop Program with Vector Variables", 176 ], [ 3, "23.3 Using the Just-in-time Compiler With HDevEngine/.NET", 176 ], [ 2, "24 HDevEngine In Python Applications", 179 ], [ 3, "24.1 Introduction", 179 ], [ 4, "24.1.1 A First Example", 179 ], [ 3, "24.2 Creating Applications With HDevEngine/Python", 180 ], [ 4, "24.2.1 Adding HDevEngine/Python to a Python Application", 180 ], [ 3, "24.3 HDevEngine/Python Interface", 180 ], [ 4, "24.3.1 Global Functionality", 180 ], [ 4, "24.3.2 Calling HDevelop Procedures", 182 ], [ 4, "24.3.3 Calling HDevelop Programs", 185 ], [ 4, "24.3.4 Dev Operators", 187 ], [ 4, "24.3.5 HALCON Vectors", 187 ], [ 4, "24.3.6 Multithreading", 188 ], [ 2, "25 General Information", 189 ], [ 3, "25.1 Overview of the Classes", 189 ], [ 4, "25.1.1 HDevEngine, HDevEngineX", 190 ], [ 4, "25.1.2 HDevProgram, HDevProgramX", 193 ], [ 4, "25.1.3 HDevProgramCall, HDevProgramCallX", 195 ], [ 4, "25.1.4 HDevProcedure, HDevProcedureX", 197 ], [ 4, "25.1.5 HDevProcedureCall, HDevProcedureCallX", 200 ], [ 4, "25.1.6 HDevOperatorImpl, IHDevOperators, HDevOperatorImplX", 202 ], [ 4, "25.1.7 HDevEngineException", 202 ], [ 3, "25.2 Debugging HDevEngine From HDevelop", 203 ], [ 4, "25.2.1 Configuring the Debug Server", 203 ], [ 4, "25.2.2 Controlling the Debug Server", 204 ], [ 4, "25.2.3 Security Implications", 205 ], [ 4, "25.2.4 Limitations", 205 ], [ 3, "25.3 Tips and Tricks", 205 ], [ 4, "25.3.1 Troubleshooting", 205 ], [ 4, "25.3.2 Loading and Unloading Procedures", 205 ], [ 2, "Index", 207 ] ] }, "quick_guide.pdf": { "pages": 19, "toc": [ [ 1, "1 Installing HALCON", 7 ], [ 1, "2 HALCON Architecture", 9 ], [ 2, "2.1 Operators", 10 ], [ 3, "2.1.1 Parameters and Data Structures", 10 ], [ 2, "2.2 Extension Packages", 11 ], [ 2, "2.3 Language Interfaces", 11 ], [ 3, "2.3.1 HALCON/Python", 11 ], [ 3, "2.3.2 HALCON/C", 11 ], [ 3, "2.3.3 HALCON/C++", 12 ], [ 3, "2.3.4 HALCON/.NET", 12 ], [ 2, "2.4 Image Acquisition Interfaces", 13 ], [ 2, "2.5 I/O Interfaces", 13 ], [ 1, "3 How to Develop Applications", 15 ], [ 2, "3.1 HDevelop", 15 ], [ 2, "3.2 Example Program", 16 ], [ 3, "3.2.1 Create Prototype in HDevelop", 16 ], [ 3, "3.2.2 Prepare Visual Studio Project", 17 ], [ 3, "3.2.3 Export Library Project", 17 ], [ 3, "3.2.4 Integrate Library Project Into Visual Studio", 18 ], [ 1, "4 How to Continue", 19 ] ] }, "reference_hdevelop.pdf": { "pages": 3218, "toc": [ [ 1, "1D Measuring", 49 ], [ 2, "close_measure", 51 ], [ 2, "deserialize_measure", 51 ], [ 2, "fuzzy_measure_pairing", 52 ], [ 2, "fuzzy_measure_pairs", 54 ], [ 2, "fuzzy_measure_pos", 56 ], [ 2, "gen_measure_arc", 58 ], [ 2, "gen_measure_rectangle2", 60 ], [ 2, "get_measure_param", 62 ], [ 2, "measure_pairs", 63 ], [ 2, "measure_pos", 65 ], [ 2, "measure_projection", 67 ], [ 2, "measure_thresh", 68 ], [ 2, "read_measure", 69 ], [ 2, "reset_fuzzy_measure", 70 ], [ 2, "serialize_measure", 71 ], [ 2, "set_fuzzy_measure", 71 ], [ 2, "set_fuzzy_measure_norm_pair", 73 ], [ 2, "translate_measure", 75 ], [ 2, "write_measure", 76 ], [ 1, "2D Metrology", 79 ], [ 2, "add_metrology_object_circle_measure", 81 ], [ 2, "add_metrology_object_ellipse_measure", 84 ], [ 2, "add_metrology_object_generic", 86 ], [ 2, "add_metrology_object_line_measure", 89 ], [ 2, "add_metrology_object_rectangle2_measure", 91 ], [ 2, "align_metrology_model", 93 ], [ 2, "apply_metrology_model", 96 ], [ 2, "clear_metrology_model", 98 ], [ 2, "clear_metrology_object", 98 ], [ 2, "copy_metrology_model", 99 ], [ 2, "create_metrology_model", 100 ], [ 2, "deserialize_metrology_model", 101 ], [ 2, "get_metrology_model_param", 101 ], [ 2, "get_metrology_object_fuzzy_param", 102 ], [ 2, "get_metrology_object_indices", 103 ], [ 2, "get_metrology_object_measures", 104 ], [ 2, "get_metrology_object_model_contour", 105 ], [ 2, "get_metrology_object_num_instances", 106 ], [ 2, "get_metrology_object_param", 107 ], [ 2, "get_metrology_object_result", 109 ], [ 2, "get_metrology_object_result_contour", 111 ], [ 2, "read_metrology_model", 112 ], [ 2, "reset_metrology_object_fuzzy_param", 113 ], [ 2, "reset_metrology_object_param", 113 ], [ 2, "serialize_metrology_model", 114 ], [ 2, "set_metrology_model_image_size", 115 ], [ 2, "set_metrology_model_param", 116 ], [ 2, "set_metrology_object_fuzzy_param", 118 ], [ 2, "set_metrology_object_param", 120 ], [ 2, "write_metrology_model", 123 ], [ 1, "3D Matching", 125 ], [ 2, "3D Box", 127 ], [ 3, "find_box_3d", 127 ], [ 2, "3D Gripping Point Detection", 131 ], [ 2, "Deep 3D Matching", 137 ], [ 3, "apply_deep_matching_3d", 139 ], [ 3, "get_deep_matching_3d_param", 140 ], [ 3, "read_deep_matching_3d", 142 ], [ 3, "set_deep_matching_3d_param", 142 ], [ 3, "write_deep_matching_3d", 143 ], [ 2, "Deformable Surface-Based", 143 ], [ 3, "add_deformable_surface_model_reference_point", 143 ], [ 3, "add_deformable_surface_model_sample", 144 ], [ 3, "clear_deformable_surface_matching_result", 145 ], [ 3, "clear_deformable_surface_model", 146 ], [ 3, "create_deformable_surface_model", 146 ], [ 3, "deserialize_deformable_surface_model", 149 ], [ 3, "find_deformable_surface_model", 149 ], [ 3, "get_deformable_surface_matching_result", 152 ], [ 3, "get_deformable_surface_model_param", 154 ], [ 3, "read_deformable_surface_model", 155 ], [ 3, "refine_deformable_surface_model", 155 ], [ 3, "serialize_deformable_surface_model", 157 ], [ 3, "write_deformable_surface_model", 157 ], [ 2, "Shape-Based", 158 ], [ 3, "clear_shape_model_3d", 158 ], [ 3, "create_cam_pose_look_at_point", 159 ], [ 3, "create_shape_model_3d", 160 ], [ 3, "deserialize_shape_model_3d", 167 ], [ 3, "find_shape_model_3d", 167 ], [ 3, "get_shape_model_3d_contours", 172 ], [ 3, "get_shape_model_3d_params", 173 ], [ 3, "project_shape_model_3d", 175 ], [ 3, "read_shape_model_3d", 176 ], [ 3, "serialize_shape_model_3d", 176 ], [ 3, "trans_pose_shape_model_3d", 177 ], [ 3, "write_shape_model_3d", 178 ], [ 2, "Surface-Based", 179 ], [ 3, "clear_surface_matching_result", 179 ], [ 3, "clear_surface_model", 179 ], [ 3, "create_surface_model", 180 ], [ 3, "deserialize_surface_model", 183 ], [ 3, "find_surface_model", 184 ], [ 3, "find_surface_model_image", 191 ], [ 3, "get_surface_matching_result", 193 ], [ 3, "get_surface_model_param", 195 ], [ 3, "read_surface_model", 197 ], [ 3, "refine_surface_model_pose", 197 ], [ 3, "refine_surface_model_pose_image", 199 ], [ 3, "serialize_surface_model", 200 ], [ 3, "set_surface_model_param", 201 ], [ 3, "write_surface_model", 205 ], [ 1, "3D Object Model", 207 ], [ 2, "Creation", 207 ], [ 3, "clear_object_model_3d", 207 ], [ 3, "copy_object_model_3d", 207 ], [ 3, "deserialize_object_model_3d", 209 ], [ 3, "gen_box_object_model_3d", 210 ], [ 3, "gen_cylinder_object_model_3d", 211 ], [ 3, "gen_empty_object_model_3d", 212 ], [ 3, "gen_object_model_3d_from_points", 212 ], [ 3, "gen_plane_object_model_3d", 213 ], [ 3, "gen_sphere_object_model_3d", 214 ], [ 3, "gen_sphere_object_model_3d_center", 215 ], [ 3, "read_object_model_3d", 215 ], [ 3, "remove_object_model_3d_attrib", 220 ], [ 3, "remove_object_model_3d_attrib_mod", 222 ], [ 3, "serialize_object_model_3d", 223 ], [ 3, "set_object_model_3d_attrib", 224 ], [ 3, "set_object_model_3d_attrib_mod", 227 ], [ 3, "union_object_model_3d", 228 ], [ 3, "write_object_model_3d", 229 ], [ 2, "Features", 230 ], [ 3, "area_object_model_3d", 230 ], [ 3, "distance_object_model_3d", 231 ], [ 3, "get_object_model_3d_params", 235 ], [ 3, "max_diameter_object_model_3d", 240 ], [ 3, "moments_object_model_3d", 241 ], [ 3, "select_object_model_3d", 242 ], [ 3, "smallest_bounding_box_object_model_3d", 244 ], [ 3, "smallest_sphere_object_model_3d", 245 ], [ 3, "volume_object_model_3d_relative_to_plane", 246 ], [ 2, "Segmentation", 248 ], [ 3, "fit_primitives_object_model_3d", 248 ], [ 3, "reduce_object_model_3d_by_view", 250 ], [ 3, "segment_object_model_3d", 251 ], [ 3, "select_points_object_model_3d", 253 ], [ 2, "Transformations", 255 ], [ 3, "affine_trans_object_model_3d", 255 ], [ 3, "connection_object_model_3d", 256 ], [ 3, "convex_hull_object_model_3d", 257 ], [ 3, "edges_object_model_3d", 258 ], [ 3, "fuse_object_model_3d", 259 ], [ 3, "intersect_plane_object_model_3d", 264 ], [ 3, "object_model_3d_to_xyz", 265 ], [ 3, "prepare_object_model_3d", 267 ], [ 3, "project_object_model_3d", 270 ], [ 3, "projective_trans_object_model_3d", 272 ], [ 3, "register_object_model_3d_global", 273 ], [ 3, "register_object_model_3d_pair", 275 ], [ 3, "render_object_model_3d", 277 ], [ 3, "rigid_trans_object_model_3d", 278 ], [ 3, "sample_object_model_3d", 278 ], [ 3, "simplify_object_model_3d", 281 ], [ 3, "smooth_object_model_3d", 283 ], [ 3, "surface_normals_object_model_3d", 285 ], [ 3, "triangulate_object_model_3d", 286 ], [ 3, "xyz_to_object_model_3d", 295 ], [ 1, "3D Reconstruction", 297 ], [ 2, "Binocular Stereo", 297 ], [ 3, "binocular_disparity", 297 ], [ 3, "binocular_disparity_mg", 300 ], [ 3, "binocular_disparity_ms", 305 ], [ 3, "binocular_distance", 308 ], [ 3, "binocular_distance_mg", 312 ], [ 3, "binocular_distance_ms", 314 ], [ 3, "disparity_image_to_xyz", 316 ], [ 3, "disparity_to_distance", 317 ], [ 3, "disparity_to_point_3d", 318 ], [ 3, "distance_to_disparity", 319 ], [ 3, "essential_to_fundamental_matrix", 320 ], [ 3, "gen_binocular_proj_rectification", 321 ], [ 3, "gen_binocular_rectification_map", 324 ], [ 3, "intersect_lines_of_sight", 328 ], [ 3, "match_essential_matrix_ransac", 329 ], [ 3, "match_fundamental_matrix_distortion_ransac", 332 ], [ 3, "match_fundamental_matrix_ransac", 336 ], [ 3, "match_rel_pose_ransac", 339 ], [ 3, "reconst3d_from_fundamental_matrix", 342 ], [ 3, "rel_pose_to_fundamental_matrix", 344 ], [ 3, "vector_to_essential_matrix", 345 ], [ 3, "vector_to_fundamental_matrix", 347 ], [ 3, "vector_to_fundamental_matrix_distortion", 349 ], [ 3, "vector_to_rel_pose", 352 ], [ 2, "Depth From Focus", 354 ], [ 3, "depth_from_focus", 354 ], [ 3, "select_grayvalues_from_channels", 356 ], [ 2, "Multi-View Stereo", 357 ], [ 3, "clear_stereo_model", 359 ], [ 3, "create_stereo_model", 360 ], [ 3, "get_stereo_model_image_pairs", 361 ], [ 3, "get_stereo_model_object", 361 ], [ 3, "get_stereo_model_object_model_3d", 362 ], [ 3, "get_stereo_model_param", 363 ], [ 3, "reconstruct_points_stereo", 364 ], [ 3, "reconstruct_surface_stereo", 366 ], [ 3, "set_stereo_model_image_pairs", 373 ], [ 3, "set_stereo_model_param", 374 ], [ 2, "Photometric Stereo", 380 ], [ 3, "estimate_al_am", 380 ], [ 3, "estimate_sl_al_lr", 381 ], [ 3, "estimate_sl_al_zc", 381 ], [ 3, "estimate_tilt_lr", 382 ], [ 3, "estimate_tilt_zc", 382 ], [ 3, "photometric_stereo", 383 ], [ 3, "reconstruct_height_field_from_gradient", 387 ], [ 3, "sfs_mod_lr", 388 ], [ 3, "sfs_orig_lr", 390 ], [ 3, "sfs_pentland", 391 ], [ 3, "shade_height_field", 392 ], [ 3, "uncalibrated_photometric_stereo", 394 ], [ 2, "Sheet of Light", 395 ], [ 3, "apply_sheet_of_light_calibration", 395 ], [ 3, "calibrate_sheet_of_light", 396 ], [ 3, "clear_sheet_of_light_model", 399 ], [ 3, "create_sheet_of_light_calib_object", 399 ], [ 3, "create_sheet_of_light_model", 401 ], [ 3, "deserialize_sheet_of_light_model", 404 ], [ 3, "get_sheet_of_light_param", 404 ], [ 3, "get_sheet_of_light_result", 407 ], [ 3, "get_sheet_of_light_result_object_model_3d", 408 ], [ 3, "measure_profile_sheet_of_light", 408 ], [ 3, "query_sheet_of_light_params", 410 ], [ 3, "read_sheet_of_light_model", 411 ], [ 3, "reset_sheet_of_light_model", 411 ], [ 3, "serialize_sheet_of_light_model", 412 ], [ 3, "set_profile_sheet_of_light", 412 ], [ 3, "set_sheet_of_light_param", 413 ], [ 3, "write_sheet_of_light_model", 416 ], [ 2, "Structured Light", 417 ], [ 1, "Calibration", 419 ], [ 2, "Binocular", 434 ], [ 3, "binocular_calibration", 434 ], [ 2, "Calibration Object", 438 ], [ 3, "caltab_points", 438 ], [ 3, "create_caltab", 439 ], [ 3, "disp_caltab", 446 ], [ 3, "find_calib_object", 447 ], [ 3, "find_caltab", 449 ], [ 3, "find_marks_and_pose", 451 ], [ 3, "gen_caltab", 453 ], [ 3, "sim_caltab", 457 ], [ 2, "Camera Parameters", 459 ], [ 3, "cam_mat_to_cam_par", 459 ], [ 3, "cam_par_to_cam_mat", 460 ], [ 3, "deserialize_cam_par", 460 ], [ 3, "read_cam_par", 461 ], [ 3, "serialize_cam_par", 462 ], [ 3, "write_cam_par", 462 ], [ 2, "Hand-Eye", 463 ], [ 3, "calibrate_hand_eye", 463 ], [ 3, "get_calib_data_observ_pose", 469 ], [ 3, "hand_eye_calibration", 470 ], [ 3, "set_calib_data_observ_pose", 475 ], [ 2, "Inverse Projection", 476 ], [ 3, "get_line_of_sight", 476 ], [ 2, "Monocular", 477 ], [ 3, "camera_calibration", 477 ], [ 2, "Multi-View", 481 ], [ 3, "calibrate_cameras", 484 ], [ 3, "clear_calib_data", 485 ], [ 3, "clear_camera_setup_model", 486 ], [ 3, "create_calib_data", 486 ], [ 3, "create_camera_setup_model", 487 ], [ 3, "deserialize_calib_data", 489 ], [ 3, "deserialize_camera_setup_model", 489 ], [ 3, "get_calib_data", 490 ], [ 3, "get_calib_data_observ_contours", 499 ], [ 3, "get_calib_data_observ_points", 500 ], [ 3, "get_camera_setup_param", 501 ], [ 3, "query_calib_data_observ_indices", 502 ], [ 3, "read_calib_data", 504 ], [ 3, "read_camera_setup_model", 504 ], [ 3, "remove_calib_data", 505 ], [ 3, "remove_calib_data_observ", 505 ], [ 3, "serialize_calib_data", 506 ], [ 3, "serialize_camera_setup_model", 507 ], [ 3, "set_calib_data", 507 ], [ 3, "set_calib_data_calib_object", 510 ], [ 3, "set_calib_data_cam_param", 511 ], [ 3, "set_calib_data_observ_points", 512 ], [ 3, "set_camera_setup_cam_param", 514 ], [ 3, "set_camera_setup_param", 515 ], [ 3, "write_calib_data", 516 ], [ 3, "write_camera_setup_model", 516 ], [ 2, "Projection", 517 ], [ 3, "cam_par_pose_to_hom_mat3d", 517 ], [ 3, "project_3d_point", 518 ], [ 3, "project_hom_point_hom_mat3d", 519 ], [ 3, "project_point_hom_mat3d", 520 ], [ 2, "Rectification", 521 ], [ 3, "change_radial_distortion_cam_par", 521 ], [ 3, "change_radial_distortion_contours_xld", 522 ], [ 3, "change_radial_distortion_image", 523 ], [ 3, "change_radial_distortion_points", 524 ], [ 3, "contour_to_world_plane_xld", 524 ], [ 3, "gen_image_to_world_plane_map", 526 ], [ 3, "gen_radial_distortion_map", 528 ], [ 3, "image_points_to_world_plane", 529 ], [ 3, "image_to_world_plane", 531 ], [ 2, "Self-Calibration", 533 ], [ 3, "radial_distortion_self_calibration", 533 ], [ 3, "radiometric_self_calibration", 536 ], [ 3, "stationary_camera_self_calibration", 539 ], [ 1, "Classification", 545 ], [ 2, "Gaussian Mixture Models", 545 ], [ 3, "add_class_train_data_gmm", 545 ], [ 3, "add_sample_class_gmm", 546 ], [ 3, "classify_class_gmm", 547 ], [ 3, "clear_class_gmm", 548 ], [ 3, "clear_samples_class_gmm", 548 ], [ 3, "create_class_gmm", 549 ], [ 3, "deserialize_class_gmm", 552 ], [ 3, "evaluate_class_gmm", 552 ], [ 3, "get_class_train_data_gmm", 554 ], [ 3, "get_params_class_gmm", 555 ], [ 3, "get_prep_info_class_gmm", 555 ], [ 3, "get_sample_class_gmm", 557 ], [ 3, "get_sample_num_class_gmm", 558 ], [ 3, "read_class_gmm", 559 ], [ 3, "read_samples_class_gmm", 559 ], [ 3, "select_feature_set_gmm", 560 ], [ 3, "serialize_class_gmm", 563 ], [ 3, "train_class_gmm", 563 ], [ 3, "write_class_gmm", 565 ], [ 3, "write_samples_class_gmm", 566 ], [ 2, "K-Nearest Neighbors", 567 ], [ 3, "add_class_train_data_knn", 567 ], [ 3, "add_sample_class_knn", 567 ], [ 3, "classify_class_knn", 568 ], [ 3, "clear_class_knn", 569 ], [ 3, "create_class_knn", 570 ], [ 3, "deserialize_class_knn", 571 ], [ 3, "get_class_train_data_knn", 572 ], [ 3, "get_params_class_knn", 572 ], [ 3, "get_sample_class_knn", 573 ], [ 3, "get_sample_num_class_knn", 574 ], [ 3, "read_class_knn", 574 ], [ 3, "select_feature_set_knn", 575 ], [ 3, "serialize_class_knn", 577 ], [ 3, "set_params_class_knn", 578 ], [ 3, "train_class_knn", 579 ], [ 3, "write_class_knn", 580 ], [ 2, "Look-Up Table", 581 ], [ 3, "clear_class_lut", 581 ], [ 3, "create_class_lut_gmm", 581 ], [ 3, "create_class_lut_knn", 583 ], [ 3, "create_class_lut_mlp", 584 ], [ 3, "create_class_lut_svm", 586 ], [ 2, "Misc", 588 ], [ 3, "add_sample_class_train_data", 588 ], [ 3, "clear_class_train_data", 589 ], [ 3, "create_class_train_data", 589 ], [ 3, "deserialize_class_train_data", 591 ], [ 3, "get_sample_class_train_data", 591 ], [ 3, "get_sample_num_class_train_data", 592 ], [ 3, "read_class_train_data", 593 ], [ 3, "select_sub_feature_class_train_data", 593 ], [ 3, "serialize_class_train_data", 594 ], [ 3, "set_feature_lengths_class_train_data", 595 ], [ 3, "write_class_train_data", 596 ], [ 2, "Neural Nets", 597 ], [ 3, "add_class_train_data_mlp", 597 ], [ 3, "add_sample_class_mlp", 598 ], [ 3, "classify_class_mlp", 599 ], [ 3, "clear_class_mlp", 600 ], [ 3, "clear_samples_class_mlp", 600 ], [ 3, "create_class_mlp", 601 ], [ 3, "deserialize_class_mlp", 605 ], [ 3, "evaluate_class_mlp", 606 ], [ 3, "get_class_train_data_mlp", 607 ], [ 3, "get_params_class_mlp", 607 ], [ 3, "get_prep_info_class_mlp", 608 ], [ 3, "get_regularization_params_class_mlp", 610 ], [ 3, "get_rejection_params_class_mlp", 611 ], [ 3, "get_sample_class_mlp", 611 ], [ 3, "get_sample_num_class_mlp", 612 ], [ 3, "read_class_mlp", 613 ], [ 3, "read_samples_class_mlp", 614 ], [ 3, "select_feature_set_mlp", 615 ], [ 3, "serialize_class_mlp", 617 ], [ 3, "set_regularization_params_class_mlp", 617 ], [ 3, "set_rejection_params_class_mlp", 622 ], [ 3, "train_class_mlp", 624 ], [ 3, "write_class_mlp", 626 ], [ 3, "write_samples_class_mlp", 627 ], [ 2, "Support Vector Machines", 627 ], [ 3, "add_class_train_data_svm", 627 ], [ 3, "add_sample_class_svm", 628 ], [ 3, "classify_class_svm", 629 ], [ 3, "clear_class_svm", 630 ], [ 3, "clear_samples_class_svm", 631 ], [ 3, "create_class_svm", 631 ], [ 3, "deserialize_class_svm", 635 ], [ 3, "evaluate_class_svm", 636 ], [ 3, "get_class_train_data_svm", 637 ], [ 3, "get_params_class_svm", 637 ], [ 3, "get_prep_info_class_svm", 638 ], [ 3, "get_sample_class_svm", 640 ], [ 3, "get_sample_num_class_svm", 641 ], [ 3, "get_support_vector_class_svm", 642 ], [ 3, "get_support_vector_num_class_svm", 642 ], [ 3, "read_class_svm", 643 ], [ 3, "read_samples_class_svm", 644 ], [ 3, "reduce_class_svm", 645 ], [ 3, "select_feature_set_svm", 646 ], [ 3, "serialize_class_svm", 648 ], [ 3, "train_class_svm", 649 ], [ 3, "write_class_svm", 651 ], [ 3, "write_samples_class_svm", 651 ], [ 1, "Control", 653 ], [ 2, "assign", 653 ], [ 2, "assign_at", 654 ], [ 2, "break", 654 ], [ 2, "case", 655 ], [ 2, "catch", 655 ], [ 2, "comment", 656 ], [ 2, "continue", 657 ], [ 2, "convert_tuple_to_vector_1d", 657 ], [ 2, "convert_vector_to_tuple", 658 ], [ 2, "default", 658 ], [ 2, "else", 658 ], [ 2, "elseif", 659 ], [ 2, "endfor", 659 ], [ 2, "endif", 659 ], [ 2, "endswitch", 660 ], [ 2, "endtry", 660 ], [ 2, "endwhile", 660 ], [ 2, "executable_expression", 661 ], [ 2, "exit", 661 ], [ 2, "export_def", 662 ], [ 2, "for", 663 ], [ 2, "global", 664 ], [ 2, "if", 665 ], [ 2, "import", 665 ], [ 2, "insert", 666 ], [ 2, "par_join", 667 ], [ 2, "repeat", 668 ], [ 2, "return", 668 ], [ 2, "stop", 668 ], [ 2, "switch", 669 ], [ 2, "throw", 670 ], [ 2, "try", 671 ], [ 2, "until", 673 ], [ 2, "while", 673 ], [ 1, "Deep Learning", 675 ], [ 2, "get_dl_device_param", 686 ], [ 2, "optimize_dl_model_for_inference", 688 ], [ 2, "query_available_dl_devices", 689 ], [ 2, "set_dl_device_param", 691 ], [ 2, "Anomaly Detection and Global Context Anomaly Detection", 691 ], [ 3, "train_dl_model_anomaly_dataset", 698 ], [ 2, "Classification", 699 ], [ 3, "fit_dl_out_of_distribution", 704 ], [ 2, "Framework", 705 ], [ 3, "create_dl_layer_activation", 705 ], [ 3, "create_dl_layer_batch_normalization", 707 ], [ 3, "create_dl_layer_class_id_conversion", 710 ], [ 3, "create_dl_layer_concat", 713 ], [ 3, "create_dl_layer_convolution", 714 ], [ 3, "create_dl_layer_dense", 718 ], [ 3, "create_dl_layer_depth_max", 720 ], [ 3, "create_dl_layer_depth_to_space", 721 ], [ 3, "create_dl_layer_dropout", 723 ], [ 3, "create_dl_layer_elementwise", 724 ], [ 3, "create_dl_layer_identity", 726 ], [ 3, "create_dl_layer_input", 727 ], [ 3, "create_dl_layer_loss_cross_entropy", 730 ], [ 3, "create_dl_layer_loss_ctc", 732 ], [ 3, "create_dl_layer_loss_distance", 736 ], [ 3, "create_dl_layer_loss_focal", 738 ], [ 3, "create_dl_layer_loss_huber", 740 ], [ 3, "create_dl_layer_lrn", 742 ], [ 3, "create_dl_layer_matmul", 743 ], [ 3, "create_dl_layer_permutation", 745 ], [ 3, "create_dl_layer_pooling", 746 ], [ 3, "create_dl_layer_reduce", 749 ], [ 3, "create_dl_layer_reshape", 751 ], [ 3, "create_dl_layer_softmax", 753 ], [ 3, "create_dl_layer_transposed_convolution", 754 ], [ 3, "create_dl_layer_zoom_factor", 757 ], [ 3, "create_dl_layer_zoom_size", 759 ], [ 3, "create_dl_layer_zoom_to_layer_size", 761 ], [ 3, "create_dl_model", 762 ], [ 3, "get_dl_layer_param", 764 ], [ 3, "get_dl_model_layer", 764 ], [ 3, "get_dl_model_layer_activations", 765 ], [ 3, "get_dl_model_layer_gradients", 766 ], [ 3, "get_dl_model_layer_param", 766 ], [ 3, "get_dl_model_layer_weights", 767 ], [ 3, "load_dl_model_weights", 769 ], [ 3, "set_dl_model_layer_param", 770 ], [ 3, "set_dl_model_layer_weights", 771 ], [ 2, "Model", 772 ], [ 3, "add_dl_pruning_batch", 783 ], [ 3, "apply_dl_model", 784 ], [ 3, "clear_dl_model", 786 ], [ 3, "create_dl_pruning", 787 ], [ 3, "deserialize_dl_model", 788 ], [ 3, "gen_dl_model_heatmap", 788 ], [ 3, "gen_dl_pruned_model", 790 ], [ 3, "get_dl_model_param", 791 ], [ 3, "get_dl_pruning_param", 816 ], [ 3, "read_dl_model", 817 ], [ 3, "serialize_dl_model", 824 ], [ 3, "set_dl_model_param", 825 ], [ 3, "set_dl_pruning_param", 829 ], [ 3, "train_dl_model_batch", 829 ], [ 3, "write_dl_model", 833 ], [ 2, "Multi-Label Classification", 833 ], [ 2, "Object Detection and Instance Segmentation", 837 ], [ 3, "create_dl_model_detection", 846 ], [ 2, "Semantic Segmentation and Edge Extraction", 849 ], [ 1, "Develop", 857 ], [ 2, "dev_clear_obj", 857 ], [ 2, "dev_clear_window", 857 ], [ 2, "dev_close_inspect_ctrl", 858 ], [ 2, "dev_close_tool", 859 ], [ 2, "dev_close_window", 859 ], [ 2, "dev_disp_text", 860 ], [ 2, "dev_display", 862 ], [ 2, "dev_error_var", 863 ], [ 2, "dev_get_exception_data", 864 ], [ 2, "dev_get_preferences", 865 ], [ 2, "dev_get_system", 866 ], [ 2, "dev_get_window", 866 ], [ 2, "dev_inspect_ctrl", 867 ], [ 2, "dev_open_dialog", 868 ], [ 2, "dev_open_file_dialog", 868 ], [ 2, "dev_open_tool", 869 ], [ 2, "dev_open_window", 873 ], [ 2, "dev_set_check", 876 ], [ 2, "dev_set_color", 877 ], [ 2, "dev_set_colored", 879 ], [ 2, "dev_set_contour_style", 880 ], [ 2, "dev_set_draw", 881 ], [ 2, "dev_set_line_width", 881 ], [ 2, "dev_set_lut", 882 ], [ 2, "dev_set_paint", 883 ], [ 2, "dev_set_part", 884 ], [ 2, "dev_set_preferences", 884 ], [ 2, "dev_set_shape", 885 ], [ 2, "dev_set_system", 886 ], [ 2, "dev_set_tool_geometry", 887 ], [ 2, "dev_set_window", 888 ], [ 2, "dev_set_window_extents", 889 ], [ 2, "dev_show_tool", 890 ], [ 2, "dev_update_pc", 891 ], [ 2, "dev_update_time", 891 ], [ 2, "dev_update_var", 892 ], [ 2, "dev_update_window", 893 ], [ 1, "File", 895 ], [ 2, "Access", 895 ], [ 3, "close_file", 895 ], [ 3, "fnew_line", 895 ], [ 3, "fread_bytes", 896 ], [ 3, "fread_char", 897 ], [ 3, "fread_line", 898 ], [ 3, "fread_string", 899 ], [ 3, "fwrite_bytes", 900 ], [ 3, "fwrite_string", 901 ], [ 3, "open_file", 902 ], [ 2, "Images", 904 ], [ 3, "deserialize_image", 904 ], [ 3, "image_to_memory_block", 904 ], [ 3, "memory_block_to_image", 906 ], [ 3, "read_image", 906 ], [ 3, "read_image_metadata", 908 ], [ 3, "read_sequence", 909 ], [ 3, "serialize_image", 911 ], [ 3, "write_image", 912 ], [ 3, "write_image_metadata", 915 ], [ 2, "Misc", 916 ], [ 3, "copy_file", 916 ], [ 3, "delete_file", 916 ], [ 3, "file_exists", 916 ], [ 3, "get_current_dir", 917 ], [ 3, "list_files", 917 ], [ 3, "make_dir", 918 ], [ 3, "read_world_file", 919 ], [ 3, "remove_dir", 919 ], [ 3, "set_current_dir", 920 ], [ 2, "Object", 920 ], [ 3, "deserialize_object", 920 ], [ 3, "read_object", 921 ], [ 3, "serialize_object", 921 ], [ 3, "write_object", 922 ], [ 2, "Region", 923 ], [ 3, "deserialize_region", 923 ], [ 3, "read_region", 923 ], [ 3, "serialize_region", 924 ], [ 3, "write_region", 925 ], [ 2, "Tuple", 926 ], [ 3, "deserialize_handle", 926 ], [ 3, "deserialize_tuple", 926 ], [ 3, "read_tuple", 927 ], [ 3, "serialize_handle", 927 ], [ 3, "serialize_tuple", 928 ], [ 3, "tuple_is_serializable", 929 ], [ 3, "tuple_is_serializable_elem", 929 ], [ 3, "write_tuple", 930 ], [ 2, "XLD", 931 ], [ 3, "deserialize_xld", 931 ], [ 3, "read_contour_xld_arc_info", 931 ], [ 3, "read_contour_xld_dxf", 932 ], [ 3, "read_polygon_xld_arc_info", 934 ], [ 3, "read_polygon_xld_dxf", 935 ], [ 3, "serialize_xld", 936 ], [ 3, "write_contour_xld_arc_info", 937 ], [ 3, "write_contour_xld_dxf", 937 ], [ 3, "write_polygon_xld_arc_info", 940 ], [ 3, "write_polygon_xld_dxf", 941 ], [ 1, "Filters", 943 ], [ 2, "Arithmetic", 945 ], [ 3, "abs_diff_image", 945 ], [ 3, "abs_image", 946 ], [ 3, "acos_image", 947 ], [ 3, "add_image", 948 ], [ 3, "asin_image", 949 ], [ 3, "atan2_image", 950 ], [ 3, "atan_image", 950 ], [ 3, "cos_image", 951 ], [ 3, "div_image", 952 ], [ 3, "exp_image", 953 ], [ 3, "gamma_image", 953 ], [ 3, "invert_image", 955 ], [ 3, "log_image", 956 ], [ 3, "max_image", 956 ], [ 3, "min_image", 957 ], [ 3, "mult_image", 958 ], [ 3, "pow_image", 960 ], [ 3, "scale_image", 960 ], [ 3, "sin_image", 962 ], [ 3, "sqrt_image", 962 ], [ 3, "sub_image", 963 ], [ 3, "tan_image", 965 ], [ 2, "Bit", 965 ], [ 3, "bit_and", 965 ], [ 3, "bit_lshift", 966 ], [ 3, "bit_mask", 967 ], [ 3, "bit_not", 968 ], [ 3, "bit_or", 969 ], [ 3, "bit_rshift", 969 ], [ 3, "bit_slice", 970 ], [ 3, "bit_xor", 971 ], [ 2, "Color", 972 ], [ 3, "apply_color_trans_lut", 972 ], [ 3, "cfa_to_rgb", 973 ], [ 3, "clear_color_trans_lut", 975 ], [ 3, "create_color_trans_lut", 975 ], [ 3, "gen_principal_comp_trans", 976 ], [ 3, "linear_trans_color", 977 ], [ 3, "principal_comp", 978 ], [ 3, "rgb1_to_gray", 979 ], [ 3, "rgb3_to_gray", 980 ], [ 3, "trans_from_rgb", 981 ], [ 3, "trans_to_rgb", 987 ], [ 2, "Edges", 994 ], [ 3, "close_edges", 994 ], [ 3, "close_edges_length", 995 ], [ 3, "derivate_gauss", 996 ], [ 3, "diff_of_gauss", 999 ], [ 3, "edges_color", 1001 ], [ 3, "edges_color_sub_pix", 1003 ], [ 3, "edges_image", 1005 ], [ 3, "edges_sub_pix", 1008 ], [ 3, "frei_amp", 1011 ], [ 3, "frei_dir", 1012 ], [ 3, "highpass_image", 1013 ], [ 3, "info_edges", 1015 ], [ 3, "kirsch_amp", 1016 ], [ 3, "kirsch_dir", 1017 ], [ 3, "laplace", 1018 ], [ 3, "laplace_of_gauss", 1020 ], [ 3, "prewitt_amp", 1021 ], [ 3, "prewitt_dir", 1022 ], [ 3, "roberts", 1024 ], [ 3, "robinson_amp", 1025 ], [ 3, "robinson_dir", 1026 ], [ 3, "sobel_amp", 1027 ], [ 3, "sobel_dir", 1029 ], [ 2, "Enhancement", 1031 ], [ 3, "coherence_enhancing_diff", 1031 ], [ 3, "emphasize", 1033 ], [ 3, "equ_histo_image", 1034 ], [ 3, "equ_histo_image_rect", 1035 ], [ 3, "illuminate", 1037 ], [ 3, "mean_curvature_flow", 1038 ], [ 3, "scale_image_max", 1040 ], [ 3, "shock_filter", 1041 ], [ 2, "FFT", 1042 ], [ 3, "convol_fft", 1042 ], [ 3, "convol_gabor", 1043 ], [ 3, "correlation_fft", 1044 ], [ 3, "deserialize_fft_optimization_data", 1045 ], [ 3, "energy_gabor", 1046 ], [ 3, "fft_generic", 1047 ], [ 3, "fft_image", 1049 ], [ 3, "fft_image_inv", 1050 ], [ 3, "gen_bandfilter", 1050 ], [ 3, "gen_bandpass", 1052 ], [ 3, "gen_derivative_filter", 1053 ], [ 3, "gen_filter_mask", 1054 ], [ 3, "gen_gabor", 1055 ], [ 3, "gen_gauss_filter", 1057 ], [ 3, "gen_highpass", 1059 ], [ 3, "gen_lowpass", 1060 ], [ 3, "gen_mean_filter", 1061 ], [ 3, "gen_sin_bandpass", 1062 ], [ 3, "gen_std_bandpass", 1064 ], [ 3, "optimize_fft_speed", 1065 ], [ 3, "optimize_rft_speed", 1066 ], [ 3, "phase_correlation_fft", 1067 ], [ 3, "phase_deg", 1068 ], [ 3, "phase_rad", 1069 ], [ 3, "power_byte", 1070 ], [ 3, "power_ln", 1070 ], [ 3, "power_real", 1071 ], [ 3, "read_fft_optimization_data", 1072 ], [ 3, "rft_generic", 1073 ], [ 3, "serialize_fft_optimization_data", 1074 ], [ 3, "write_fft_optimization_data", 1075 ], [ 2, "Geometric Transformations", 1076 ], [ 3, "affine_trans_image", 1076 ], [ 3, "affine_trans_image_size", 1078 ], [ 3, "convert_map_type", 1080 ], [ 3, "map_image", 1081 ], [ 3, "mirror_image", 1083 ], [ 3, "polar_trans_image_ext", 1083 ], [ 3, "polar_trans_image_inv", 1085 ], [ 3, "projective_trans_image", 1087 ], [ 3, "projective_trans_image_size", 1089 ], [ 3, "rotate_image", 1090 ], [ 3, "zoom_image_factor", 1092 ], [ 3, "zoom_image_size", 1093 ], [ 2, "Inpainting", 1094 ], [ 3, "harmonic_interpolation", 1094 ], [ 3, "inpainting_aniso", 1095 ], [ 3, "inpainting_ced", 1098 ], [ 3, "inpainting_ct", 1100 ], [ 3, "inpainting_mcf", 1103 ], [ 3, "inpainting_texture", 1104 ], [ 2, "Lines", 1106 ], [ 3, "bandpass_image", 1106 ], [ 3, "lines_color", 1107 ], [ 3, "lines_facet", 1109 ], [ 3, "lines_gauss", 1111 ], [ 2, "Match", 1114 ], [ 3, "exhaustive_match", 1114 ], [ 3, "exhaustive_match_mg", 1115 ], [ 3, "gen_gauss_pyramid", 1117 ], [ 3, "monotony", 1118 ], [ 2, "Misc", 1119 ], [ 3, "convol_image", 1119 ], [ 3, "deviation_n", 1121 ], [ 3, "expand_domain_gray", 1121 ], [ 3, "gray_inside", 1123 ], [ 3, "gray_skeleton", 1124 ], [ 3, "lut_trans", 1125 ], [ 3, "symmetry", 1126 ], [ 3, "topographic_sketch", 1127 ], [ 2, "Noise", 1128 ], [ 3, "add_noise_distribution", 1128 ], [ 3, "add_noise_white", 1129 ], [ 3, "gauss_distribution", 1130 ], [ 3, "noise_distribution_mean", 1131 ], [ 3, "sp_distribution", 1132 ], [ 2, "Optical Flow", 1133 ], [ 3, "derivate_vector_field", 1133 ], [ 3, "optical_flow_mg", 1134 ], [ 3, "unwarp_image_vector_field", 1142 ], [ 3, "vector_field_length", 1143 ], [ 2, "Points", 1144 ], [ 3, "corner_response", 1144 ], [ 3, "dots_image", 1145 ], [ 3, "points_foerstner", 1146 ], [ 3, "points_harris", 1149 ], [ 3, "points_harris_binomial", 1151 ], [ 3, "points_lepetit", 1152 ], [ 3, "points_sojka", 1153 ], [ 2, "Scene Flow", 1155 ], [ 3, "scene_flow_calib", 1155 ], [ 3, "scene_flow_uncalib", 1157 ], [ 2, "Smoothing", 1162 ], [ 3, "anisotropic_diffusion", 1167 ], [ 3, "bilateral_filter", 1168 ], [ 3, "binomial_filter", 1173 ], [ 3, "eliminate_min_max", 1174 ], [ 3, "eliminate_sp", 1176 ], [ 3, "fill_interlace", 1177 ], [ 3, "gauss_filter", 1178 ], [ 3, "guided_filter", 1180 ], [ 3, "info_smooth", 1183 ], [ 3, "isotropic_diffusion", 1184 ], [ 3, "mean_image", 1185 ], [ 3, "mean_image_shape", 1187 ], [ 3, "mean_n", 1188 ], [ 3, "mean_sp", 1189 ], [ 3, "median_image", 1190 ], [ 3, "median_rect", 1192 ], [ 3, "median_separate", 1193 ], [ 3, "median_weighted", 1195 ], [ 3, "midrange_image", 1196 ], [ 3, "rank_image", 1197 ], [ 3, "rank_n", 1199 ], [ 3, "rank_rect", 1200 ], [ 3, "sigma_image", 1202 ], [ 3, "smooth_image", 1203 ], [ 3, "trimmed_mean", 1205 ], [ 2, "Texture Inspection", 1206 ], [ 3, "deviation_image", 1206 ], [ 3, "entropy_image", 1207 ], [ 3, "texture_laws", 1208 ], [ 2, "Wiener Filter", 1211 ], [ 3, "gen_psf_defocus", 1211 ], [ 3, "gen_psf_motion", 1212 ], [ 3, "simulate_defocus", 1214 ], [ 3, "simulate_motion", 1214 ], [ 3, "wiener_filter", 1216 ], [ 3, "wiener_filter_ni", 1217 ], [ 1, "Graphics", 1221 ], [ 2, "3D Scene", 1221 ], [ 3, "add_scene_3d_camera", 1221 ], [ 3, "add_scene_3d_instance", 1222 ], [ 3, "add_scene_3d_label", 1222 ], [ 3, "add_scene_3d_light", 1224 ], [ 3, "clear_scene_3d", 1225 ], [ 3, "create_scene_3d", 1225 ], [ 3, "display_scene_3d", 1227 ], [ 3, "get_display_scene_3d_info", 1228 ], [ 3, "remove_scene_3d_camera", 1229 ], [ 3, "remove_scene_3d_instance", 1229 ], [ 3, "remove_scene_3d_label", 1230 ], [ 3, "remove_scene_3d_light", 1230 ], [ 3, "render_scene_3d", 1231 ], [ 3, "set_scene_3d_camera_pose", 1231 ], [ 3, "set_scene_3d_instance_param", 1232 ], [ 3, "set_scene_3d_instance_pose", 1234 ], [ 3, "set_scene_3d_label_param", 1235 ], [ 3, "set_scene_3d_light_param", 1237 ], [ 3, "set_scene_3d_param", 1237 ], [ 3, "set_scene_3d_to_world_pose", 1238 ], [ 2, "Drawing", 1239 ], [ 3, "drag_region1", 1240 ], [ 3, "drag_region2", 1241 ], [ 3, "drag_region3", 1242 ], [ 3, "draw_circle", 1243 ], [ 3, "draw_circle_mod", 1244 ], [ 3, "draw_ellipse", 1245 ], [ 3, "draw_ellipse_mod", 1247 ], [ 3, "draw_line", 1248 ], [ 3, "draw_line_mod", 1249 ], [ 3, "draw_nurbs", 1250 ], [ 3, "draw_nurbs_interp", 1252 ], [ 3, "draw_nurbs_interp_mod", 1254 ], [ 3, "draw_nurbs_mod", 1256 ], [ 3, "draw_point", 1258 ], [ 3, "draw_point_mod", 1259 ], [ 3, "draw_polygon", 1260 ], [ 3, "draw_rectangle1", 1261 ], [ 3, "draw_rectangle1_mod", 1262 ], [ 3, "draw_rectangle2", 1263 ], [ 3, "draw_rectangle2_mod", 1264 ], [ 3, "draw_region", 1265 ], [ 3, "draw_xld", 1266 ], [ 3, "draw_xld_mod", 1268 ], [ 2, "LUT", 1269 ], [ 3, "get_lut", 1269 ], [ 3, "query_lut", 1270 ], [ 3, "set_lut", 1270 ], [ 2, "Mouse", 1273 ], [ 3, "get_mbutton", 1273 ], [ 3, "get_mbutton_sub_pix", 1274 ], [ 3, "get_mposition", 1275 ], [ 3, "get_mposition_sub_pix", 1276 ], [ 3, "get_mshape", 1277 ], [ 3, "query_mshape", 1278 ], [ 3, "send_mouse_double_click_event", 1278 ], [ 3, "send_mouse_down_event", 1279 ], [ 3, "send_mouse_drag_event", 1280 ], [ 3, "send_mouse_up_event", 1281 ], [ 3, "set_mshape", 1282 ], [ 2, "Object", 1282 ], [ 3, "attach_background_to_window", 1282 ], [ 3, "attach_drawing_object_to_window", 1283 ], [ 3, "clear_drawing_object", 1284 ], [ 3, "create_drawing_object_circle", 1285 ], [ 3, "create_drawing_object_circle_sector", 1286 ], [ 3, "create_drawing_object_ellipse", 1288 ], [ 3, "create_drawing_object_ellipse_sector", 1289 ], [ 3, "create_drawing_object_line", 1290 ], [ 3, "create_drawing_object_rectangle1", 1291 ], [ 3, "create_drawing_object_rectangle2", 1292 ], [ 3, "create_drawing_object_text", 1293 ], [ 3, "create_drawing_object_xld", 1294 ], [ 3, "detach_background_from_window", 1295 ], [ 3, "detach_drawing_object_from_window", 1296 ], [ 3, "get_drawing_object_iconic", 1297 ], [ 3, "get_drawing_object_params", 1297 ], [ 3, "get_window_background_image", 1298 ], [ 3, "set_content_update_callback", 1299 ], [ 3, "set_drawing_object_callback", 1300 ], [ 3, "set_drawing_object_params", 1301 ], [ 3, "set_drawing_object_xld", 1303 ], [ 2, "Output", 1304 ], [ 3, "disp_arc", 1304 ], [ 3, "disp_arrow", 1305 ], [ 3, "disp_channel", 1307 ], [ 3, "disp_circle", 1307 ], [ 3, "disp_color", 1309 ], [ 3, "disp_cross", 1309 ], [ 3, "disp_ellipse", 1310 ], [ 3, "disp_image", 1312 ], [ 3, "disp_line", 1313 ], [ 3, "disp_obj", 1314 ], [ 3, "disp_object_model_3d", 1315 ], [ 3, "disp_polygon", 1319 ], [ 3, "disp_rectangle1", 1320 ], [ 3, "disp_rectangle2", 1322 ], [ 3, "disp_region", 1323 ], [ 3, "disp_xld", 1324 ], [ 2, "Parameters", 1324 ], [ 3, "convert_coordinates_image_to_window", 1324 ], [ 3, "convert_coordinates_window_to_image", 1326 ], [ 3, "get_contour_style", 1327 ], [ 3, "get_draw", 1327 ], [ 3, "get_hsi", 1328 ], [ 3, "get_icon", 1328 ], [ 3, "get_line_style", 1329 ], [ 3, "get_line_width", 1330 ], [ 3, "get_paint", 1330 ], [ 3, "get_part", 1331 ], [ 3, "get_part_style", 1331 ], [ 3, "get_rgb", 1332 ], [ 3, "get_rgba", 1333 ], [ 3, "get_shape", 1333 ], [ 3, "get_window_param", 1334 ], [ 3, "query_all_colors", 1335 ], [ 3, "query_color", 1336 ], [ 3, "query_colored", 1336 ], [ 3, "query_gray", 1337 ], [ 3, "query_line_width", 1338 ], [ 3, "query_paint", 1338 ], [ 3, "query_shape", 1339 ], [ 3, "set_color", 1339 ], [ 3, "set_colored", 1341 ], [ 3, "set_contour_style", 1342 ], [ 3, "set_draw", 1343 ], [ 3, "set_gray", 1343 ], [ 3, "set_hsi", 1344 ], [ 3, "set_icon", 1345 ], [ 3, "set_line_style", 1346 ], [ 3, "set_line_width", 1347 ], [ 3, "set_paint", 1348 ], [ 3, "set_part", 1350 ], [ 3, "set_part_style", 1351 ], [ 3, "set_rgb", 1352 ], [ 3, "set_rgba", 1353 ], [ 3, "set_shape", 1354 ], [ 3, "set_window_param", 1355 ], [ 2, "Text", 1357 ], [ 3, "disp_text", 1357 ], [ 3, "get_font", 1360 ], [ 3, "get_font_extents", 1361 ], [ 3, "get_string_extents", 1361 ], [ 3, "get_tposition", 1362 ], [ 3, "new_line", 1363 ], [ 3, "query_font", 1364 ], [ 3, "read_char", 1364 ], [ 3, "read_string", 1365 ], [ 3, "set_font", 1366 ], [ 3, "set_tposition", 1367 ], [ 3, "write_string", 1368 ], [ 2, "Window", 1369 ], [ 3, "clear_window", 1369 ], [ 3, "close_window", 1370 ], [ 3, "copy_rectangle", 1370 ], [ 3, "dump_window", 1372 ], [ 3, "dump_window_image", 1374 ], [ 3, "flush_buffer", 1374 ], [ 3, "get_disp_object_model_3d_info", 1375 ], [ 3, "get_os_window_handle", 1376 ], [ 3, "get_window_attr", 1378 ], [ 3, "get_window_extents", 1378 ], [ 3, "get_window_pointer3", 1379 ], [ 3, "get_window_type", 1380 ], [ 3, "new_extern_window", 1381 ], [ 3, "open_window", 1383 ], [ 3, "query_window_type", 1386 ], [ 3, "set_window_attr", 1387 ], [ 3, "set_window_dc", 1388 ], [ 3, "set_window_extents", 1388 ], [ 3, "set_window_type", 1389 ], [ 3, "unproject_coordinates", 1390 ], [ 3, "update_window_pose", 1391 ], [ 1, "Identification", 1395 ], [ 2, "Bar Code", 1395 ], [ 3, "clear_bar_code_model", 1397 ], [ 3, "create_bar_code_model", 1397 ], [ 3, "decode_bar_code_rectangle2", 1399 ], [ 3, "deserialize_bar_code_model", 1400 ], [ 3, "find_bar_code", 1401 ], [ 3, "get_bar_code_object", 1404 ], [ 3, "get_bar_code_param", 1406 ], [ 3, "get_bar_code_param_specific", 1408 ], [ 3, "get_bar_code_result", 1409 ], [ 3, "query_bar_code_params", 1416 ], [ 3, "read_bar_code_model", 1418 ], [ 3, "serialize_bar_code_model", 1418 ], [ 3, "set_bar_code_param", 1419 ], [ 3, "set_bar_code_param_specific", 1429 ], [ 3, "write_bar_code_model", 1431 ], [ 2, "Data Code", 1432 ], [ 3, "clear_data_code_2d_model", 1434 ], [ 3, "create_data_code_2d_model", 1435 ], [ 3, "deserialize_data_code_2d_model", 1440 ], [ 3, "find_data_code_2d", 1440 ], [ 3, "get_data_code_2d_objects", 1446 ], [ 3, "get_data_code_2d_param", 1449 ], [ 3, "get_data_code_2d_results", 1453 ], [ 3, "query_data_code_2d_params", 1470 ], [ 3, "read_data_code_2d_model", 1472 ], [ 3, "serialize_data_code_2d_model", 1473 ], [ 3, "set_data_code_2d_param", 1473 ], [ 3, "write_data_code_2d_model", 1483 ], [ 1, "Image", 1485 ], [ 2, "Access", 1490 ], [ 3, "get_grayval", 1490 ], [ 3, "get_grayval_contour_xld", 1491 ], [ 3, "get_grayval_interpolated", 1492 ], [ 3, "get_image_pointer1", 1494 ], [ 3, "get_image_pointer1_rect", 1495 ], [ 3, "get_image_pointer3", 1496 ], [ 3, "get_image_size", 1497 ], [ 3, "get_image_time", 1498 ], [ 3, "get_image_type", 1498 ], [ 2, "Acquisition", 1499 ], [ 3, "close_framegrabber", 1499 ], [ 3, "get_framegrabber_callback", 1500 ], [ 3, "get_framegrabber_lut", 1501 ], [ 3, "get_framegrabber_param", 1502 ], [ 3, "grab_data", 1503 ], [ 3, "grab_data_async", 1504 ], [ 3, "grab_image", 1505 ], [ 3, "grab_image_async", 1506 ], [ 3, "grab_image_start", 1507 ], [ 3, "info_framegrabber", 1509 ], [ 3, "open_framegrabber", 1511 ], [ 3, "set_framegrabber_callback", 1513 ], [ 3, "set_framegrabber_lut", 1515 ], [ 3, "set_framegrabber_param", 1515 ], [ 2, "Channel", 1516 ], [ 3, "access_channel", 1516 ], [ 3, "append_channel", 1517 ], [ 3, "channels_to_image", 1518 ], [ 3, "compose2", 1518 ], [ 3, "compose3", 1519 ], [ 3, "compose4", 1520 ], [ 3, "compose5", 1521 ], [ 3, "compose6", 1521 ], [ 3, "compose7", 1522 ], [ 3, "count_channels", 1523 ], [ 3, "decompose2", 1524 ], [ 3, "decompose3", 1525 ], [ 3, "decompose4", 1526 ], [ 3, "decompose5", 1527 ], [ 3, "decompose6", 1527 ], [ 3, "decompose7", 1528 ], [ 3, "image_to_channels", 1530 ], [ 2, "Creation", 1530 ], [ 3, "copy_image", 1530 ], [ 3, "gen_image1", 1531 ], [ 3, "gen_image1_extern", 1532 ], [ 3, "gen_image1_rect", 1534 ], [ 3, "gen_image3", 1535 ], [ 3, "gen_image3_extern", 1537 ], [ 3, "gen_image_const", 1539 ], [ 3, "gen_image_gray_ramp", 1541 ], [ 3, "gen_image_interleaved", 1542 ], [ 3, "gen_image_proto", 1544 ], [ 3, "gen_image_surface_first_order", 1545 ], [ 3, "gen_image_surface_second_order", 1547 ], [ 3, "interleave_channels", 1549 ], [ 3, "region_to_bin", 1551 ], [ 3, "region_to_label", 1552 ], [ 3, "region_to_mean", 1553 ], [ 2, "Domain", 1554 ], [ 3, "add_channels", 1554 ], [ 3, "change_domain", 1554 ], [ 3, "full_domain", 1555 ], [ 3, "get_domain", 1556 ], [ 3, "rectangle1_domain", 1556 ], [ 3, "reduce_domain", 1557 ], [ 2, "Features", 1558 ], [ 3, "area_center_gray", 1558 ], [ 3, "cooc_feature_image", 1559 ], [ 3, "cooc_feature_matrix", 1560 ], [ 3, "elliptic_axis_gray", 1561 ], [ 3, "entropy_gray", 1562 ], [ 3, "estimate_noise", 1563 ], [ 3, "fit_surface_first_order", 1565 ], [ 3, "fit_surface_second_order", 1567 ], [ 3, "fuzzy_entropy", 1568 ], [ 3, "fuzzy_perimeter", 1569 ], [ 3, "gen_cooc_matrix", 1570 ], [ 3, "gray_features", 1572 ], [ 3, "gray_histo", 1573 ], [ 3, "gray_histo_abs", 1574 ], [ 3, "gray_histo_range", 1575 ], [ 3, "gray_projections", 1576 ], [ 3, "histo_2dim", 1577 ], [ 3, "intensity", 1578 ], [ 3, "min_max_gray", 1579 ], [ 3, "moments_gray_plane", 1581 ], [ 3, "plane_deviation", 1582 ], [ 3, "select_gray", 1583 ], [ 3, "shape_histo_all", 1585 ], [ 3, "shape_histo_point", 1586 ], [ 2, "Format", 1587 ], [ 3, "add_image_border", 1587 ], [ 3, "change_format", 1588 ], [ 3, "crop_domain", 1589 ], [ 3, "crop_domain_rel", 1589 ], [ 3, "crop_part", 1590 ], [ 3, "crop_rectangle1", 1591 ], [ 3, "crop_rectangle2", 1592 ], [ 3, "tile_channels", 1594 ], [ 3, "tile_images", 1595 ], [ 3, "tile_images_offset", 1596 ], [ 2, "Manipulation", 1598 ], [ 3, "overpaint_gray", 1598 ], [ 3, "overpaint_region", 1599 ], [ 3, "paint_gray", 1600 ], [ 3, "paint_region", 1601 ], [ 3, "paint_xld", 1602 ], [ 3, "set_grayval", 1604 ], [ 2, "Type Conversion", 1605 ], [ 3, "complex_to_real", 1605 ], [ 3, "convert_image_type", 1606 ], [ 3, "real_to_complex", 1606 ], [ 3, "real_to_vector_field", 1607 ], [ 3, "vector_field_to_real", 1607 ], [ 1, "Inspection", 1609 ], [ 2, "Bead Inspection", 1609 ], [ 3, "apply_bead_inspection_model", 1609 ], [ 3, "clear_bead_inspection_model", 1610 ], [ 3, "create_bead_inspection_model", 1611 ], [ 3, "get_bead_inspection_param", 1613 ], [ 3, "set_bead_inspection_param", 1614 ], [ 2, "OCV", 1615 ], [ 3, "close_ocv", 1615 ], [ 3, "create_ocv_proj", 1616 ], [ 3, "deserialize_ocv", 1617 ], [ 3, "do_ocv_simple", 1618 ], [ 3, "read_ocv", 1619 ], [ 3, "serialize_ocv", 1620 ], [ 3, "traind_ocv_proj", 1620 ], [ 3, "write_ocv", 1621 ], [ 2, "Structured Light", 1622 ], [ 3, "clear_structured_light_model", 1623 ], [ 3, "create_structured_light_model", 1624 ], [ 3, "decode_structured_light_pattern", 1625 ], [ 3, "deserialize_structured_light_model", 1626 ], [ 3, "gen_structured_light_pattern", 1627 ], [ 3, "get_structured_light_model_param", 1631 ], [ 3, "get_structured_light_object", 1633 ], [ 3, "read_structured_light_model", 1634 ], [ 3, "reconstruct_surface_structured_light", 1635 ], [ 3, "serialize_structured_light_model", 1636 ], [ 3, "set_structured_light_model_param", 1637 ], [ 3, "write_structured_light_model", 1641 ], [ 2, "Texture Inspection", 1642 ], [ 3, "add_texture_inspection_model_image", 1646 ], [ 3, "apply_texture_inspection_model", 1647 ], [ 3, "clear_texture_inspection_model", 1648 ], [ 3, "clear_texture_inspection_result", 1649 ], [ 3, "create_texture_inspection_model", 1650 ], [ 3, "deserialize_texture_inspection_model", 1651 ], [ 3, "get_texture_inspection_model_image", 1653 ], [ 3, "get_texture_inspection_model_param", 1653 ], [ 3, "get_texture_inspection_result_object", 1655 ], [ 3, "read_texture_inspection_model", 1656 ], [ 3, "remove_texture_inspection_model_image", 1658 ], [ 3, "serialize_texture_inspection_model", 1659 ], [ 3, "set_texture_inspection_model_param", 1660 ], [ 3, "train_texture_inspection_model", 1664 ], [ 3, "write_texture_inspection_model", 1666 ], [ 2, "Variation Model", 1667 ], [ 3, "clear_train_data_variation_model", 1667 ], [ 3, "clear_variation_model", 1668 ], [ 3, "compare_ext_variation_model", 1668 ], [ 3, "compare_variation_model", 1670 ], [ 3, "create_variation_model", 1671 ], [ 3, "deserialize_variation_model", 1672 ], [ 3, "get_thresh_images_variation_model", 1673 ], [ 3, "get_variation_model", 1674 ], [ 3, "prepare_direct_variation_model", 1674 ], [ 3, "prepare_variation_model", 1676 ], [ 3, "read_variation_model", 1677 ], [ 3, "serialize_variation_model", 1678 ], [ 3, "train_variation_model", 1679 ], [ 3, "write_variation_model", 1680 ], [ 1, "Legacy", 1681 ], [ 2, "2D Metrology", 1681 ], [ 3, "copy_metrology_object", 1681 ], [ 3, "transform_metrology_object", 1682 ], [ 2, "Classification", 1683 ], [ 3, "clear_sampset", 1683 ], [ 3, "close_class_box", 1683 ], [ 3, "create_class_box", 1684 ], [ 3, "descript_class_box", 1685 ], [ 3, "deserialize_class_box", 1686 ], [ 3, "enquire_class_box", 1686 ], [ 3, "enquire_reject_class_box", 1687 ], [ 3, "get_class_box_param", 1688 ], [ 3, "learn_class_box", 1689 ], [ 3, "learn_sampset_box", 1690 ], [ 3, "read_class_box", 1691 ], [ 3, "read_sampset", 1692 ], [ 3, "serialize_class_box", 1693 ], [ 3, "set_class_box_param", 1693 ], [ 3, "test_sampset_box", 1694 ], [ 3, "write_class_box", 1695 ], [ 2, "Control", 1696 ], [ 3, "ifelse", 1696 ], [ 2, "DL Classification", 1696 ], [ 3, "apply_dl_classifier", 1699 ], [ 3, "clear_dl_classifier", 1700 ], [ 3, "clear_dl_classifier_result", 1701 ], [ 3, "clear_dl_classifier_train_result", 1701 ], [ 3, "deserialize_dl_classifier", 1702 ], [ 3, "get_dl_classifier_param", 1703 ], [ 3, "get_dl_classifier_result", 1704 ], [ 3, "get_dl_classifier_train_result", 1705 ], [ 3, "read_dl_classifier", 1706 ], [ 3, "serialize_dl_classifier", 1708 ], [ 3, "set_dl_classifier_param", 1709 ], [ 3, "train_dl_classifier_batch", 1711 ], [ 3, "write_dl_classifier", 1713 ], [ 2, "Develop", 1714 ], [ 3, "dev_map_par", 1714 ], [ 3, "dev_map_prog", 1715 ], [ 3, "dev_map_var", 1715 ], [ 3, "dev_unmap_par", 1715 ], [ 3, "dev_unmap_prog", 1716 ], [ 3, "dev_unmap_var", 1716 ], [ 2, "Filters", 1717 ], [ 3, "gauss_image", 1717 ], [ 3, "polar_trans_image", 1718 ], [ 2, "Graphics", 1719 ], [ 3, "clear_rectangle", 1719 ], [ 3, "disp_distribution", 1720 ], [ 3, "disp_lut", 1721 ], [ 3, "get_comprise", 1722 ], [ 3, "get_fix", 1723 ], [ 3, "get_fixed_lut", 1723 ], [ 3, "get_insert", 1724 ], [ 3, "get_line_approx", 1724 ], [ 3, "get_lut_style", 1725 ], [ 3, "get_pixel", 1726 ], [ 3, "get_tshape", 1726 ], [ 3, "move_rectangle", 1727 ], [ 3, "open_textwindow", 1728 ], [ 3, "query_insert", 1732 ], [ 3, "query_tshape", 1733 ], [ 3, "set_comprise", 1733 ], [ 3, "set_fix", 1734 ], [ 3, "set_fixed_lut", 1735 ], [ 3, "set_insert", 1736 ], [ 3, "set_line_approx", 1736 ], [ 3, "set_lut_style", 1737 ], [ 3, "set_pixel", 1738 ], [ 3, "set_tshape", 1739 ], [ 3, "slide_image", 1740 ], [ 3, "write_lut", 1741 ], [ 2, "Identification", 1741 ], [ 3, "add_sample_identifier_preparation_data", 1744 ], [ 3, "add_sample_identifier_training_data", 1746 ], [ 3, "apply_sample_identifier", 1747 ], [ 3, "clear_sample_identifier", 1749 ], [ 3, "create_sample_identifier", 1750 ], [ 3, "deserialize_sample_identifier", 1752 ], [ 3, "get_sample_identifier_object_info", 1753 ], [ 3, "get_sample_identifier_param", 1754 ], [ 3, "prepare_sample_identifier", 1755 ], [ 3, "read_sample_identifier", 1757 ], [ 3, "remove_sample_identifier_preparation_data", 1758 ], [ 3, "remove_sample_identifier_training_data", 1759 ], [ 3, "serialize_sample_identifier", 1760 ], [ 3, "set_sample_identifier_object_info", 1760 ], [ 3, "set_sample_identifier_param", 1761 ], [ 3, "train_sample_identifier", 1763 ], [ 3, "write_sample_identifier", 1764 ], [ 2, "Matching", 1765 ], [ 3, "adapt_template", 1765 ], [ 3, "best_match", 1766 ], [ 3, "best_match_mg", 1767 ], [ 3, "best_match_pre_mg", 1769 ], [ 3, "best_match_rot", 1770 ], [ 3, "best_match_rot_mg", 1771 ], [ 3, "clear_template", 1773 ], [ 3, "create_template", 1773 ], [ 3, "create_template_rot", 1775 ], [ 3, "deserialize_template", 1777 ], [ 3, "fast_match", 1777 ], [ 3, "fast_match_mg", 1778 ], [ 3, "read_template", 1779 ], [ 3, "serialize_template", 1780 ], [ 3, "set_offset_template", 1781 ], [ 3, "set_reference_template", 1781 ], [ 3, "write_template", 1782 ], [ 2, "Matching, Component-Based", 1783 ], [ 3, "clear_all_component_models", 1783 ], [ 3, "clear_all_training_components", 1783 ], [ 3, "clear_component_model", 1784 ], [ 3, "clear_training_components", 1784 ], [ 3, "cluster_model_components", 1785 ], [ 3, "create_component_model", 1786 ], [ 3, "create_trained_component_model", 1789 ], [ 3, "deserialize_component_model", 1791 ], [ 3, "deserialize_training_components", 1792 ], [ 3, "find_component_model", 1793 ], [ 3, "gen_initial_components", 1798 ], [ 3, "get_component_model_params", 1800 ], [ 3, "get_component_model_tree", 1801 ], [ 3, "get_component_relations", 1803 ], [ 3, "get_found_component_model", 1804 ], [ 3, "get_training_components", 1806 ], [ 3, "inspect_clustered_components", 1807 ], [ 3, "modify_component_relations", 1808 ], [ 3, "read_component_model", 1810 ], [ 3, "read_training_components", 1810 ], [ 3, "serialize_component_model", 1811 ], [ 3, "serialize_training_components", 1811 ], [ 3, "train_model_components", 1812 ], [ 3, "write_component_model", 1816 ], [ 3, "write_training_components", 1817 ], [ 2, "Morphology", 1817 ], [ 3, "closing_golay", 1817 ], [ 3, "dilation_golay", 1818 ], [ 3, "dilation_seq", 1820 ], [ 3, "erosion_golay", 1821 ], [ 3, "erosion_seq", 1822 ], [ 3, "fitting", 1823 ], [ 3, "gen_struct_elements", 1824 ], [ 3, "golay_elements", 1825 ], [ 3, "hit_or_miss_golay", 1828 ], [ 3, "hit_or_miss_seq", 1829 ], [ 3, "morph_hat", 1830 ], [ 3, "morph_skeleton", 1832 ], [ 3, "morph_skiz", 1833 ], [ 3, "opening_golay", 1834 ], [ 3, "opening_seg", 1835 ], [ 3, "thickening", 1836 ], [ 3, "thickening_golay", 1837 ], [ 3, "thickening_seq", 1838 ], [ 3, "thinning", 1840 ], [ 3, "thinning_golay", 1841 ], [ 3, "thinning_seq", 1842 ], [ 2, "OCR", 1843 ], [ 3, "close_ocr", 1843 ], [ 3, "create_ocr_class_box", 1844 ], [ 3, "create_text_model", 1847 ], [ 3, "deserialize_ocr", 1847 ], [ 3, "do_ocr_multi", 1848 ], [ 3, "do_ocr_single", 1849 ], [ 3, "info_ocr_class_box", 1849 ], [ 3, "ocr_change_char", 1850 ], [ 3, "ocr_get_features", 1851 ], [ 3, "read_ocr", 1852 ], [ 3, "serialize_ocr", 1852 ], [ 3, "testd_ocr_class_box", 1853 ], [ 3, "traind_ocr_class_box", 1854 ], [ 3, "trainf_ocr_class_box", 1855 ], [ 3, "write_ocr", 1855 ], [ 2, "Regions", 1856 ], [ 3, "get_region_chain", 1856 ], [ 3, "hamming_change_region", 1857 ], [ 3, "interjacent", 1858 ], [ 2, "Segmentation", 1860 ], [ 3, "bin_threshold", 1860 ], [ 3, "class_ndim_box", 1860 ], [ 3, "expand_line", 1861 ], [ 3, "learn_ndim_box", 1863 ], [ 2, "Tools", 1864 ], [ 3, "approx_chain", 1864 ], [ 3, "approx_chain_simple", 1868 ], [ 3, "clear_all_bar_code_models", 1869 ], [ 3, "clear_all_barriers", 1870 ], [ 3, "clear_all_calib_data", 1870 ], [ 3, "clear_all_camera_setup_models", 1870 ], [ 3, "clear_all_class_gmm", 1871 ], [ 3, "clear_all_class_knn", 1871 ], [ 3, "clear_all_class_lut", 1872 ], [ 3, "clear_all_class_mlp", 1872 ], [ 3, "clear_all_class_svm", 1873 ], [ 3, "clear_all_class_train_data", 1873 ], [ 3, "clear_all_color_trans_luts", 1874 ], [ 3, "clear_all_conditions", 1874 ], [ 3, "clear_all_data_code_2d_models", 1874 ], [ 3, "clear_all_deformable_models", 1875 ], [ 3, "clear_all_descriptor_models", 1875 ], [ 3, "clear_all_events", 1876 ], [ 3, "clear_all_lexica", 1876 ], [ 3, "clear_all_matrices", 1877 ], [ 3, "clear_all_metrology_models", 1877 ], [ 3, "clear_all_mutexes", 1877 ], [ 3, "clear_all_ncc_models", 1878 ], [ 3, "clear_all_object_model_3d", 1878 ], [ 3, "clear_all_ocr_class_knn", 1879 ], [ 3, "clear_all_ocr_class_mlp", 1879 ], [ 3, "clear_all_ocr_class_svm", 1880 ], [ 3, "clear_all_sample_identifiers", 1880 ], [ 3, "clear_all_scattered_data_interpolators", 1880 ], [ 3, "clear_all_serialized_items", 1881 ], [ 3, "clear_all_shape_model_3d", 1881 ], [ 3, "clear_all_shape_models", 1882 ], [ 3, "clear_all_sheet_of_light_models", 1882 ], [ 3, "clear_all_stereo_models", 1883 ], [ 3, "clear_all_surface_matching_results", 1883 ], [ 3, "clear_all_surface_models", 1884 ], [ 3, "clear_all_templates", 1884 ], [ 3, "clear_all_text_models", 1884 ], [ 3, "clear_all_text_results", 1885 ], [ 3, "clear_all_variation_models", 1885 ], [ 3, "close_all_bg_esti", 1886 ], [ 3, "close_all_class_box", 1886 ], [ 3, "close_all_files", 1887 ], [ 3, "close_all_framegrabbers", 1887 ], [ 3, "close_all_measures", 1887 ], [ 3, "close_all_ocrs", 1888 ], [ 3, "close_all_ocvs", 1888 ], [ 3, "close_all_serials", 1889 ], [ 3, "close_all_sockets", 1889 ], [ 3, "distance_funct_1d", 1889 ], [ 3, "filter_kalman", 1890 ], [ 3, "intersection_ll", 1894 ], [ 3, "partition_lines", 1895 ], [ 3, "read_kalman", 1897 ], [ 3, "select_lines", 1899 ], [ 3, "select_lines_longest", 1901 ], [ 3, "update_kalman", 1902 ], [ 2, "XLD", 1904 ], [ 3, "union_straight_contours_histo_xld", 1904 ], [ 1, "Matching", 1907 ], [ 2, "Correlation-Based", 1907 ], [ 3, "clear_ncc_model", 1907 ], [ 3, "create_ncc_model", 1907 ], [ 3, "deserialize_ncc_model", 1909 ], [ 3, "determine_ncc_model_params", 1910 ], [ 3, "find_ncc_model", 1911 ], [ 3, "find_ncc_models", 1915 ], [ 3, "get_ncc_model_origin", 1919 ], [ 3, "get_ncc_model_params", 1920 ], [ 3, "get_ncc_model_region", 1921 ], [ 3, "read_ncc_model", 1921 ], [ 3, "serialize_ncc_model", 1922 ], [ 3, "set_ncc_model_origin", 1923 ], [ 3, "set_ncc_model_param", 1923 ], [ 3, "write_ncc_model", 1924 ], [ 2, "Deep Counting", 1925 ], [ 3, "apply_deep_counting_model", 1926 ], [ 3, "create_deep_counting_model", 1927 ], [ 3, "get_deep_counting_model_param", 1928 ], [ 3, "prepare_deep_counting_model", 1930 ], [ 3, "read_deep_counting_model", 1931 ], [ 3, "set_deep_counting_model_param", 1932 ], [ 3, "write_deep_counting_model", 1932 ], [ 2, "Deformable", 1933 ], [ 3, "clear_deformable_model", 1933 ], [ 3, "create_local_deformable_model", 1934 ], [ 3, "create_local_deformable_model_xld", 1936 ], [ 3, "create_planar_calib_deformable_model", 1938 ], [ 3, "create_planar_calib_deformable_model_xld", 1941 ], [ 3, "create_planar_uncalib_deformable_model", 1943 ], [ 3, "create_planar_uncalib_deformable_model_xld", 1947 ], [ 3, "deserialize_deformable_model", 1950 ], [ 3, "determine_deformable_model_params", 1951 ], [ 3, "find_local_deformable_model", 1954 ], [ 3, "find_planar_calib_deformable_model", 1956 ], [ 3, "find_planar_uncalib_deformable_model", 1958 ], [ 3, "get_deformable_model_contours", 1963 ], [ 3, "get_deformable_model_origin", 1964 ], [ 3, "get_deformable_model_params", 1964 ], [ 3, "read_deformable_model", 1966 ], [ 3, "serialize_deformable_model", 1966 ], [ 3, "set_deformable_model_origin", 1967 ], [ 3, "set_deformable_model_param", 1968 ], [ 3, "set_local_deformable_model_metric", 1969 ], [ 3, "set_planar_calib_deformable_model_metric", 1970 ], [ 3, "set_planar_uncalib_deformable_model_metric", 1971 ], [ 3, "write_deformable_model", 1973 ], [ 2, "Descriptor-Based", 1973 ], [ 3, "clear_descriptor_model", 1973 ], [ 3, "create_calib_descriptor_model", 1974 ], [ 3, "create_uncalib_descriptor_model", 1976 ], [ 3, "deserialize_descriptor_model", 1979 ], [ 3, "find_calib_descriptor_model", 1979 ], [ 3, "find_uncalib_descriptor_model", 1981 ], [ 3, "get_descriptor_model_origin", 1984 ], [ 3, "get_descriptor_model_params", 1984 ], [ 3, "get_descriptor_model_points", 1985 ], [ 3, "get_descriptor_model_results", 1986 ], [ 3, "read_descriptor_model", 1987 ], [ 3, "serialize_descriptor_model", 1988 ], [ 3, "set_descriptor_model_origin", 1989 ], [ 3, "write_descriptor_model", 1989 ], [ 2, "Shape-Based", 1990 ], [ 3, "adapt_shape_model_high_noise", 1990 ], [ 3, "clear_shape_model", 1991 ], [ 3, "create_aniso_shape_model", 1991 ], [ 3, "create_aniso_shape_model_xld", 1996 ], [ 3, "create_generic_shape_model", 2001 ], [ 3, "create_scaled_shape_model", 2001 ], [ 3, "create_scaled_shape_model_xld", 2006 ], [ 3, "create_shape_model", 2010 ], [ 3, "create_shape_model_xld", 2014 ], [ 3, "deserialize_shape_model", 2018 ], [ 3, "determine_shape_model_params", 2018 ], [ 3, "find_aniso_shape_model", 2021 ], [ 3, "find_aniso_shape_models", 2027 ], [ 3, "find_generic_shape_model", 2034 ], [ 3, "find_scaled_shape_model", 2036 ], [ 3, "find_scaled_shape_models", 2041 ], [ 3, "find_shape_model", 2048 ], [ 3, "find_shape_models", 2053 ], [ 3, "get_generic_shape_model_object", 2060 ], [ 3, "get_generic_shape_model_param", 2060 ], [ 3, "get_generic_shape_model_result", 2062 ], [ 3, "get_generic_shape_model_result_object", 2064 ], [ 3, "get_shape_model_clutter", 2065 ], [ 3, "get_shape_model_contours", 2065 ], [ 3, "get_shape_model_origin", 2066 ], [ 3, "get_shape_model_params", 2067 ], [ 3, "inspect_shape_model", 2068 ], [ 3, "read_shape_model", 2069 ], [ 3, "serialize_shape_model", 2070 ], [ 3, "set_generic_shape_model_object", 2071 ], [ 3, "set_generic_shape_model_param", 2072 ], [ 3, "set_shape_model_clutter", 2084 ], [ 3, "set_shape_model_metric", 2087 ], [ 3, "set_shape_model_origin", 2089 ], [ 3, "set_shape_model_param", 2090 ], [ 3, "train_generic_shape_model", 2091 ], [ 3, "write_shape_model", 2092 ], [ 1, "Matrix", 2093 ], [ 2, "Access", 2093 ], [ 3, "get_diagonal_matrix", 2093 ], [ 3, "get_full_matrix", 2094 ], [ 3, "get_sub_matrix", 2095 ], [ 3, "get_value_matrix", 2096 ], [ 3, "set_diagonal_matrix", 2097 ], [ 3, "set_full_matrix", 2100 ], [ 3, "set_sub_matrix", 2101 ], [ 3, "set_value_matrix", 2102 ], [ 2, "Arithmetic", 2103 ], [ 3, "abs_matrix", 2103 ], [ 3, "abs_matrix_mod", 2104 ], [ 3, "add_matrix", 2105 ], [ 3, "add_matrix_mod", 2106 ], [ 3, "div_element_matrix", 2107 ], [ 3, "div_element_matrix_mod", 2108 ], [ 3, "invert_matrix", 2109 ], [ 3, "invert_matrix_mod", 2111 ], [ 3, "mult_element_matrix", 2113 ], [ 3, "mult_element_matrix_mod", 2114 ], [ 3, "mult_matrix", 2115 ], [ 3, "mult_matrix_mod", 2117 ], [ 3, "pow_element_matrix", 2119 ], [ 3, "pow_element_matrix_mod", 2120 ], [ 3, "pow_matrix", 2121 ], [ 3, "pow_matrix_mod", 2122 ], [ 3, "pow_scalar_element_matrix", 2124 ], [ 3, "pow_scalar_element_matrix_mod", 2125 ], [ 3, "scale_matrix", 2126 ], [ 3, "scale_matrix_mod", 2127 ], [ 3, "solve_matrix", 2128 ], [ 3, "sqrt_matrix", 2130 ], [ 3, "sqrt_matrix_mod", 2130 ], [ 3, "sub_matrix", 2131 ], [ 3, "sub_matrix_mod", 2132 ], [ 3, "transpose_matrix", 2133 ], [ 3, "transpose_matrix_mod", 2134 ], [ 2, "Creation", 2135 ], [ 3, "clear_matrix", 2135 ], [ 3, "copy_matrix", 2135 ], [ 3, "create_matrix", 2136 ], [ 3, "repeat_matrix", 2138 ], [ 2, "Decomposition", 2139 ], [ 3, "decompose_matrix", 2139 ], [ 3, "orthogonal_decompose_matrix", 2141 ], [ 3, "svd_matrix", 2145 ], [ 2, "Eigenvalues", 2147 ], [ 3, "eigenvalues_general_matrix", 2147 ], [ 3, "eigenvalues_symmetric_matrix", 2148 ], [ 3, "generalized_eigenvalues_general_matrix", 2149 ], [ 3, "generalized_eigenvalues_symmetric_matrix", 2151 ], [ 2, "Features", 2152 ], [ 3, "determinant_matrix", 2152 ], [ 3, "get_size_matrix", 2153 ], [ 3, "max_matrix", 2154 ], [ 3, "mean_matrix", 2155 ], [ 3, "min_matrix", 2157 ], [ 3, "norm_matrix", 2158 ], [ 3, "sum_matrix", 2159 ], [ 2, "File", 2161 ], [ 3, "deserialize_matrix", 2161 ], [ 3, "read_matrix", 2161 ], [ 3, "serialize_matrix", 2162 ], [ 3, "write_matrix", 2162 ], [ 1, "Morphology", 2165 ], [ 2, "Gray Values", 2165 ], [ 3, "dual_rank", 2167 ], [ 3, "gen_disc_se", 2169 ], [ 3, "gray_bothat", 2170 ], [ 3, "gray_closing", 2171 ], [ 3, "gray_closing_rect", 2172 ], [ 3, "gray_closing_shape", 2173 ], [ 3, "gray_dilation", 2174 ], [ 3, "gray_dilation_rect", 2175 ], [ 3, "gray_dilation_shape", 2176 ], [ 3, "gray_erosion", 2177 ], [ 3, "gray_erosion_rect", 2178 ], [ 3, "gray_erosion_shape", 2179 ], [ 3, "gray_opening", 2180 ], [ 3, "gray_opening_rect", 2181 ], [ 3, "gray_opening_shape", 2182 ], [ 3, "gray_range_rect", 2183 ], [ 3, "gray_tophat", 2184 ], [ 3, "read_gray_se", 2185 ], [ 2, "Region", 2186 ], [ 3, "bottom_hat", 2188 ], [ 3, "boundary", 2189 ], [ 3, "closing", 2191 ], [ 3, "closing_circle", 2192 ], [ 3, "closing_rectangle1", 2194 ], [ 3, "dilation1", 2195 ], [ 3, "dilation2", 2196 ], [ 3, "dilation_circle", 2198 ], [ 3, "dilation_rectangle1", 2199 ], [ 3, "erosion1", 2201 ], [ 3, "erosion2", 2202 ], [ 3, "erosion_circle", 2203 ], [ 3, "erosion_rectangle1", 2205 ], [ 3, "hit_or_miss", 2206 ], [ 3, "minkowski_add1", 2207 ], [ 3, "minkowski_add2", 2209 ], [ 3, "minkowski_sub1", 2210 ], [ 3, "minkowski_sub2", 2212 ], [ 3, "opening", 2213 ], [ 3, "opening_circle", 2214 ], [ 3, "opening_rectangle1", 2215 ], [ 3, "pruning", 2216 ], [ 3, "top_hat", 2217 ], [ 1, "OCR", 2219 ], [ 2, "Convolutional Neural Networks", 2219 ], [ 3, "clear_ocr_class_cnn", 2219 ], [ 3, "deserialize_ocr_class_cnn", 2219 ], [ 3, "do_ocr_multi_class_cnn", 2220 ], [ 3, "do_ocr_single_class_cnn", 2221 ], [ 3, "do_ocr_word_cnn", 2222 ], [ 3, "get_params_ocr_class_cnn", 2224 ], [ 3, "query_params_ocr_class_cnn", 2225 ], [ 3, "read_ocr_class_cnn", 2225 ], [ 3, "serialize_ocr_class_cnn", 2226 ], [ 2, "Deep OCR", 2227 ], [ 3, "apply_deep_ocr", 2231 ], [ 3, "create_deep_ocr", 2233 ], [ 3, "get_deep_ocr_param", 2234 ], [ 3, "read_deep_ocr", 2239 ], [ 3, "set_deep_ocr_param", 2240 ], [ 3, "write_deep_ocr", 2241 ], [ 2, "K-Nearest Neighbors", 2241 ], [ 3, "clear_ocr_class_knn", 2241 ], [ 3, "create_ocr_class_knn", 2242 ], [ 3, "deserialize_ocr_class_knn", 2245 ], [ 3, "do_ocr_multi_class_knn", 2246 ], [ 3, "do_ocr_single_class_knn", 2247 ], [ 3, "do_ocr_word_knn", 2248 ], [ 3, "get_features_ocr_class_knn", 2249 ], [ 3, "get_params_ocr_class_knn", 2250 ], [ 3, "read_ocr_class_knn", 2251 ], [ 3, "select_feature_set_trainf_knn", 2252 ], [ 3, "serialize_ocr_class_knn", 2253 ], [ 3, "trainf_ocr_class_knn", 2254 ], [ 3, "write_ocr_class_knn", 2255 ], [ 2, "Lexica", 2256 ], [ 3, "clear_lexicon", 2256 ], [ 3, "create_lexicon", 2257 ], [ 3, "import_lexicon", 2257 ], [ 3, "inspect_lexicon", 2258 ], [ 3, "lookup_lexicon", 2258 ], [ 3, "suggest_lexicon", 2259 ], [ 2, "Neural Nets", 2260 ], [ 3, "clear_ocr_class_mlp", 2260 ], [ 3, "create_ocr_class_mlp", 2260 ], [ 3, "deserialize_ocr_class_mlp", 2264 ], [ 3, "do_ocr_multi_class_mlp", 2265 ], [ 3, "do_ocr_single_class_mlp", 2265 ], [ 3, "do_ocr_word_mlp", 2266 ], [ 3, "get_features_ocr_class_mlp", 2268 ], [ 3, "get_params_ocr_class_mlp", 2269 ], [ 3, "get_prep_info_ocr_class_mlp", 2270 ], [ 3, "get_regularization_params_ocr_class_mlp", 2272 ], [ 3, "get_rejection_params_ocr_class_mlp", 2272 ], [ 3, "read_ocr_class_mlp", 2273 ], [ 3, "select_feature_set_trainf_mlp", 2274 ], [ 3, "select_feature_set_trainf_mlp_protected", 2276 ], [ 3, "serialize_ocr_class_mlp", 2277 ], [ 3, "set_regularization_params_ocr_class_mlp", 2278 ], [ 3, "set_rejection_params_ocr_class_mlp", 2280 ], [ 3, "trainf_ocr_class_mlp", 2281 ], [ 3, "trainf_ocr_class_mlp_protected", 2282 ], [ 3, "write_ocr_class_mlp", 2284 ], [ 2, "Segmentation", 2284 ], [ 3, "clear_text_model", 2284 ], [ 3, "clear_text_result", 2285 ], [ 3, "create_text_model_reader", 2285 ], [ 3, "find_text", 2287 ], [ 3, "get_text_model_param", 2288 ], [ 3, "get_text_object", 2289 ], [ 3, "get_text_result", 2290 ], [ 3, "segment_characters", 2292 ], [ 3, "select_characters", 2294 ], [ 3, "set_text_model_param", 2297 ], [ 3, "text_line_orientation", 2302 ], [ 3, "text_line_slant", 2303 ], [ 2, "Support Vector Machines", 2305 ], [ 3, "clear_ocr_class_svm", 2305 ], [ 3, "create_ocr_class_svm", 2305 ], [ 3, "deserialize_ocr_class_svm", 2309 ], [ 3, "do_ocr_multi_class_svm", 2309 ], [ 3, "do_ocr_single_class_svm", 2310 ], [ 3, "do_ocr_word_svm", 2311 ], [ 3, "get_features_ocr_class_svm", 2313 ], [ 3, "get_params_ocr_class_svm", 2313 ], [ 3, "get_prep_info_ocr_class_svm", 2314 ], [ 3, "get_support_vector_num_ocr_class_svm", 2316 ], [ 3, "get_support_vector_ocr_class_svm", 2317 ], [ 3, "read_ocr_class_svm", 2317 ], [ 3, "reduce_ocr_class_svm", 2318 ], [ 3, "select_feature_set_trainf_svm", 2319 ], [ 3, "select_feature_set_trainf_svm_protected", 2321 ], [ 3, "serialize_ocr_class_svm", 2322 ], [ 3, "trainf_ocr_class_svm", 2323 ], [ 3, "trainf_ocr_class_svm_protected", 2324 ], [ 3, "write_ocr_class_svm", 2325 ], [ 2, "Training Files", 2326 ], [ 3, "append_ocr_trainf", 2326 ], [ 3, "concat_ocr_trainf", 2327 ], [ 3, "protect_ocr_trainf", 2328 ], [ 3, "read_ocr_trainf", 2329 ], [ 3, "read_ocr_trainf_names", 2330 ], [ 3, "read_ocr_trainf_names_protected", 2330 ], [ 3, "read_ocr_trainf_select", 2331 ], [ 3, "write_ocr_trainf", 2332 ], [ 3, "write_ocr_trainf_image", 2332 ], [ 1, "Object", 2335 ], [ 2, "Information", 2336 ], [ 3, "compare_obj", 2336 ], [ 3, "count_obj", 2337 ], [ 3, "get_channel_info", 2337 ], [ 3, "get_obj_class", 2338 ], [ 3, "test_equal_obj", 2339 ], [ 2, "Manipulation", 2340 ], [ 3, "clear_obj", 2340 ], [ 3, "concat_obj", 2340 ], [ 3, "copy_obj", 2341 ], [ 3, "gen_empty_obj", 2343 ], [ 3, "insert_obj", 2343 ], [ 3, "integer_to_obj", 2344 ], [ 3, "obj_diff", 2345 ], [ 3, "obj_to_integer", 2345 ], [ 3, "remove_obj", 2346 ], [ 3, "replace_obj", 2347 ], [ 3, "select_obj", 2348 ], [ 1, "Regions", 2351 ], [ 2, "Access", 2351 ], [ 3, "get_region_contour", 2351 ], [ 3, "get_region_convex", 2352 ], [ 3, "get_region_points", 2352 ], [ 3, "get_region_polygon", 2353 ], [ 3, "get_region_runs", 2354 ], [ 2, "Creation", 2355 ], [ 3, "gen_checker_region", 2355 ], [ 3, "gen_circle", 2356 ], [ 3, "gen_circle_sector", 2358 ], [ 3, "gen_ellipse", 2360 ], [ 3, "gen_ellipse_sector", 2361 ], [ 3, "gen_empty_region", 2363 ], [ 3, "gen_grid_region", 2363 ], [ 3, "gen_random_region", 2365 ], [ 3, "gen_random_regions", 2366 ], [ 3, "gen_rectangle1", 2368 ], [ 3, "gen_rectangle2", 2369 ], [ 3, "gen_region_contour_xld", 2371 ], [ 3, "gen_region_histo", 2371 ], [ 3, "gen_region_hline", 2372 ], [ 3, "gen_region_line", 2373 ], [ 3, "gen_region_points", 2374 ], [ 3, "gen_region_polygon", 2375 ], [ 3, "gen_region_polygon_filled", 2376 ], [ 3, "gen_region_polygon_xld", 2377 ], [ 3, "gen_region_runs", 2378 ], [ 3, "label_to_region", 2379 ], [ 2, "Features", 2380 ], [ 3, "area_center", 2387 ], [ 3, "area_holes", 2388 ], [ 3, "circularity", 2389 ], [ 3, "compactness", 2390 ], [ 3, "connect_and_holes", 2391 ], [ 3, "contlength", 2392 ], [ 3, "convexity", 2393 ], [ 3, "diameter_region", 2394 ], [ 3, "eccentricity", 2395 ], [ 3, "elliptic_axis", 2396 ], [ 3, "euler_number", 2397 ], [ 3, "find_neighbors", 2398 ], [ 3, "get_region_index", 2399 ], [ 3, "get_region_thickness", 2400 ], [ 3, "hamming_distance", 2400 ], [ 3, "hamming_distance_norm", 2401 ], [ 3, "height_width_ratio", 2403 ], [ 3, "inner_circle", 2403 ], [ 3, "inner_rectangle1", 2405 ], [ 3, "moments_region_2nd", 2405 ], [ 3, "moments_region_2nd_invar", 2407 ], [ 3, "moments_region_2nd_rel_invar", 2408 ], [ 3, "moments_region_3rd", 2409 ], [ 3, "moments_region_3rd_invar", 2409 ], [ 3, "moments_region_central", 2410 ], [ 3, "moments_region_central_invar", 2411 ], [ 3, "orientation_region", 2412 ], [ 3, "rectangularity", 2413 ], [ 3, "region_features", 2414 ], [ 3, "roundness", 2417 ], [ 3, "runlength_distribution", 2418 ], [ 3, "runlength_features", 2419 ], [ 3, "select_region_point", 2420 ], [ 3, "select_region_spatial", 2421 ], [ 3, "select_shape", 2422 ], [ 3, "select_shape_proto", 2425 ], [ 3, "select_shape_std", 2427 ], [ 3, "smallest_circle", 2428 ], [ 3, "smallest_rectangle1", 2430 ], [ 3, "smallest_rectangle2", 2431 ], [ 3, "spatial_relation", 2432 ], [ 2, "Geometric Transformations", 2434 ], [ 3, "affine_trans_region", 2434 ], [ 3, "mirror_region", 2435 ], [ 3, "move_region", 2436 ], [ 3, "polar_trans_region", 2437 ], [ 3, "polar_trans_region_inv", 2439 ], [ 3, "projective_trans_region", 2441 ], [ 3, "transpose_region", 2442 ], [ 3, "zoom_region", 2444 ], [ 2, "Sets", 2444 ], [ 3, "complement", 2444 ], [ 3, "difference", 2445 ], [ 3, "intersection", 2446 ], [ 3, "symm_difference", 2447 ], [ 3, "union1", 2448 ], [ 3, "union2", 2449 ], [ 2, "Tests", 2449 ], [ 3, "test_equal_region", 2449 ], [ 3, "test_region_point", 2450 ], [ 3, "test_region_points", 2451 ], [ 3, "test_subset_region", 2452 ], [ 2, "Transformations", 2453 ], [ 3, "background_seg", 2453 ], [ 3, "clip_region", 2454 ], [ 3, "clip_region_rel", 2455 ], [ 3, "closest_point_transform", 2456 ], [ 3, "connection", 2458 ], [ 3, "distance_transform", 2459 ], [ 3, "eliminate_runs", 2460 ], [ 3, "expand_region", 2461 ], [ 3, "fill_up", 2463 ], [ 3, "fill_up_shape", 2463 ], [ 3, "junctions_skeleton", 2464 ], [ 3, "merge_regions_line_scan", 2465 ], [ 3, "partition_dynamic", 2466 ], [ 3, "partition_rectangle", 2467 ], [ 3, "rank_region", 2468 ], [ 3, "remove_noise_region", 2469 ], [ 3, "shape_trans", 2470 ], [ 3, "skeleton", 2471 ], [ 3, "sort_region", 2472 ], [ 3, "split_skeleton_lines", 2474 ], [ 3, "split_skeleton_region", 2475 ], [ 1, "Segmentation", 2477 ], [ 2, "Classification", 2477 ], [ 3, "add_samples_image_class_gmm", 2477 ], [ 3, "add_samples_image_class_knn", 2478 ], [ 3, "add_samples_image_class_mlp", 2479 ], [ 3, "add_samples_image_class_svm", 2480 ], [ 3, "class_2dim_sup", 2481 ], [ 3, "class_2dim_unsup", 2483 ], [ 3, "class_ndim_norm", 2485 ], [ 3, "classify_image_class_gmm", 2487 ], [ 3, "classify_image_class_knn", 2488 ], [ 3, "classify_image_class_lut", 2489 ], [ 3, "classify_image_class_mlp", 2490 ], [ 3, "classify_image_class_svm", 2492 ], [ 3, "learn_ndim_norm", 2493 ], [ 2, "Edges", 2494 ], [ 3, "detect_edge_segments", 2494 ], [ 3, "hysteresis_threshold", 2496 ], [ 3, "nonmax_suppression_amp", 2497 ], [ 3, "nonmax_suppression_dir", 2498 ], [ 2, "Maximally Stable Extremal Regions", 2499 ], [ 3, "segment_image_mser", 2499 ], [ 2, "Region Growing", 2504 ], [ 3, "expand_gray", 2504 ], [ 3, "expand_gray_ref", 2506 ], [ 3, "regiongrowing", 2508 ], [ 3, "regiongrowing_mean", 2509 ], [ 3, "regiongrowing_n", 2510 ], [ 2, "Threshold", 2515 ], [ 3, "auto_threshold", 2521 ], [ 3, "binary_threshold", 2522 ], [ 3, "char_threshold", 2523 ], [ 3, "check_difference", 2525 ], [ 3, "dual_threshold", 2526 ], [ 3, "dyn_threshold", 2528 ], [ 3, "fast_threshold", 2530 ], [ 3, "histo_to_thresh", 2531 ], [ 3, "local_threshold", 2532 ], [ 3, "threshold", 2534 ], [ 3, "threshold_sub_pix", 2535 ], [ 3, "var_threshold", 2536 ], [ 3, "zero_crossing", 2541 ], [ 3, "zero_crossing_sub_pix", 2542 ], [ 2, "Topography", 2543 ], [ 3, "critical_points_sub_pix", 2543 ], [ 3, "local_max", 2544 ], [ 3, "local_max_sub_pix", 2545 ], [ 3, "local_min", 2546 ], [ 3, "local_min_sub_pix", 2548 ], [ 3, "lowlands", 2549 ], [ 3, "lowlands_center", 2550 ], [ 3, "plateaus", 2551 ], [ 3, "plateaus_center", 2552 ], [ 3, "pouring", 2553 ], [ 3, "saddle_points_sub_pix", 2555 ], [ 3, "watersheds", 2556 ], [ 3, "watersheds_marker", 2557 ], [ 3, "watersheds_threshold", 2559 ], [ 1, "System", 2561 ], [ 2, "Compute Devices", 2561 ], [ 3, "activate_compute_device", 2561 ], [ 3, "deactivate_all_compute_devices", 2562 ], [ 3, "deactivate_compute_device", 2562 ], [ 3, "get_compute_device_info", 2563 ], [ 3, "get_compute_device_param", 2563 ], [ 3, "init_compute_device", 2564 ], [ 3, "open_compute_device", 2565 ], [ 3, "query_available_compute_devices", 2566 ], [ 3, "release_all_compute_devices", 2567 ], [ 3, "release_compute_device", 2567 ], [ 3, "set_compute_device_param", 2568 ], [ 2, "Database", 2569 ], [ 3, "count_relation", 2569 ], [ 3, "get_modules", 2571 ], [ 3, "reset_obj_db", 2571 ], [ 2, "Encrypted Item", 2572 ], [ 3, "read_encrypted_item", 2572 ], [ 3, "write_encrypted_item", 2573 ], [ 2, "Error Handling", 2574 ], [ 3, "get_check", 2574 ], [ 3, "get_error_text", 2574 ], [ 3, "get_extended_error_info", 2575 ], [ 3, "get_spy", 2576 ], [ 3, "query_spy", 2576 ], [ 3, "set_check", 2577 ], [ 3, "set_spy", 2578 ], [ 2, "I/O Devices", 2580 ], [ 3, "close_io_channel", 2580 ], [ 3, "close_io_device", 2581 ], [ 3, "control_io_channel", 2581 ], [ 3, "control_io_device", 2582 ], [ 3, "control_io_interface", 2582 ], [ 3, "get_io_channel_param", 2583 ], [ 3, "get_io_device_param", 2584 ], [ 3, "open_io_channel", 2585 ], [ 3, "open_io_device", 2586 ], [ 3, "query_io_device", 2587 ], [ 3, "query_io_interface", 2588 ], [ 3, "read_io_channel", 2589 ], [ 3, "set_io_channel_param", 2590 ], [ 3, "set_io_device_param", 2590 ], [ 3, "write_io_channel", 2591 ], [ 2, "Information", 2592 ], [ 3, "get_chapter_info", 2592 ], [ 3, "get_keywords", 2593 ], [ 3, "get_operator_info", 2593 ], [ 3, "get_operator_name", 2595 ], [ 3, "get_param_info", 2595 ], [ 3, "get_param_names", 2597 ], [ 3, "get_param_num", 2598 ], [ 3, "get_param_types", 2599 ], [ 3, "query_operator_info", 2600 ], [ 3, "query_param_info", 2600 ], [ 3, "search_operator", 2601 ], [ 2, "Memory Block", 2601 ], [ 3, "compare_memory_block", 2601 ], [ 3, "create_memory_block_extern", 2602 ], [ 3, "create_memory_block_extern_copy", 2603 ], [ 3, "get_memory_block_ptr", 2604 ], [ 3, "read_memory_block", 2604 ], [ 3, "write_memory_block", 2605 ], [ 2, "Multithreading", 2606 ], [ 3, "broadcast_condition", 2606 ], [ 3, "clear_barrier", 2606 ], [ 3, "clear_condition", 2607 ], [ 3, "clear_event", 2607 ], [ 3, "clear_message", 2608 ], [ 3, "clear_message_queue", 2609 ], [ 3, "clear_mutex", 2610 ], [ 3, "create_barrier", 2610 ], [ 3, "create_condition", 2611 ], [ 3, "create_event", 2612 ], [ 3, "create_message", 2613 ], [ 3, "create_message_queue", 2614 ], [ 3, "create_mutex", 2615 ], [ 3, "dequeue_message", 2616 ], [ 3, "enqueue_message", 2617 ], [ 3, "get_current_hthread_id", 2618 ], [ 3, "get_message_obj", 2619 ], [ 3, "get_message_param", 2620 ], [ 3, "get_message_queue_param", 2621 ], [ 3, "get_message_tuple", 2622 ], [ 3, "get_threading_attrib", 2623 ], [ 3, "interrupt_operator", 2624 ], [ 3, "lock_mutex", 2625 ], [ 3, "read_message", 2626 ], [ 3, "set_message_obj", 2626 ], [ 3, "set_message_param", 2627 ], [ 3, "set_message_queue_param", 2629 ], [ 3, "set_message_tuple", 2630 ], [ 3, "signal_condition", 2631 ], [ 3, "signal_event", 2632 ], [ 3, "timed_wait_condition", 2632 ], [ 3, "try_lock_mutex", 2633 ], [ 3, "try_wait_event", 2634 ], [ 3, "unlock_mutex", 2634 ], [ 3, "wait_barrier", 2635 ], [ 3, "wait_condition", 2635 ], [ 3, "wait_event", 2636 ], [ 3, "write_message", 2636 ], [ 2, "Operating System", 2637 ], [ 3, "count_seconds", 2637 ], [ 3, "get_system_time", 2638 ], [ 3, "system_call", 2639 ], [ 3, "wait_seconds", 2639 ], [ 2, "Parallelization", 2640 ], [ 3, "get_aop_info", 2640 ], [ 3, "optimize_aop", 2641 ], [ 3, "query_aop_info", 2643 ], [ 3, "read_aop_knowledge", 2644 ], [ 3, "set_aop_info", 2645 ], [ 3, "write_aop_knowledge", 2647 ], [ 2, "Parameters", 2648 ], [ 3, "get_system", 2648 ], [ 3, "get_system_info", 2652 ], [ 3, "set_operator_timeout", 2653 ], [ 3, "set_system", 2654 ], [ 2, "Serial", 2668 ], [ 3, "clear_serial", 2668 ], [ 3, "close_serial", 2669 ], [ 3, "get_serial_param", 2669 ], [ 3, "open_serial", 2670 ], [ 3, "read_serial", 2671 ], [ 3, "set_serial_param", 2671 ], [ 3, "write_serial", 2673 ], [ 2, "Serialized Item", 2673 ], [ 3, "clear_serialized_item", 2673 ], [ 3, "create_serialized_item_ptr", 2674 ], [ 3, "decrypt_serialized_item", 2675 ], [ 3, "encrypt_serialized_item", 2676 ], [ 3, "fread_serialized_item", 2676 ], [ 3, "fwrite_serialized_item", 2677 ], [ 3, "get_serialized_item_ptr", 2678 ], [ 2, "Sockets", 2678 ], [ 3, "close_socket", 2678 ], [ 3, "get_next_socket_data_type", 2679 ], [ 3, "get_socket_descriptor", 2679 ], [ 3, "get_socket_param", 2680 ], [ 3, "open_socket_accept", 2681 ], [ 3, "open_socket_connect", 2683 ], [ 3, "receive_data", 2684 ], [ 3, "receive_image", 2685 ], [ 3, "receive_region", 2686 ], [ 3, "receive_serialized_item", 2686 ], [ 3, "receive_tuple", 2687 ], [ 3, "receive_xld", 2687 ], [ 3, "send_data", 2688 ], [ 3, "send_image", 2689 ], [ 3, "send_region", 2690 ], [ 3, "send_serialized_item", 2690 ], [ 3, "send_tuple", 2691 ], [ 3, "send_xld", 2692 ], [ 3, "set_socket_param", 2693 ], [ 3, "socket_accept_connect", 2693 ], [ 1, "Tools", 2695 ], [ 2, "Background Estimator", 2695 ], [ 3, "close_bg_esti", 2695 ], [ 3, "create_bg_esti", 2696 ], [ 3, "get_bg_esti_params", 2698 ], [ 3, "give_bg_esti", 2700 ], [ 3, "run_bg_esti", 2701 ], [ 3, "set_bg_esti_params", 2702 ], [ 3, "update_bg_esti", 2704 ], [ 2, "Function", 2705 ], [ 3, "abs_funct_1d", 2705 ], [ 3, "compose_funct_1d", 2706 ], [ 3, "create_funct_1d_array", 2706 ], [ 3, "create_funct_1d_pairs", 2707 ], [ 3, "derivate_funct_1d", 2708 ], [ 3, "funct_1d_to_pairs", 2709 ], [ 3, "get_pair_funct_1d", 2709 ], [ 3, "get_y_value_funct_1d", 2709 ], [ 3, "integrate_funct_1d", 2710 ], [ 3, "invert_funct_1d", 2711 ], [ 3, "local_min_max_funct_1d", 2711 ], [ 3, "match_funct_1d_trans", 2712 ], [ 3, "negate_funct_1d", 2713 ], [ 3, "num_points_funct_1d", 2714 ], [ 3, "read_funct_1d", 2714 ], [ 3, "sample_funct_1d", 2714 ], [ 3, "scale_y_funct_1d", 2715 ], [ 3, "smooth_funct_1d_gauss", 2716 ], [ 3, "smooth_funct_1d_mean", 2716 ], [ 3, "transform_funct_1d", 2717 ], [ 3, "write_funct_1d", 2718 ], [ 3, "x_range_funct_1d", 2718 ], [ 3, "y_range_funct_1d", 2719 ], [ 3, "zero_crossings_funct_1d", 2719 ], [ 2, "Geometry", 2720 ], [ 3, "angle_ll", 2720 ], [ 3, "angle_lx", 2721 ], [ 3, "apply_distance_transform_xld", 2722 ], [ 3, "area_intersection_rectangle2", 2723 ], [ 3, "clear_distance_transform_xld", 2724 ], [ 3, "create_distance_transform_xld", 2725 ], [ 3, "deserialize_distance_transform_xld", 2727 ], [ 3, "distance_cc", 2727 ], [ 3, "distance_cc_min", 2728 ], [ 3, "distance_cc_min_points", 2729 ], [ 3, "distance_contours_xld", 2730 ], [ 3, "distance_lc", 2732 ], [ 3, "distance_lr", 2732 ], [ 3, "distance_pc", 2733 ], [ 3, "distance_pl", 2734 ], [ 3, "distance_point_line", 2735 ], [ 3, "distance_point_pluecker_line", 2736 ], [ 3, "distance_pp", 2737 ], [ 3, "distance_pr", 2738 ], [ 3, "distance_ps", 2739 ], [ 3, "distance_rr_min", 2740 ], [ 3, "distance_rr_min_dil", 2741 ], [ 3, "distance_sc", 2741 ], [ 3, "distance_sl", 2742 ], [ 3, "distance_sr", 2743 ], [ 3, "distance_ss", 2744 ], [ 3, "get_distance_transform_xld_contour", 2746 ], [ 3, "get_distance_transform_xld_param", 2746 ], [ 3, "get_points_ellipse", 2747 ], [ 3, "intersection_circle_contour_xld", 2748 ], [ 3, "intersection_circles", 2749 ], [ 3, "intersection_contours_xld", 2751 ], [ 3, "intersection_line_circle", 2752 ], [ 3, "intersection_line_contour_xld", 2753 ], [ 3, "intersection_lines", 2753 ], [ 3, "intersection_segment_circle", 2754 ], [ 3, "intersection_segment_contour_xld", 2755 ], [ 3, "intersection_segment_line", 2756 ], [ 3, "intersection_segments", 2757 ], [ 3, "pluecker_line_to_point_direction", 2758 ], [ 3, "pluecker_line_to_points", 2759 ], [ 3, "point_direction_to_pluecker_line", 2760 ], [ 3, "points_to_pluecker_line", 2761 ], [ 3, "projection_pl", 2762 ], [ 3, "read_distance_transform_xld", 2763 ], [ 3, "serialize_distance_transform_xld", 2764 ], [ 3, "set_distance_transform_xld_param", 2765 ], [ 3, "write_distance_transform_xld", 2766 ], [ 2, "Grid Rectification", 2766 ], [ 3, "connect_grid_points", 2766 ], [ 3, "create_rectification_grid", 2768 ], [ 3, "find_rectification_grid", 2768 ], [ 3, "gen_arbitrary_distortion_map", 2769 ], [ 3, "gen_grid_rectification_map", 2771 ], [ 2, "Hough", 2772 ], [ 3, "hough_circle_trans", 2772 ], [ 3, "hough_circles", 2773 ], [ 3, "hough_line_trans", 2774 ], [ 3, "hough_line_trans_dir", 2775 ], [ 3, "hough_lines", 2776 ], [ 3, "hough_lines_dir", 2777 ], [ 3, "select_matching_lines", 2779 ], [ 2, "Interpolation", 2780 ], [ 3, "clear_scattered_data_interpolator", 2780 ], [ 3, "create_scattered_data_interpolator", 2781 ], [ 3, "interpolate_scattered_data", 2782 ], [ 3, "interpolate_scattered_data_image", 2782 ], [ 3, "interpolate_scattered_data_points_to_image", 2784 ], [ 2, "Lines", 2785 ], [ 3, "line_orientation", 2785 ], [ 3, "line_position", 2786 ], [ 2, "Mosaicking", 2787 ], [ 3, "adjust_mosaic_images", 2787 ], [ 3, "bundle_adjust_mosaic", 2790 ], [ 3, "gen_bundle_adjusted_mosaic", 2793 ], [ 3, "gen_cube_map_mosaic", 2794 ], [ 3, "gen_projective_mosaic", 2796 ], [ 3, "gen_spherical_mosaic", 2798 ], [ 3, "proj_match_points_distortion_ransac", 2800 ], [ 3, "proj_match_points_distortion_ransac_guided", 2804 ], [ 3, "proj_match_points_ransac", 2808 ], [ 3, "proj_match_points_ransac_guided", 2810 ], [ 1, "Transformations", 2815 ], [ 2, "2D Transformations", 2815 ], [ 3, "affine_trans_pixel", 2819 ], [ 3, "affine_trans_point_2d", 2821 ], [ 3, "deserialize_hom_mat2d", 2822 ], [ 3, "hom_mat2d_compose", 2822 ], [ 3, "hom_mat2d_determinant", 2823 ], [ 3, "hom_mat2d_identity", 2824 ], [ 3, "hom_mat2d_invert", 2825 ], [ 3, "hom_mat2d_reflect", 2825 ], [ 3, "hom_mat2d_reflect_local", 2827 ], [ 3, "hom_mat2d_rotate", 2828 ], [ 3, "hom_mat2d_rotate_local", 2829 ], [ 3, "hom_mat2d_scale", 2831 ], [ 3, "hom_mat2d_scale_local", 2832 ], [ 3, "hom_mat2d_slant", 2833 ], [ 3, "hom_mat2d_slant_local", 2835 ], [ 3, "hom_mat2d_to_affine_par", 2836 ], [ 3, "hom_mat2d_translate", 2837 ], [ 3, "hom_mat2d_translate_local", 2839 ], [ 3, "hom_mat2d_transpose", 2840 ], [ 3, "hom_mat3d_project", 2840 ], [ 3, "hom_vector_to_proj_hom_mat2d", 2842 ], [ 3, "point_line_to_hom_mat2d", 2844 ], [ 3, "projective_trans_pixel", 2848 ], [ 3, "projective_trans_point_2d", 2849 ], [ 3, "serialize_hom_mat2d", 2850 ], [ 3, "vector_angle_to_rigid", 2850 ], [ 3, "vector_field_to_hom_mat2d", 2852 ], [ 3, "vector_to_aniso", 2852 ], [ 3, "vector_to_hom_mat2d", 2853 ], [ 3, "vector_to_proj_hom_mat2d", 2855 ], [ 3, "vector_to_proj_hom_mat2d_distortion", 2857 ], [ 3, "vector_to_rigid", 2859 ], [ 3, "vector_to_similarity", 2860 ], [ 2, "3D Transformations", 2861 ], [ 3, "affine_trans_point_3d", 2861 ], [ 3, "deserialize_hom_mat3d", 2863 ], [ 3, "hom_mat3d_compose", 2863 ], [ 3, "hom_mat3d_determinant", 2864 ], [ 3, "hom_mat3d_identity", 2865 ], [ 3, "hom_mat3d_invert", 2865 ], [ 3, "hom_mat3d_rotate", 2866 ], [ 3, "hom_mat3d_rotate_local", 2868 ], [ 3, "hom_mat3d_scale", 2870 ], [ 3, "hom_mat3d_scale_local", 2871 ], [ 3, "hom_mat3d_to_pose", 2873 ], [ 3, "hom_mat3d_translate", 2874 ], [ 3, "hom_mat3d_translate_local", 2875 ], [ 3, "hom_mat3d_transpose", 2876 ], [ 3, "point_pluecker_line_to_hom_mat3d", 2877 ], [ 3, "pose_to_hom_mat3d", 2878 ], [ 3, "projective_trans_hom_point_3d", 2879 ], [ 3, "projective_trans_point_3d", 2880 ], [ 3, "serialize_hom_mat3d", 2881 ], [ 3, "vector_to_hom_mat3d", 2882 ], [ 2, "Dual Quaternions", 2883 ], [ 3, "deserialize_dual_quat", 2883 ], [ 3, "dual_quat_compose", 2884 ], [ 3, "dual_quat_conjugate", 2885 ], [ 3, "dual_quat_interpolate", 2886 ], [ 3, "dual_quat_normalize", 2887 ], [ 3, "dual_quat_to_hom_mat3d", 2887 ], [ 3, "dual_quat_to_screw", 2888 ], [ 3, "dual_quat_trans_line_3d", 2889 ], [ 3, "dual_quat_trans_point_3d", 2891 ], [ 3, "screw_to_dual_quat", 2892 ], [ 3, "serialize_dual_quat", 2893 ], [ 2, "Misc", 2894 ], [ 3, "convert_point_3d_cart_to_spher", 2894 ], [ 3, "convert_point_3d_spher_to_cart", 2895 ], [ 2, "Poses", 2897 ], [ 3, "convert_pose_type", 2897 ], [ 3, "create_pose", 2898 ], [ 3, "deserialize_pose", 2902 ], [ 3, "dual_quat_to_pose", 2903 ], [ 3, "get_circle_pose", 2903 ], [ 3, "get_pose_type", 2905 ], [ 3, "get_rectangle_pose", 2905 ], [ 3, "pose_average", 2909 ], [ 3, "pose_compose", 2910 ], [ 3, "pose_invert", 2910 ], [ 3, "pose_to_dual_quat", 2911 ], [ 3, "pose_to_quat", 2912 ], [ 3, "proj_hom_mat2d_to_pose", 2912 ], [ 3, "quat_to_pose", 2913 ], [ 3, "read_pose", 2914 ], [ 3, "serialize_pose", 2915 ], [ 3, "set_origin_pose", 2915 ], [ 3, "vector_to_pose", 2916 ], [ 3, "write_pose", 2919 ], [ 2, "Quaternions", 2921 ], [ 3, "axis_angle_to_quat", 2921 ], [ 3, "deserialize_quat", 2922 ], [ 3, "quat_compose", 2922 ], [ 3, "quat_conjugate", 2923 ], [ 3, "quat_interpolate", 2923 ], [ 3, "quat_normalize", 2924 ], [ 3, "quat_rotate_point_3d", 2925 ], [ 3, "quat_to_hom_mat3d", 2926 ], [ 3, "serialize_quat", 2926 ], [ 1, "Tuple", 2929 ], [ 2, "Arithmetic", 2929 ], [ 3, "tuple_abs", 2929 ], [ 3, "tuple_acos", 2929 ], [ 3, "tuple_acosh", 2930 ], [ 3, "tuple_add", 2931 ], [ 3, "tuple_asin", 2931 ], [ 3, "tuple_asinh", 2932 ], [ 3, "tuple_atan", 2933 ], [ 3, "tuple_atan2", 2933 ], [ 3, "tuple_atanh", 2934 ], [ 3, "tuple_cbrt", 2935 ], [ 3, "tuple_ceil", 2935 ], [ 3, "tuple_cos", 2936 ], [ 3, "tuple_cosh", 2936 ], [ 3, "tuple_cumul", 2937 ], [ 3, "tuple_deg", 2938 ], [ 3, "tuple_div", 2938 ], [ 3, "tuple_erf", 2939 ], [ 3, "tuple_erfc", 2939 ], [ 3, "tuple_exp", 2940 ], [ 3, "tuple_exp10", 2941 ], [ 3, "tuple_exp2", 2941 ], [ 3, "tuple_fabs", 2942 ], [ 3, "tuple_floor", 2942 ], [ 3, "tuple_fmod", 2943 ], [ 3, "tuple_hypot", 2944 ], [ 3, "tuple_ldexp", 2944 ], [ 3, "tuple_lgamma", 2945 ], [ 3, "tuple_log", 2946 ], [ 3, "tuple_log10", 2946 ], [ 3, "tuple_log2", 2947 ], [ 3, "tuple_max2", 2948 ], [ 3, "tuple_min2", 2948 ], [ 3, "tuple_mod", 2949 ], [ 3, "tuple_mult", 2950 ], [ 3, "tuple_neg", 2950 ], [ 3, "tuple_pow", 2951 ], [ 3, "tuple_rad", 2951 ], [ 3, "tuple_sgn", 2952 ], [ 3, "tuple_sin", 2953 ], [ 3, "tuple_sinh", 2953 ], [ 3, "tuple_sqrt", 2954 ], [ 3, "tuple_sub", 2954 ], [ 3, "tuple_tan", 2955 ], [ 3, "tuple_tanh", 2956 ], [ 3, "tuple_tgamma", 2956 ], [ 2, "Bit Operations", 2957 ], [ 3, "tuple_band", 2957 ], [ 3, "tuple_bnot", 2958 ], [ 3, "tuple_bor", 2958 ], [ 3, "tuple_bxor", 2959 ], [ 3, "tuple_lsh", 2960 ], [ 3, "tuple_rsh", 2960 ], [ 2, "Comparison", 2961 ], [ 3, "tuple_equal", 2961 ], [ 3, "tuple_equal_elem", 2962 ], [ 3, "tuple_greater", 2962 ], [ 3, "tuple_greater_elem", 2963 ], [ 3, "tuple_greater_equal", 2964 ], [ 3, "tuple_greater_equal_elem", 2964 ], [ 3, "tuple_less", 2965 ], [ 3, "tuple_less_elem", 2966 ], [ 3, "tuple_less_equal", 2967 ], [ 3, "tuple_less_equal_elem", 2967 ], [ 3, "tuple_not_equal", 2968 ], [ 3, "tuple_not_equal_elem", 2969 ], [ 2, "Conversion", 2970 ], [ 3, "handle_to_integer", 2970 ], [ 3, "integer_to_handle", 2970 ], [ 3, "tuple_chr", 2971 ], [ 3, "tuple_chrt", 2972 ], [ 3, "tuple_int", 2973 ], [ 3, "tuple_number", 2973 ], [ 3, "tuple_ord", 2974 ], [ 3, "tuple_ords", 2975 ], [ 3, "tuple_real", 2976 ], [ 3, "tuple_round", 2976 ], [ 3, "tuple_string", 2977 ], [ 2, "Creation", 2979 ], [ 3, "clear_handle", 2979 ], [ 3, "tuple_concat", 2980 ], [ 3, "tuple_constant", 2981 ], [ 3, "tuple_gen_const", 2981 ], [ 3, "tuple_gen_sequence", 2982 ], [ 3, "tuple_rand", 2983 ], [ 3, "tuple_repeat", 2983 ], [ 3, "tuple_repeat_elem", 2984 ], [ 2, "Data Containers", 2985 ], [ 3, "copy_dict", 2985 ], [ 3, "create_dict", 2986 ], [ 3, "dict_to_json", 2987 ], [ 3, "get_dict_object", 2988 ], [ 3, "get_dict_param", 2989 ], [ 3, "get_dict_tuple", 2990 ], [ 3, "json_to_dict", 2992 ], [ 3, "read_dict", 2992 ], [ 3, "remove_dict_key", 2994 ], [ 3, "set_dict_object", 2995 ], [ 3, "set_dict_tuple", 2996 ], [ 3, "set_dict_tuple_at", 2997 ], [ 3, "write_dict", 2999 ], [ 2, "Element Order", 3000 ], [ 3, "tuple_inverse", 3000 ], [ 3, "tuple_sort", 3001 ], [ 3, "tuple_sort_index", 3001 ], [ 2, "Features", 3002 ], [ 3, "get_handle_object", 3002 ], [ 3, "get_handle_param", 3003 ], [ 3, "get_handle_tuple", 3003 ], [ 3, "tuple_deviation", 3004 ], [ 3, "tuple_histo_range", 3005 ], [ 3, "tuple_length", 3006 ], [ 3, "tuple_max", 3007 ], [ 3, "tuple_mean", 3007 ], [ 3, "tuple_median", 3008 ], [ 3, "tuple_min", 3008 ], [ 3, "tuple_sum", 3009 ], [ 2, "Logical Operations", 3010 ], [ 3, "tuple_and", 3010 ], [ 3, "tuple_not", 3010 ], [ 3, "tuple_or", 3011 ], [ 3, "tuple_xor", 3012 ], [ 2, "Manipulation", 3012 ], [ 3, "tuple_insert", 3012 ], [ 3, "tuple_remove", 3013 ], [ 3, "tuple_replace", 3014 ], [ 2, "Selection", 3015 ], [ 3, "tuple_find", 3015 ], [ 3, "tuple_find_first", 3016 ], [ 3, "tuple_find_last", 3016 ], [ 3, "tuple_first_n", 3017 ], [ 3, "tuple_last_n", 3018 ], [ 3, "tuple_select", 3018 ], [ 3, "tuple_select_mask", 3019 ], [ 3, "tuple_select_range", 3020 ], [ 3, "tuple_select_rank", 3021 ], [ 3, "tuple_str_bit_select", 3021 ], [ 3, "tuple_uniq", 3022 ], [ 2, "Sets", 3023 ], [ 3, "tuple_difference", 3023 ], [ 3, "tuple_intersection", 3024 ], [ 3, "tuple_symmdiff", 3025 ], [ 3, "tuple_union", 3025 ], [ 2, "String Operations", 3026 ], [ 3, "tuple_environment", 3027 ], [ 3, "tuple_join", 3027 ], [ 3, "tuple_regexp_match", 3028 ], [ 3, "tuple_regexp_replace", 3031 ], [ 3, "tuple_regexp_select", 3032 ], [ 3, "tuple_regexp_test", 3033 ], [ 3, "tuple_split", 3034 ], [ 3, "tuple_str_distance", 3035 ], [ 3, "tuple_str_first_n", 3036 ], [ 3, "tuple_str_last_n", 3037 ], [ 3, "tuple_str_replace", 3038 ], [ 3, "tuple_strchr", 3038 ], [ 3, "tuple_strlen", 3039 ], [ 3, "tuple_strrchr", 3040 ], [ 3, "tuple_strrstr", 3041 ], [ 3, "tuple_strstr", 3042 ], [ 3, "tuple_substr", 3043 ], [ 2, "Type", 3044 ], [ 3, "tuple_is_handle", 3044 ], [ 3, "tuple_is_handle_elem", 3045 ], [ 3, "tuple_is_int", 3045 ], [ 3, "tuple_is_int_elem", 3046 ], [ 3, "tuple_is_mixed", 3047 ], [ 3, "tuple_is_nan_elem", 3048 ], [ 3, "tuple_is_number", 3048 ], [ 3, "tuple_is_real", 3049 ], [ 3, "tuple_is_real_elem", 3050 ], [ 3, "tuple_is_string", 3051 ], [ 3, "tuple_is_string_elem", 3052 ], [ 3, "tuple_is_valid_handle", 3053 ], [ 3, "tuple_sem_type", 3053 ], [ 3, "tuple_sem_type_elem", 3054 ], [ 3, "tuple_type", 3055 ], [ 3, "tuple_type_elem", 3056 ], [ 1, "XLD", 3059 ], [ 2, "Access", 3059 ], [ 3, "get_contour_xld", 3059 ], [ 3, "get_lines_xld", 3059 ], [ 3, "get_parallels_xld", 3060 ], [ 3, "get_polygon_xld", 3061 ], [ 2, "Creation", 3062 ], [ 3, "gen_circle_contour_xld", 3062 ], [ 3, "gen_contour_nurbs_xld", 3063 ], [ 3, "gen_contour_polygon_rounded_xld", 3065 ], [ 3, "gen_contour_polygon_xld", 3066 ], [ 3, "gen_contour_region_xld", 3066 ], [ 3, "gen_contours_skeleton_xld", 3068 ], [ 3, "gen_cross_contour_xld", 3069 ], [ 3, "gen_ellipse_contour_xld", 3069 ], [ 3, "gen_nurbs_interp", 3071 ], [ 3, "gen_parallels_xld", 3072 ], [ 3, "gen_polygons_xld", 3073 ], [ 3, "gen_rectangle2_contour_xld", 3074 ], [ 3, "mod_parallels_xld", 3075 ], [ 2, "Features", 3076 ], [ 3, "area_center_points_xld", 3076 ], [ 3, "area_center_xld", 3077 ], [ 3, "circularity_xld", 3078 ], [ 3, "compactness_xld", 3079 ], [ 3, "contour_point_num_xld", 3080 ], [ 3, "convexity_xld", 3080 ], [ 3, "diameter_xld", 3081 ], [ 3, "dist_ellipse_contour_points_xld", 3082 ], [ 3, "dist_ellipse_contour_xld", 3083 ], [ 3, "dist_rectangle2_contour_points_xld", 3085 ], [ 3, "eccentricity_points_xld", 3086 ], [ 3, "eccentricity_xld", 3087 ], [ 3, "elliptic_axis_points_xld", 3088 ], [ 3, "elliptic_axis_xld", 3089 ], [ 3, "fit_circle_contour_xld", 3090 ], [ 3, "fit_ellipse_contour_xld", 3092 ], [ 3, "fit_line_contour_xld", 3095 ], [ 3, "fit_rectangle2_contour_xld", 3097 ], [ 3, "get_contour_angle_xld", 3100 ], [ 3, "get_contour_attrib_xld", 3100 ], [ 3, "get_contour_global_attrib_xld", 3104 ], [ 3, "get_regress_params_xld", 3107 ], [ 3, "height_width_ratio_xld", 3109 ], [ 3, "info_parallels_xld", 3110 ], [ 3, "length_xld", 3110 ], [ 3, "local_max_contours_xld", 3111 ], [ 3, "max_parallels_xld", 3112 ], [ 3, "moments_any_points_xld", 3112 ], [ 3, "moments_any_xld", 3114 ], [ 3, "moments_points_xld", 3116 ], [ 3, "moments_xld", 3116 ], [ 3, "orientation_points_xld", 3117 ], [ 3, "orientation_xld", 3118 ], [ 3, "query_contour_attribs_xld", 3119 ], [ 3, "query_contour_global_attribs_xld", 3120 ], [ 3, "rectangularity_xld", 3120 ], [ 3, "select_contours_xld", 3121 ], [ 3, "select_shape_xld", 3122 ], [ 3, "select_xld_point", 3125 ], [ 3, "smallest_circle_xld", 3125 ], [ 3, "smallest_rectangle1_xld", 3126 ], [ 3, "smallest_rectangle2_xld", 3127 ], [ 3, "test_closed_xld", 3128 ], [ 3, "test_self_intersection_xld", 3129 ], [ 3, "test_xld_point", 3129 ], [ 2, "Geometric Transformations", 3130 ], [ 3, "affine_trans_contour_xld", 3130 ], [ 3, "affine_trans_polygon_xld", 3131 ], [ 3, "gen_parallel_contour_xld", 3132 ], [ 3, "polar_trans_contour_xld", 3133 ], [ 3, "polar_trans_contour_xld_inv", 3135 ], [ 3, "projective_trans_contour_xld", 3137 ], [ 2, "Sets", 3138 ], [ 3, "difference_closed_contours_xld", 3138 ], [ 3, "difference_closed_polygons_xld", 3139 ], [ 3, "intersection_closed_contours_xld", 3140 ], [ 3, "intersection_closed_polygons_xld", 3141 ], [ 3, "intersection_region_contour_xld", 3142 ], [ 3, "symm_difference_closed_contours_xld", 3143 ], [ 3, "symm_difference_closed_polygons_xld", 3144 ], [ 3, "union2_closed_contours_xld", 3145 ], [ 3, "union2_closed_polygons_xld", 3146 ], [ 2, "Transformations", 3148 ], [ 3, "add_noise_white_contour_xld", 3148 ], [ 3, "clip_contours_xld", 3149 ], [ 3, "clip_end_points_contours_xld", 3149 ], [ 3, "close_contours_xld", 3150 ], [ 3, "combine_roads_xld", 3151 ], [ 3, "crop_contours_xld", 3152 ], [ 3, "merge_cont_line_scan_xld", 3153 ], [ 3, "regress_contours_xld", 3154 ], [ 3, "segment_contour_attrib_xld", 3155 ], [ 3, "segment_contours_xld", 3157 ], [ 3, "shape_trans_xld", 3159 ], [ 3, "smooth_contours_xld", 3160 ], [ 3, "sort_contours_xld", 3160 ], [ 3, "split_contours_xld", 3161 ], [ 3, "union_adjacent_contours_xld", 3162 ], [ 3, "union_cocircular_contours_xld", 3164 ], [ 3, "union_collinear_contours_ext_xld", 3167 ], [ 3, "union_collinear_contours_xld", 3169 ], [ 3, "union_cotangential_contours_xld", 3173 ], [ 3, "union_straight_contours_xld", 3177 ], [ 1, "Index", 3179 ] ] }, "solution_guide_i.pdf": { "pages": 255, "toc": [ [ 1, "1 Guide to HALCON Methods", 13 ], [ 2, "1.1 Color Inspection", 14 ], [ 2, "1.2 Completeness Check", 14 ], [ 2, "1.3 Identification", 14 ], [ 2, "1.4 Measuring and Comparison 2D", 14 ], [ 2, "1.5 Measuring and Comparison 3D", 15 ], [ 2, "1.6 Object Recognition 2D", 15 ], [ 2, "1.7 Object Recognition 3D", 15 ], [ 2, "1.8 Position Recognition 2D", 16 ], [ 2, "1.9 Position Recognition 3D", 16 ], [ 2, "1.10 Print Inspection", 16 ], [ 2, "1.11 Quality Inspection", 17 ], [ 2, "1.12 Robot Vision", 17 ], [ 2, "1.13 Security System", 17 ], [ 2, "1.14 Surface Inspection", 17 ], [ 2, "1.15 Texture Inspection", 18 ], [ 2, "1.16 Text Processing", 18 ], [ 3, "1.16.1 String Encoding", 19 ], [ 1, "2 Image Acquisition", 21 ], [ 2, "2.1 Basic Concept", 21 ], [ 3, "2.1.1 Open Image Acquisition Device", 21 ], [ 3, "2.1.2 Acquire Image(s)", 22 ], [ 3, "2.1.3 Close Image Acquisition Device", 22 ], [ 3, "2.1.4 A First Example", 22 ], [ 2, "2.2 Extended Concept", 22 ], [ 3, "2.2.1 Open Image Acquisition Device", 22 ], [ 3, "2.2.2 Set Parameters", 23 ], [ 3, "2.2.3 Acquire Image(s)", 23 ], [ 2, "2.3 Programming Examples", 23 ], [ 2, "2.4 Tips & Tricks", 24 ], [ 3, "2.4.1 Direct Access to External Images in Memory", 24 ], [ 3, "2.4.2 Unsupported Image Acquisition Devices", 24 ], [ 1, "3 Region Of Interest", 25 ], [ 2, "3.1 Basic Concept", 25 ], [ 3, "3.1.1 Create Region", 25 ], [ 3, "3.1.2 Create ROI", 25 ], [ 3, "3.1.3 A First Example", 26 ], [ 2, "3.2 Extended Concept", 26 ], [ 3, "3.2.1 Segment Image(s)", 26 ], [ 3, "3.2.2 Draw Region", 26 ], [ 3, "3.2.3 Create Region", 27 ], [ 3, "3.2.4 Process Regions", 27 ], [ 3, "3.2.5 Align ROIs or Images", 27 ], [ 3, "3.2.6 Create ROI", 28 ], [ 3, "3.2.7 Visualize Results", 28 ], [ 2, "3.3 Programming Examples", 28 ], [ 3, "3.3.1 Processing inside a User Defined Region", 28 ], [ 3, "3.3.2 Interactive Partial Filtering of an Image", 29 ], [ 3, "3.3.3 Inspecting the Contours of a Tool", 30 ], [ 2, "3.4 Relation to Other Methods", 31 ], [ 2, "3.5 Tips & Tricks", 31 ], [ 3, "3.5.1 Reuse ROI", 31 ], [ 3, "3.5.2 Effect of ROI Shape on Speed Up", 31 ], [ 3, "3.5.3 Binary Images", 31 ], [ 1, "4 Blob Analysis", 33 ], [ 2, "4.1 Basic Concept", 33 ], [ 3, "4.1.1 Acquire Image(s)", 33 ], [ 3, "4.1.2 Segment Image(s)", 34 ], [ 3, "4.1.3 Extract Features", 34 ], [ 3, "4.1.4 A First Example", 34 ], [ 2, "4.2 Extended Concept", 34 ], [ 3, "4.2.1 Use Region of Interest", 34 ], [ 3, "4.2.2 Align ROIs or Images", 34 ], [ 3, "4.2.3 Rectify Image(s)", 35 ], [ 3, "4.2.4 Preprocess Image(s) (Filtering)", 35 ], [ 3, "4.2.5 Extract Segmentation Parameters", 35 ], [ 3, "4.2.6 Segment Image(s)", 36 ], [ 3, "4.2.7 Process Regions", 36 ], [ 3, "4.2.8 Extract Features", 36 ], [ 3, "4.2.9 Transform Results Into World Coordinates", 36 ], [ 3, "4.2.10 Visualize Results", 36 ], [ 2, "4.3 Programming Examples", 36 ], [ 3, "4.3.1 Crystals", 37 ], [ 3, "4.3.2 Atoms", 37 ], [ 3, "4.3.3 Analyzing Particles", 38 ], [ 3, "4.3.4 Extracting Forest Features from Color Infrared Image", 39 ], [ 3, "4.3.5 Checking a Boundary for Fins", 40 ], [ 3, "4.3.6 Bonding Balls", 41 ], [ 3, "4.3.7 Surface Scratches", 41 ], [ 2, "4.4 Relation to Other Methods", 42 ], [ 3, "4.4.1 Methods that are Useful for Blob Analysis", 42 ], [ 3, "4.4.2 Methods that are Using Blob Analysis", 43 ], [ 3, "4.4.3 Alternatives to Blob Analysis", 43 ], [ 2, "4.5 Tips & Tricks", 43 ], [ 3, "4.5.1 Connected Components", 43 ], [ 3, "4.5.2 Speed Up", 43 ], [ 2, "4.6 Advanced Topics", 43 ], [ 3, "4.6.1 Line Scan Cameras", 43 ], [ 3, "4.6.2 High Accuracy", 44 ], [ 1, "5 1D Measuring", 45 ], [ 2, "5.1 Basic Concept", 45 ], [ 3, "5.1.1 Acquire Image(s)", 45 ], [ 3, "5.1.2 Create Measure Object", 46 ], [ 3, "5.1.3 Measure", 46 ], [ 2, "5.2 Extended Concept", 46 ], [ 3, "5.2.1 Radiometrically Calibrate Image(s)", 46 ], [ 3, "5.2.2 Align ROIs or Images", 46 ], [ 3, "5.2.3 Rectify Image(s)", 46 ], [ 3, "5.2.4 Create Measure Object", 47 ], [ 3, "5.2.5 Transform Results Into World Coordinates", 47 ], [ 3, "5.2.6 Visualize Results", 47 ], [ 2, "5.3 Programming Examples", 48 ], [ 3, "5.3.1 Inspecting a Fuse", 48 ], [ 3, "5.3.2 Inspect Cast Part", 49 ], [ 3, "5.3.3 Inspecting an IC Using Fuzzy Measuring", 49 ], [ 3, "5.3.4 Measuring Leads of a Moving IC", 49 ], [ 3, "5.3.5 Inspect IC", 51 ], [ 2, "5.4 Relation to Other Methods", 52 ], [ 3, "5.4.1 Alternatives to 1D Measuring", 52 ], [ 2, "5.5 Tips & Tricks", 52 ], [ 3, "5.5.1 Suppress Clutter or Noise", 52 ], [ 3, "5.5.2 Reuse Measure Object", 52 ], [ 3, "5.5.3 Use an Absolute Gray Value Threshold", 53 ], [ 2, "5.6 Advanced Topics", 53 ], [ 3, "5.6.1 Fuzzy Measuring", 53 ], [ 3, "5.6.2 Evaluation of Gray Values", 53 ], [ 1, "6 Edge Extraction (Pixel-Precise)", 55 ], [ 2, "6.1 Edge Extraction Using Edge Filters", 55 ], [ 3, "6.1.1 Basic Concept", 55 ], [ 3, "6.1.2 A First Example", 56 ], [ 3, "6.1.3 Extended Concept", 56 ], [ 3, "6.1.4 Programming Examples", 58 ], [ 3, "6.1.5 Relation to Other Methods", 60 ], [ 3, "6.1.6 Tips & Tricks", 60 ], [ 2, "6.2 Deep-Learning-Based Edge Extraction", 60 ], [ 3, "6.2.1 Concept", 60 ], [ 3, "6.2.2 Programming Examples", 61 ], [ 1, "7 Edge Extraction (Subpixel-Precise)", 63 ], [ 2, "7.1 Basic Concept", 63 ], [ 3, "7.1.1 Acquire Image(s)", 63 ], [ 3, "7.1.2 Extract Edges Or Lines", 63 ], [ 3, "7.1.3 A First Example", 64 ], [ 2, "7.2 Extended Concept", 64 ], [ 3, "7.2.1 Radiometrically Calibrate Image(s)", 64 ], [ 3, "7.2.2 Use Region Of Interest", 64 ], [ 3, "7.2.3 Extract Edges Or Lines", 65 ], [ 3, "7.2.4 Determine Contour Attributes", 65 ], [ 3, "7.2.5 Process XLD Contours", 66 ], [ 3, "7.2.6 Transform Results Into World Coordinates", 66 ], [ 3, "7.2.7 Visualize Results", 66 ], [ 2, "7.3 Programming Examples", 66 ], [ 3, "7.3.1 Measuring the Diameter of Drilled Holes", 66 ], [ 3, "7.3.2 Angiography", 67 ], [ 2, "7.4 Relation to Other Methods", 68 ], [ 3, "7.4.1 Alternatives to Edge Extraction (Subpixel-Precise)", 68 ], [ 1, "8 Structured Light", 69 ], [ 2, "8.1 Basic Concept", 70 ], [ 3, "8.1.1 Create Structured Light Model", 71 ], [ 3, "8.1.2 Set Model Parameters", 71 ], [ 3, "8.1.3 Generate Pattern Images", 71 ], [ 3, "8.1.4 Acquire Images", 71 ], [ 3, "8.1.5 Decode Images", 71 ], [ 3, "8.1.6 Get Results", 71 ], [ 2, "8.2 Programming Examples", 71 ], [ 3, "8.2.1 Inspecting a Tap Collar", 71 ], [ 3, "8.2.2 Inspecting a Partially Specular Surface", 73 ], [ 2, "8.3 Tips & Tricks", 75 ], [ 3, "8.3.1 Set Up the Measurement", 75 ], [ 3, "8.3.2 Check the Decoding Results", 76 ], [ 3, "8.3.3 Synchronize the Camera with the Pattern Source", 77 ], [ 3, "8.3.4 Speed Up the Acquisition Process", 78 ], [ 1, "9 Contour Processing", 79 ], [ 2, "9.1 Basic Concept", 79 ], [ 3, "9.1.1 Create XLD Contours", 79 ], [ 3, "9.1.2 Process XLD Contours", 80 ], [ 3, "9.1.3 Perform Fitting", 80 ], [ 3, "9.1.4 Extract Features", 81 ], [ 3, "9.1.5 A First Example", 81 ], [ 2, "9.2 Extended Concept", 81 ], [ 3, "9.2.1 Create XLD Contours", 81 ], [ 3, "9.2.2 Process XLD Contours", 82 ], [ 3, "9.2.3 Perform Fitting", 83 ], [ 3, "9.2.4 Transform Results Into World Coordinates", 83 ], [ 3, "9.2.5 Extract Features", 83 ], [ 3, "9.2.6 Convert And Access XLD Contours", 83 ], [ 3, "9.2.7 Visualize Results", 84 ], [ 2, "9.3 Programming Examples", 84 ], [ 3, "9.3.1 Measuring Lines and Arcs", 84 ], [ 3, "9.3.2 Close Gaps in a Contour", 85 ], [ 3, "9.3.3 Calculate Pointwise Distance between XLD Contours", 86 ], [ 3, "9.3.4 Extract Roads", 87 ], [ 2, "9.4 Relation to Other Methods", 88 ], [ 3, "9.4.1 Alternatives to Contour Processing", 88 ], [ 2, "9.5 Advanced Topics", 88 ], [ 3, "9.5.1 Line Scan Cameras", 88 ], [ 1, "10 2D Matching", 89 ], [ 2, "10.1 Basic Concept", 90 ], [ 3, "10.1.1 Acquire Image(s)", 90 ], [ 3, "10.1.2 Create (Train) Model", 90 ], [ 3, "10.1.3 Find Model", 91 ], [ 2, "10.2 Programming Examples", 91 ], [ 3, "10.2.1 A First Example", 91 ], [ 3, "10.2.2 Correlation-based Matching: Find Label in Texture", 92 ], [ 3, "10.2.3 Shape-based Matching: Align the Image to Read Text", 93 ], [ 3, "10.2.4 Local Deformable Matching: Find Deformed Logo", 94 ], [ 3, "10.2.5 Perspective Deformable Matching: Locate Road Signs", 95 ], [ 3, "10.2.6 Descriptor-based Matching: Locate Brochure Pages", 97 ], [ 2, "10.3 Relation to Other Methods", 98 ], [ 3, "10.3.1 Methods that are Using Matching", 98 ], [ 3, "10.3.2 Alternatives to Matching", 99 ], [ 1, "11 3D Matching", 101 ], [ 2, "11.1 Basic Concept", 101 ], [ 3, "11.1.1 Access 3D Object Model", 102 ], [ 3, "11.1.2 Create Approach-Specific 3D Model", 102 ], [ 3, "11.1.3 Acquire Search Data", 103 ], [ 3, "11.1.4 Find Approach-Specific 3D Model", 103 ], [ 3, "11.1.5 A First Example", 103 ], [ 2, "11.2 Extended Concept", 104 ], [ 3, "11.2.1 Inspect 3D Object Model", 105 ], [ 3, "11.2.2 Inspect Approach-Specific 3D Model", 105 ], [ 3, "11.2.3 Re-use Approach-Specific 3D Model", 105 ], [ 3, "11.2.4 Use Region Of Interest", 105 ], [ 3, "11.2.5 Visualize Results", 105 ], [ 2, "11.3 Programming Examples", 106 ], [ 3, "11.3.1 Recognize 3D Clamps and Their Poses in Images", 106 ], [ 3, "11.3.2 Recognize Pipe Joints and Their Poses in a 3D Scene", 108 ], [ 2, "11.4 Relation to Other Methods", 110 ], [ 3, "11.4.1 Alternatives to 3D Matching", 110 ], [ 1, "12 Variation Model", 111 ], [ 2, "12.1 Basic Concept", 111 ], [ 3, "12.1.1 Acquire Image(s)", 111 ], [ 3, "12.1.2 Create Variation Model", 112 ], [ 3, "12.1.3 Align ROIs or Images", 112 ], [ 3, "12.1.4 Train Variation Model", 112 ], [ 3, "12.1.5 Prepare Variation Model", 112 ], [ 3, "12.1.6 Compare Variation Model", 112 ], [ 3, "12.1.7 A First Example", 112 ], [ 2, "12.2 Extended Concept", 114 ], [ 3, "12.2.1 Check Model Quality", 114 ], [ 3, "12.2.2 Clear Training Data", 115 ], [ 3, "12.2.3 Visualize Results", 115 ], [ 2, "12.3 Programming Examples", 115 ], [ 3, "12.3.1 Inspect a Printed Logo Using a Single Reference Image", 115 ], [ 3, "12.3.2 Inspect a Printed Logo under Varying Illumination", 117 ], [ 1, "13 Classification", 119 ], [ 2, "13.1 Basic Concept", 119 ], [ 3, "13.1.1 Acquire Image(s)", 119 ], [ 3, "13.1.2 Create Classifier", 120 ], [ 3, "13.1.3 Train Classifier", 121 ], [ 3, "13.1.4 Classify Data", 121 ], [ 3, "13.1.5 A First Example", 121 ], [ 2, "13.2 Extended Concept", 122 ], [ 3, "13.2.1 Train Classifier", 122 ], [ 3, "13.2.2 Re-use Training Samples", 123 ], [ 3, "13.2.3 Re-use Classifier", 123 ], [ 3, "13.2.4 Evaluate Classifier", 124 ], [ 3, "13.2.5 Visualize Results", 124 ], [ 2, "13.3 Programming Examples", 124 ], [ 3, "13.3.1 Inspection of Plastic Meshes via Texture Classification", 124 ], [ 3, "13.3.2 Classification with Overlapping Classes", 126 ], [ 2, "13.4 Relation to Other Methods", 128 ], [ 3, "13.4.1 Methods that are Useful for Classification", 128 ], [ 3, "13.4.2 Methods that are Using Classification", 129 ], [ 3, "13.4.3 Alternatives to Classification", 129 ], [ 2, "13.5 Tips & Tricks", 129 ], [ 3, "13.5.1 OCR for General Classification", 129 ], [ 2, "13.6 Advanced Topics", 129 ], [ 3, "13.6.1 Selection of Training Samples", 129 ], [ 1, "14 Color Processing", 131 ], [ 2, "14.1 Basic Concept", 131 ], [ 3, "14.1.1 Acquire Image(s)", 131 ], [ 3, "14.1.2 Decompose Channels", 131 ], [ 3, "14.1.3 Process Image (Channels)", 132 ], [ 3, "14.1.4 A First Example", 132 ], [ 2, "14.2 Extended Concept", 132 ], [ 3, "14.2.1 Demosaick Bayer Pattern", 132 ], [ 3, "14.2.2 Transform Color Space", 133 ], [ 3, "14.2.3 Train Colors", 133 ], [ 3, "14.2.4 Use Region Of Interest", 134 ], [ 3, "14.2.5 Classify Colors", 134 ], [ 3, "14.2.6 Compose Channels", 134 ], [ 3, "14.2.7 Visualize Results", 134 ], [ 2, "14.3 Programming Examples", 134 ], [ 3, "14.3.1 Robust Color Extraction", 134 ], [ 3, "14.3.2 Sorting Fuses", 135 ], [ 3, "14.3.3 Completeness Check of Colored Game Pieces", 136 ], [ 3, "14.3.4 Inspect Power Supply Cables", 138 ], [ 3, "14.3.5 Locating Board Components by Color", 139 ], [ 2, "14.4 Tips & Tricks", 141 ], [ 3, "14.4.1 Speed Up", 141 ], [ 2, "14.5 Advanced Topics", 141 ], [ 3, "14.5.1 Color Edge Extraction", 141 ], [ 3, "14.5.2 Color Line Extraction", 141 ], [ 1, "15 Texture Analysis", 143 ], [ 2, "15.1 Basic Concept", 144 ], [ 3, "15.1.1 Acquire Image(s)", 144 ], [ 3, "15.1.2 Apply Texture Filter", 144 ], [ 3, "15.1.3 Compute Features", 144 ], [ 3, "15.1.4 A First Example", 144 ], [ 2, "15.2 Extended Concept", 145 ], [ 3, "15.2.1 Rectify Image(s)", 145 ], [ 3, "15.2.2 Scale Down Image(s)", 145 ], [ 3, "15.2.3 Use Region of Interest", 145 ], [ 3, "15.2.4 Align ROIs or Images", 146 ], [ 3, "15.2.5 Apply Texture Filter", 146 ], [ 3, "15.2.6 Compute Features", 146 ], [ 3, "15.2.7 Visualize Results", 147 ], [ 3, "15.2.8 Use Results", 147 ], [ 2, "15.3 Programming Examples", 147 ], [ 3, "15.3.1 Detect Defects in a Texture with Novelty Detection", 147 ], [ 3, "15.3.2 Detect Defects in a Web Using Dynamic Thresholding", 148 ], [ 3, "15.3.3 Classification of Different Types of Wood", 150 ], [ 2, "15.4 Relation to Other Methods", 152 ], [ 3, "15.4.1 Methods that are Using Texture Analysis", 152 ], [ 2, "15.5 Advanced Topics", 152 ], [ 3, "15.5.1 Fast Fourier Transform (FFT)", 152 ], [ 3, "15.5.2 Texture Analysis in Color Images", 152 ], [ 2, "15.6 More Information About Texture Features", 153 ], [ 3, "15.6.1 Entropy and Anisotropy ([file:../reference/referencehdevelop.pdf]entropy_gray)", 153 ], [ 3, "15.6.2 Cooccurrence Matrix ([file:../reference/referencehdevelop.pdf]gen_cooc_matrix)", 154 ], [ 3, "15.6.3 Features of the Cooccurrence Matrix", 155 ], [ 2, "15.7 More Information About Texture Filtering", 158 ], [ 3, "15.7.1 The Laws Filter ([file:../reference/referencehdevelop.pdf]texture_laws)", 158 ], [ 1, "16 Bar Code", 159 ], [ 2, "16.1 Basic Concept", 159 ], [ 3, "16.1.1 Acquire Image(s)", 159 ], [ 3, "16.1.2 Create Bar Code Model", 159 ], [ 3, "16.1.3 Read Bar Code(s)", 159 ], [ 3, "16.1.4 A First Example", 160 ], [ 2, "16.2 Extended Concept", 160 ], [ 3, "16.2.1 Use Region Of Interest", 160 ], [ 3, "16.2.2 Preprocess Image(s)", 160 ], [ 3, "16.2.3 Rectify Image(s)", 161 ], [ 3, "16.2.4 Create Bar Code Model", 161 ], [ 3, "16.2.5 Adjust Bar Code Model", 161 ], [ 3, "16.2.6 Read Bar Code(s)", 163 ], [ 3, "16.2.7 Check Print Quality", 166 ], [ 3, "16.2.8 Visualize Results", 167 ], [ 2, "16.3 Programming Examples", 168 ], [ 3, "16.3.1 How to Read Difficult Barcodes", 168 ], [ 3, "16.3.2 Reading a Bar Code on a CD", 171 ], [ 3, "16.3.3 Checking Bar Code Print Quality", 172 ], [ 2, "16.4 Relation to Other Methods", 172 ], [ 3, "16.4.1 Alternatives to Bar Code", 172 ], [ 2, "16.5 Advanced Topics", 173 ], [ 3, "16.5.1 Use Timeout", 173 ], [ 1, "17 Data Code", 175 ], [ 2, "17.1 Basic Concept", 175 ], [ 3, "17.1.1 Acquire Image(s)", 175 ], [ 3, "17.1.2 Create Data Code Model", 175 ], [ 3, "17.1.3 Read Data Code(s)", 176 ], [ 3, "17.1.4 A First Example", 176 ], [ 2, "17.2 Extended Concept", 176 ], [ 3, "17.2.1 Acquire Image(s)", 176 ], [ 3, "17.2.2 Rectify Image(s)", 177 ], [ 3, "17.2.3 Create Data Code Model", 177 ], [ 3, "17.2.4 Optimize Model", 178 ], [ 3, "17.2.5 Train Model", 178 ], [ 3, "17.2.6 Use Region Of Interest", 178 ], [ 3, "17.2.7 Read Data Code(s)", 178 ], [ 3, "17.2.8 Inspect Data Code(s)", 178 ], [ 3, "17.2.9 Check Print Quality", 179 ], [ 3, "17.2.10 Visualize Results", 179 ], [ 2, "17.3 Programming Examples", 179 ], [ 3, "17.3.1 Training a Data Code Model", 179 ], [ 3, "17.3.2 Reading 2D Data Codes on Chips", 180 ], [ 2, "17.4 Advanced Topics", 181 ], [ 3, "17.4.1 Use Timeout", 181 ], [ 1, "18 OCR (character classification)", 183 ], [ 2, "18.1 Basic Concept", 184 ], [ 3, "18.1.1 Acquire Image(s)", 184 ], [ 3, "18.1.2 Segment Image(s)", 184 ], [ 3, "18.1.3 Train OCR", 184 ], [ 3, "18.1.4 Read Symbol", 184 ], [ 3, "18.1.5 A First Example", 184 ], [ 2, "18.2 Extended Concept", 185 ], [ 3, "18.2.1 Use Region of Interest", 185 ], [ 3, "18.2.2 Align ROIs or Images", 186 ], [ 3, "18.2.3 Rectify Image(s)", 186 ], [ 3, "18.2.4 Preprocess Image(s) (Filtering)", 186 ], [ 3, "18.2.5 Extract Segmentation Parameters", 187 ], [ 3, "18.2.6 Segment Image(s)", 187 ], [ 3, "18.2.7 Train OCR", 188 ], [ 3, "18.2.8 Read Symbol", 189 ], [ 3, "18.2.9 Visualize Results", 190 ], [ 2, "18.3 Programming Examples", 190 ], [ 3, "18.3.1 Generating a Training File", 190 ], [ 3, "18.3.2 Creating and Training an OCR Classifier", 191 ], [ 3, "18.3.3 Reading Numbers", 193 ], [ 3, "18.3.4 \"Best Before\" Date", 193 ], [ 3, "18.3.5 Reading Engraved Text", 194 ], [ 3, "18.3.6 Reading Forms", 194 ], [ 3, "18.3.7 Segment and Select Characters", 196 ], [ 3, "18.3.8 Syntactic and Lexicon-Based Auto-Correction of OCR Results", 198 ], [ 2, "18.4 Relation to Other Methods", 200 ], [ 3, "18.4.1 Alternatives to OCR", 200 ], [ 2, "18.5 Tips & Tricks", 200 ], [ 3, "18.5.1 Composed Symbols", 200 ], [ 2, "18.6 Advanced Topics", 200 ], [ 3, "18.6.1 Line Scan Cameras", 200 ], [ 3, "18.6.2 Circular Prints", 200 ], [ 3, "18.6.3 OCR Features", 200 ], [ 2, "18.7 Pretrained OCR Fonts", 201 ], [ 3, "18.7.1 Pretrained Fonts with Regularized Weights and Rejection Class", 201 ], [ 3, "18.7.2 Nomenclature for the Ready-to-Use OCR Fonts", 201 ], [ 3, "18.7.3 Ready-to-Use OCR Font 'Document'", 201 ], [ 3, "18.7.4 Ready-to-Use OCR Font 'DotPrint'", 202 ], [ 3, "18.7.5 Ready-to-Use OCR Font 'HandWritten_0-9'", 202 ], [ 3, "18.7.6 Ready-to-Use OCR Font 'Industrial'", 203 ], [ 3, "18.7.7 Ready-to-Use OCR Font 'OCR-A'", 203 ], [ 3, "18.7.8 Ready-to-Use OCR Font 'OCR-B'", 203 ], [ 3, "18.7.9 Ready-to-Use OCR Font 'Pharma'", 205 ], [ 3, "18.7.10 Ready-to-Use OCR Font 'SEMI'", 206 ], [ 3, "18.7.11 Ready-to-Use OCR Font 'Universal'", 206 ], [ 1, "19 OCR (Deep OCR)", 209 ], [ 2, "19.1 Basic Concept", 209 ], [ 3, "19.1.1 Offline Phase", 209 ], [ 3, "19.1.2 Online Phase", 210 ], [ 2, "19.2 Retrain Model (Recognition & Detection Component)", 210 ], [ 2, "19.3 Programming Examples", 211 ], [ 3, "19.3.1 Locate and Recognize Text", 211 ], [ 3, "19.3.2 Retrain Recognition Component", 211 ], [ 3, "19.3.3 Retrain Detection Component", 212 ], [ 2, "19.4 Large images", 212 ], [ 2, "19.5 Relation to Other Methods", 213 ], [ 1, "20 Stereo Vision", 215 ], [ 2, "20.1 Basic Concept", 215 ], [ 3, "20.1.1 Acquire Calibration Image(s)", 216 ], [ 3, "20.1.2 Calibrate Stereo Camera System", 216 ], [ 3, "20.1.3 Acquire Stereo Image(s)", 216 ], [ 3, "20.1.4 Rectify Image(s)", 217 ], [ 3, "20.1.5 Reconstruct 3D Information", 217 ], [ 2, "20.2 Extended Concept", 217 ], [ 3, "20.2.1 Use Region Of Interest", 217 ], [ 3, "20.2.2 Transform Results Into World Coordinates", 217 ], [ 3, "20.2.3 Visualize Results", 217 ], [ 2, "20.3 Programming Examples", 218 ], [ 3, "20.3.1 Segment the Components of a Board With Binocular Stereo", 218 ], [ 3, "20.3.2 Reconstruct the Surface of Pipe Joints With Multi-View Stereo", 220 ], [ 2, "20.4 Relation to Other Methods", 221 ], [ 3, "20.4.1 Methods that are Using Stereo Vision", 221 ], [ 2, "20.5 Tips & Tricks", 221 ], [ 3, "20.5.1 Speed Up", 221 ], [ 2, "20.6 Advanced Topics", 221 ], [ 3, "20.6.1 High Accuracy", 221 ], [ 1, "21 Visualization", 223 ], [ 2, "21.1 Basic Concept", 223 ], [ 3, "21.1.1 Handling Graphics Windows", 223 ], [ 3, "21.1.2 Displaying", 223 ], [ 3, "21.1.3 A First Example", 224 ], [ 2, "21.2 Extended Concept", 224 ], [ 3, "21.2.1 Handling Graphics Windows", 224 ], [ 3, "21.2.2 Displaying", 225 ], [ 3, "21.2.3 Mouse Interaction", 225 ], [ 2, "21.3 Programming Examples", 226 ], [ 3, "21.3.1 Displaying HALCON data structures", 226 ], [ 2, "21.4 Tips & Tricks", 229 ], [ 3, "21.4.1 Saving Window Content", 229 ], [ 3, "21.4.2 Execution Time", 229 ], [ 2, "21.5 Advanced Topics", 230 ], [ 3, "21.5.1 Programming Environments", 230 ], [ 3, "21.5.2 Flicker-Free Visualization", 230 ], [ 3, "21.5.3 Visualization Quality for Regions when Zooming", 230 ], [ 3, "21.5.4 Remote Visualization", 231 ], [ 3, "21.5.5 Programmed Visualization", 231 ], [ 1, "22 Compute Devices", 233 ], [ 2, "22.1 Basic Concept", 233 ], [ 3, "22.1.1 Query Available Compute Devices", 234 ], [ 3, "22.1.2 Open Compute Device", 234 ], [ 3, "22.1.3 Initialize Compute Device", 234 ], [ 3, "22.1.4 Activate Compute Device", 234 ], [ 3, "22.1.5 Perform Calculations on Compute Device", 234 ], [ 3, "22.1.6 Deactivate Compute Device", 234 ], [ 3, "22.1.7 A First Example", 234 ], [ 2, "22.2 Extended Concept", 235 ], [ 3, "22.2.1 Get Information about Compute Device(s)", 235 ], [ 3, "22.2.2 Open Compute Device", 235 ], [ 3, "22.2.3 View/Edit Compute Device Parameters", 236 ], [ 3, "22.2.4 Initialize Compute Device", 236 ], [ 3, "22.2.5 Activate Compute Device", 236 ], [ 3, "22.2.6 Perform Calculations on Compute Device", 236 ], [ 3, "22.2.7 Deactivate Compute Device", 236 ], [ 3, "22.2.8 Release Compute Device", 236 ], [ 2, "22.3 Programming Example", 236 ], [ 3, "22.3.1 How to Use Compute Devices With HALCON", 237 ], [ 2, "22.4 Tips and Tricks", 238 ], [ 3, "22.4.1 Speedup", 238 ], [ 3, "22.4.2 Measuring Execution Times", 240 ], [ 3, "22.4.3 Exchanging or Simulating Operators that do not support Compute Devices", 241 ], [ 3, "22.4.4 Limitations", 244 ], [ 3, "22.4.5 Multithreading", 244 ], [ 2, "22.5 Technical Details", 245 ], [ 2, "22.6 Operators Supporting Compute Devices", 245 ], [ 1, "23 I/O Devices", 247 ], [ 2, "23.1 Basic Concept", 247 ], [ 3, "23.1.1 Open Connection", 247 ], [ 3, "23.1.2 Read/Write Values", 247 ], [ 3, "23.1.3 Close Image Acquisition Device", 247 ], [ 3, "23.1.4 A First Example", 248 ], [ 2, "23.2 Extended Concept", 248 ], [ 3, "23.2.1 Control I/O Device Interface", 248 ], [ 3, "23.2.2 Open Connection", 248 ], [ 3, "23.2.3 Set Parameters", 249 ], [ 2, "23.3 Programming Examples", 249 ], [ 2, "23.4 Tips & Tricks", 249 ], [ 3, "23.4.1 Unsupported I/O Devices", 249 ], [ 1, "Index", 251 ] ] }, "solution_guide_ii_a_image_acquisition.pdf": { "pages": 56, "toc": [ [ 1, "1 The Philosophy Behind the HALCON Acquisition Interfaces", 7 ], [ 1, "2 A First Example", 9 ], [ 1, "3 Connecting to Your Image Acquisition Device", 11 ], [ 2, "3.1 Opening a Connection to a Specified Configuration", 11 ], [ 2, "3.2 Connecting to Multiple Boards and Cameras", 12 ], [ 3, "3.2.1 Single Camera", 13 ], [ 3, "3.2.2 Multiple Boards", 13 ], [ 3, "3.2.3 Multiple Handles Per Board", 13 ], [ 3, "3.2.4 Port Switching", 13 ], [ 3, "3.2.5 Simultaneous Grabbing (Only For Specific Interfaces)", 14 ], [ 2, "3.3 Requesting Information About the Image Acquisition Interface", 14 ], [ 1, "4 Configuring the Acquisition", 17 ], [ 2, "4.1 General Parameters", 17 ], [ 2, "4.2 Special Parameters", 18 ], [ 2, "4.3 Fixed vs. Dynamic Parameters", 19 ], [ 1, "5 The Various Modes of Grabbing Images", 21 ], [ 2, "5.1 Real-Time Image Acquisition", 21 ], [ 3, "5.1.1 Non-Real-Time Grabbing Using grab_image", 21 ], [ 3, "5.1.2 Grabbing Without Delay Using Asynchronously Resettable Cameras", 23 ], [ 3, "5.1.3 Volatile Grabbing", 23 ], [ 3, "5.1.4 Real-Time Grabbing Using grab_image_async", 24 ], [ 3, "5.1.5 Continuous Grabbing", 26 ], [ 3, "5.1.6 Using grab_image_async Together With Asynchronously Resettable Cameras", 27 ], [ 3, "5.1.7 Specifying a Maximum Delay", 27 ], [ 2, "5.2 Using an External Trigger", 28 ], [ 3, "5.2.1 Special Parameters for External Triggers", 29 ], [ 2, "5.3 Acquiring Images From Multiple Cameras", 29 ], [ 3, "5.3.1 Dynamic Port Switching and Asynchronous Grabbing", 29 ], [ 3, "5.3.2 Simultaneous Grabbing", 31 ], [ 1, "6 Miscellaneous", 33 ], [ 2, "6.1 Acquiring Images From Standardized Image Acquisition Devices", 33 ], [ 2, "6.2 Acquiring Images From Unsupported Image Acquisition Devices", 34 ], [ 2, "6.3 Grabbing Image Arrays and Preprocessed Image Data", 35 ], [ 2, "6.4 Error Handling", 35 ], [ 3, "6.4.1 Error Handling in HDevelop", 36 ], [ 3, "6.4.2 Error Handling Using HALCON/C", 37 ], [ 3, "6.4.3 Error Handling Using HALCON/C++", 37 ], [ 3, "6.4.4 Error Handling Using HALCON/.NET", 38 ], [ 2, "6.5 Callback Functions", 38 ], [ 2, "6.6 Line Scan Cameras", 39 ], [ 1, "A HALCON Images", 43 ], [ 2, "A.1 The Philosophy of HALCON Images", 43 ], [ 2, "A.2 Image Tuples (Arrays)", 44 ], [ 2, "A.3 HALCON Operators for Handling Images", 44 ], [ 3, "A.3.1 Creation", 44 ], [ 3, "A.3.2 Channels", 44 ], [ 3, "A.3.3 Domain", 44 ], [ 3, "A.3.4 Access", 44 ], [ 3, "A.3.5 Manipulation", 45 ], [ 3, "A.3.6 Image Tuples", 45 ], [ 1, "B Parameters Describing the Image", 47 ], [ 2, "B.1 Image Size", 47 ], [ 2, "B.2 Image Data", 48 ], [ 1, "C Object Appearance", 49 ], [ 2, "C.1 Lighting", 49 ], [ 3, "C.1.1 Reflection Properties of the Object", 49 ], [ 3, "C.1.2 Characteristics of the Light Source", 50 ], [ 2, "C.2 Geometry", 52 ], [ 1, "Index", 55 ] ] }, "solution_guide_ii_b_matching.pdf": { "pages": 106, "toc": [ [ 1, "1 Introduction", 7 ], [ 2, "1.1 How to Use This Manual?", 7 ], [ 2, "1.2 What is Matching?", 7 ], [ 2, "1.3 How to Generally Apply a Matching?", 8 ], [ 2, "1.4 Which Approaches are Available?", 8 ], [ 2, "1.5 Which Approach is Suitable in Which Situation?", 9 ], [ 3, "1.5.1 The Matching Approaches: 2D versus 3D", 9 ], [ 3, "1.5.2 Decisions for 3D Objects and 2D Objects in 3D Space", 10 ], [ 3, "1.5.3 First Decisions for Orthogonally Imaged 2D Objects", 11 ], [ 3, "1.5.4 Shape-Based vs. Correlation-Based Matching", 12 ], [ 3, "1.5.5 Quick Guide to the Matching Approaches", 12 ], [ 1, "2 General Topics", 17 ], [ 2, "2.1 Prepare the Template", 17 ], [ 3, "2.1.1 Reduce the Reference Image to a Template Image", 17 ], [ 3, "2.1.2 Influence of the Region of Interest", 18 ], [ 3, "2.1.3 Synthetic Models as Alternatives to Template Images", 20 ], [ 2, "2.2 Reuse the Model", 25 ], [ 2, "2.3 About Subsampling - Image Pyramid", 25 ], [ 2, "2.4 Speed Up the Search", 27 ], [ 3, "2.4.1 Restrict the Search Space", 28 ], [ 3, "2.4.2 Subsampling", 28 ], [ 3, "2.4.3 The Concept of Greediness", 29 ], [ 3, "2.4.4 Limit the Number of Candidates: MinScore and NumMatches", 29 ], [ 2, "2.5 Use the Results of Matching", 29 ], [ 3, "2.5.1 Results of the Individual Matching Approaches", 30 ], [ 3, "2.5.2 About Transformations", 30 ], [ 3, "2.5.3 Display Matches and Perform Transformations Using a 2D Position and Orientation", 33 ], [ 3, "2.5.4 Visualize Matches and Perform Transformations Using a 2D Homography", 40 ], [ 3, "2.5.5 Visualize Matches and Perform Transformations Using a 3D Pose", 43 ], [ 3, "2.5.6 About the Score", 45 ], [ 1, "3 The Individual Approaches", 47 ], [ 2, "3.1 Correlation-Based Matching", 47 ], [ 3, "3.1.1 A First Example", 47 ], [ 3, "3.1.2 Select the Model ROI", 48 ], [ 3, "3.1.3 Create a Suitable NCC Model", 48 ], [ 3, "3.1.4 Optimize the Search Process", 50 ], [ 2, "3.2 Shape-Based Matching", 53 ], [ 3, "3.2.1 General Concept", 54 ], [ 3, "3.2.2 A First Example", 55 ], [ 3, "3.2.3 Select the Model ROI", 56 ], [ 3, "3.2.4 Create a Suitable Shape Model", 58 ], [ 3, "3.2.5 Train the Shape Model", 64 ], [ 3, "3.2.6 Find Object Instances", 64 ], [ 3, "3.2.7 Restrict the Search to a Region of Interest", 70 ], [ 3, "3.2.8 Search for Multiple Models Simultaneously: ModelIDs", 72 ], [ 3, "3.2.9 Optimize the Matching Speed", 73 ], [ 3, "3.2.10 Use Multiple Shape-Based Matching Results", 74 ], [ 3, "3.2.11 Adapt to a Changed Camera Orientation", 76 ], [ 2, "3.3 Local Deformable Matching", 76 ], [ 3, "3.3.1 A First Example", 77 ], [ 3, "3.3.2 Select the Model ROI", 79 ], [ 3, "3.3.3 Create a Suitable Local Deformable Model", 80 ], [ 3, "3.3.4 Optimize the Search Process", 82 ], [ 3, "3.3.5 Use the Specific Results of Local Deformable Matching", 84 ], [ 2, "3.4 Perspective Deformable Matching", 86 ], [ 3, "3.4.1 A First Example", 86 ], [ 3, "3.4.2 Select the Model ROI", 88 ], [ 3, "3.4.3 Create a Suitable Perspective Deformable Model", 88 ], [ 3, "3.4.4 Optimize the Search Process", 91 ], [ 3, "3.4.5 Use the Specific Results of Perspective Deformable Matching", 94 ], [ 2, "3.5 Descriptor-Based Matching", 94 ], [ 3, "3.5.1 A First Example", 95 ], [ 3, "3.5.2 Select the Model ROI", 97 ], [ 3, "3.5.3 Create a Suitable Descriptor Model", 97 ], [ 3, "3.5.4 Optimize the Search Process", 99 ], [ 3, "3.5.5 Use the Specific Results of Descriptor-Based Matching", 102 ], [ 1, "Index", 103 ] ] }, "solution_guide_ii_c_2d_data_codes.pdf": { "pages": 58, "toc": [ [ 1, "1 Introduction to 2D Data Codes", 7 ], [ 1, "2 A First Example", 9 ], [ 1, "3 Model Adaptation", 11 ], [ 2, "3.1 Global Parameter Settings", 11 ], [ 2, "3.2 Training", 13 ], [ 3, "3.2.1 Train the Model", 13 ], [ 3, "3.2.2 Inspect the Changes", 14 ], [ 2, "3.3 Specific Parameter Settings", 15 ], [ 3, "3.3.1 Shape and Size of the Symbols", 16 ], [ 3, "3.3.2 Format (only Aztec Code)", 17 ], [ 3, "3.3.3 Appearance of the Modules", 17 ], [ 3, "3.3.4 Model Control Parameters", 20 ], [ 2, "3.4 Miscellaneous", 21 ], [ 3, "3.4.1 Speeding up find_data_code_2d", 21 ], [ 3, "3.4.2 Store the 2D Data Code Model", 23 ], [ 1, "4 Preprocessing Difficult Images", 25 ], [ 2, "4.1 Slanted Symbol (Perspective Distortion)", 25 ], [ 2, "4.2 Large Module Gaps", 26 ], [ 2, "4.3 Noise", 27 ], [ 1, "5 Problem Handling", 29 ], [ 2, "5.1 Data Access for Debugging", 29 ], [ 3, "5.1.1 General Information About Data Access", 29 ], [ 3, "5.1.2 Parameters to Access for Successfully Decoded Symbols", 31 ], [ 3, "5.1.3 Parameters to Access for Symbols that are not Decoded", 33 ], [ 2, "5.2 Selected Problems and Tips to Avoid Them", 37 ], [ 3, "5.2.1 Geometric Distortions", 38 ], [ 3, "5.2.2 Radiometric Distortions", 39 ], [ 2, "5.3 Requirements and Limitations", 39 ], [ 3, "5.3.1 Main Rules to Follow", 39 ], [ 3, "5.3.2 Valid Parameter Ranges", 41 ], [ 1, "6 Check for Print Quality", 45 ], [ 2, "6.1 The ISO/IEC 15415:2011 Standard", 45 ], [ 3, "6.1.1 Grades", 45 ], [ 3, "6.1.2 Acquire Raw Data", 50 ], [ 2, "6.2 The AIM DPM-1-2006 Standard", 51 ], [ 3, "6.2.1 Acquire Raw Data", 51 ], [ 3, "6.2.2 How to Apply the AIM DPM-1-2006 Standard", 52 ], [ 3, "6.2.3 How to Adapt the Example Programs To Your Image Acquisition Device", 52 ], [ 3, "6.2.4 Reflectance Calibration", 53 ], [ 3, "6.2.5 Inspecting Print Quality", 54 ], [ 1, "Index", 57 ] ] }, "solution_guide_ii_d_classification.pdf": { "pages": 106, "toc": [ [ 1, "1 Introduction", 7 ], [ 1, "2 A First Example", 11 ], [ 1, "3 Classification: Theoretical Background", 15 ], [ 2, "3.1 Classification in General", 15 ], [ 2, "3.2 Euclidean and Hyperbox Classifiers", 16 ], [ 2, "3.3 Multi-Layer Perceptrons (MLP)", 18 ], [ 2, "3.4 Support-Vector Machines (SVM)", 19 ], [ 2, "3.5 Gaussian Mixture Models (GMM)", 20 ], [ 2, "3.6 K-Nearest Neighbors (k-NN)", 22 ], [ 2, "3.7 Deep Learning (DL) and Convolutional Neural Networks (CNNs)", 23 ], [ 1, "4 Decisions to Make", 27 ], [ 2, "4.1 Select a Suitable Classification Approach", 27 ], [ 2, "4.2 Select Suitable Features", 28 ], [ 2, "4.3 Select Suitable Training Samples", 29 ], [ 1, "5 Classification of General Features", 31 ], [ 2, "5.1 General Approach (Classification of Arbitrary Features)", 31 ], [ 2, "5.2 Involved Operators (Overview)", 34 ], [ 3, "5.2.1 Basic Steps: MLP, SVM, GMM, and k-NN", 34 ], [ 3, "5.2.2 Advanced Steps: MLP, SVM, GMM, and k-NN", 35 ], [ 2, "5.3 Parameter Setting for MLP", 37 ], [ 3, "5.3.1 Adjusting create_class_mlp", 37 ], [ 3, "5.3.2 Adjusting add_sample_class_mlp", 39 ], [ 3, "5.3.3 Adjusting train_class_mlp", 40 ], [ 3, "5.3.4 Adjusting evaluate_class_mlp", 41 ], [ 3, "5.3.5 Adjusting classify_class_mlp", 41 ], [ 2, "5.4 Parameter Setting for SVM", 42 ], [ 3, "5.4.1 Adjusting create_class_svm", 42 ], [ 3, "5.4.2 Adjusting add_sample_class_svm", 45 ], [ 3, "5.4.3 Adjusting train_class_svm", 45 ], [ 3, "5.4.4 Adjusting reduce_class_svm", 46 ], [ 3, "5.4.5 Adjusting classify_class_svm", 47 ], [ 2, "5.5 Parameter Setting for GMM", 47 ], [ 3, "5.5.1 Adjusting create_class_gmm", 48 ], [ 3, "5.5.2 Adjusting add_sample_class_gmm", 49 ], [ 3, "5.5.3 Adjusting train_class_gmm", 50 ], [ 3, "5.5.4 Adjusting evaluate_class_gmm", 51 ], [ 3, "5.5.5 Adjusting classify_class_gmm", 52 ], [ 2, "5.6 Parameter Setting for k-NN", 52 ], [ 3, "5.6.1 Adjusting create_class_knn", 53 ], [ 3, "5.6.2 Adjusting add_sample_class_knn", 53 ], [ 3, "5.6.3 Adjusting train_class_knn", 53 ], [ 3, "5.6.4 Adjusting set_params_class_knn", 54 ], [ 3, "5.6.5 Adjusting classify_class_knn", 55 ], [ 1, "6 Classification for Image Segmentation", 57 ], [ 2, "6.1 Approach for MLP, SVM, GMM, and k-NN", 57 ], [ 3, "6.1.1 General Approach", 57 ], [ 3, "6.1.2 Involved Operators (Overview)", 64 ], [ 3, "6.1.3 Parameter Setting for MLP", 67 ], [ 3, "6.1.4 Parameter Setting for SVM", 67 ], [ 3, "6.1.5 Parameter Setting for GMM", 68 ], [ 3, "6.1.6 Parameter Setting for k-NN", 69 ], [ 3, "6.1.7 Classification Based on Look-Up Tables", 70 ], [ 2, "6.2 Approach for a Two-Channel Image Segmentation", 72 ], [ 2, "6.3 Approach for Euclidean and Hyperbox Classification", 73 ], [ 1, "7 Classification for Optical Character Recognition (OCR)", 75 ], [ 2, "7.1 General Approach", 75 ], [ 2, "7.2 Involved Operators (Overview)", 78 ], [ 2, "7.3 Parameter Setting for MLP", 80 ], [ 3, "7.3.1 Adjusting create_ocr_class_mlp", 80 ], [ 3, "7.3.2 Adjusting write_ocr_trainf / append_ocr_trainf", 82 ], [ 3, "7.3.3 Adjusting trainf_ocr_class_mlp", 82 ], [ 3, "7.3.4 Adjusting do_ocr_multi_class_mlp", 82 ], [ 3, "7.3.5 Adjusting do_ocr_single_class_mlp", 83 ], [ 2, "7.4 Parameter Setting for SVM", 83 ], [ 3, "7.4.1 Adjusting create_ocr_class_svm", 84 ], [ 3, "7.4.2 Adjusting write_ocr_trainf / append_ocr_trainf", 85 ], [ 3, "7.4.3 Adjusting trainf_ocr_class_svm", 85 ], [ 3, "7.4.4 Adjusting do_ocr_multi_class_svm", 85 ], [ 3, "7.4.5 Adjusting do_ocr_single_class_svm", 85 ], [ 2, "7.5 Parameter Setting for k-NN", 86 ], [ 3, "7.5.1 Adjusting create_ocr_class_knn", 86 ], [ 3, "7.5.2 Adjusting write_ocr_trainf / append_ocr_trainf", 87 ], [ 3, "7.5.3 Adjusting trainf_ocr_class_knn", 87 ], [ 3, "7.5.4 Adjusting do_ocr_multi_class_knn", 87 ], [ 3, "7.5.5 Adjusting do_ocr_single_class_knn", 88 ], [ 2, "7.6 Parameter Setting for CNNs", 88 ], [ 3, "7.6.1 Adjusting do_ocr_multi_class_cnn", 88 ], [ 3, "7.6.2 Adjusting do_ocr_single_class_cnn", 89 ], [ 2, "7.7 OCR Features", 89 ], [ 1, "8 General Tips", 93 ], [ 2, "8.1 Optimize Critical Parameters with a Test Application", 93 ], [ 2, "8.2 Classify General Regions using OCR", 94 ], [ 2, "8.3 Visualize the Feature Space (2D and 3D)", 96 ], [ 3, "8.3.1 Visualize the 2D Feature Space", 96 ], [ 3, "8.3.2 Visualize the 3D Feature Space", 99 ], [ 1, "Index", 105 ] ] }, "solution_guide_iii_a_1d_measuring.pdf": { "pages": 64, "toc": [ [ 1, "1 First Example and Overview", 7 ], [ 1, "2 The Basics of Measure Objects", 9 ], [ 2, "2.1 The Process of 1D Edge Extraction", 9 ], [ 2, "2.2 Creating a Measure Object", 11 ], [ 1, "3 Using the Measure Object", 15 ], [ 2, "3.1 The Position of Edges", 15 ], [ 2, "3.2 The Position of Edge Pairs", 17 ], [ 2, "3.3 The Position of Points With a Particular Gray Value", 19 ], [ 2, "3.4 The Gray Projection", 19 ], [ 2, "3.5 Measuring in World Coordinates", 22 ], [ 2, "3.6 Compensate for Lens Distortions", 23 ], [ 2, "3.7 Changing the Position and Orientation of the Measure Object", 23 ], [ 2, "3.8 Tips and Tricks", 24 ], [ 3, "3.8.1 Distances for Circular ROIs", 24 ], [ 3, "3.8.2 ROIs That Lie Partially Outside the Image", 25 ], [ 3, "3.8.3 Accuracy vs. Speed", 25 ], [ 3, "3.8.4 Image Type", 26 ], [ 1, "4 Advanced Measuring: The Fuzzy Measure Object", 27 ], [ 2, "4.1 A First Example", 27 ], [ 2, "4.2 Controlling the Selection of Edges and Edge Pairs", 29 ], [ 3, "4.2.1 Features that Can Be Used to Control the Selection of Edges and Edge Pairs", 29 ], [ 3, "4.2.2 Defining the Constraints on the Feature Values with Fuzzy Membership Functions", 30 ], [ 2, "4.3 Creating the Fuzzy Measure Object", 31 ], [ 3, "4.3.1 Specifying a Fuzzy Membership Function", 32 ], [ 3, "4.3.2 Specifying a Normalized Fuzzy Membership Function", 32 ], [ 3, "4.3.3 Specifying Multiple Fuzzy Membership Functions", 35 ], [ 3, "4.3.4 Changing and Resetting a Fuzzy Measure Object", 36 ], [ 2, "4.4 Using the Standard Measure Object Functionality", 36 ], [ 1, "A Slanted Edges", 37 ], [ 1, "B Examples for Fuzzy Membership Functions", 43 ], [ 2, "B.1 Set Type contrast", 44 ], [ 3, "B.1.1 Subtype 'contrast'", 44 ], [ 2, "B.2 Set Type position", 45 ], [ 3, "B.2.1 Subtype 'position'", 45 ], [ 3, "B.2.2 Subtype 'position_center'", 46 ], [ 3, "B.2.3 Subtype 'position_end'", 47 ], [ 3, "B.2.4 Subtype 'position_first_edge'", 48 ], [ 3, "B.2.5 Subtype 'position_last_edge'", 49 ], [ 2, "B.3 Set Type position_pair", 50 ], [ 3, "B.3.1 Subtype 'position_pair'", 50 ], [ 3, "B.3.2 Subtype 'position_pair_center'", 51 ], [ 3, "B.3.3 Subtype 'position_pair_end'", 52 ], [ 3, "B.3.4 Subtype 'position_first_pair'", 53 ], [ 3, "B.3.5 Subtype 'position_last_pair'", 54 ], [ 2, "B.4 Set Type size", 55 ], [ 3, "B.4.1 Subtype 'size'", 55 ], [ 3, "B.4.2 Subtype 'size_diff'", 56 ], [ 3, "B.4.3 Subtype 'size_abs_diff'", 57 ], [ 2, "B.5 Set Type gray", 58 ], [ 3, "B.5.1 Subtype gray", 58 ], [ 2, "B.6 Set Type position_pair combined with size", 59 ], [ 1, "C Definition of the Geometric Mean", 61 ], [ 1, "Index", 63 ] ] }, "solution_guide_iii_b_2d_measuring.pdf": { "pages": 74, "toc": [ [ 1, "1 Introduction", 7 ], [ 1, "2 Basic Tools", 11 ], [ 2, "2.1 Region Processing", 11 ], [ 3, "2.1.1 Preprocess Image or Region", 12 ], [ 3, "2.1.2 Segment the Image into Regions", 12 ], [ 3, "2.1.3 Select and Modify Regions", 12 ], [ 3, "2.1.4 Extract Features", 14 ], [ 2, "2.2 Contour Processing", 14 ], [ 3, "2.2.1 Create Contours", 15 ], [ 3, "2.2.2 Get Relevant Contours", 16 ], [ 3, "2.2.3 Segment Contours", 18 ], [ 3, "2.2.4 Extract Features of Contour Segments by Approximating them by known Shapes", 19 ], [ 3, "2.2.5 Extract Features of Contours Without Knowing Their Shapes", 20 ], [ 2, "2.3 2D Metrology", 21 ], [ 3, "2.3.1 Aligning the Metrology Model based on different methods", 23 ], [ 3, "2.3.2 Querying Results", 24 ], [ 2, "2.4 Geometric Operations", 25 ], [ 1, "3 Tool Selection", 27 ], [ 2, "3.1 From the Feature to the Tool", 27 ], [ 3, "3.1.1 Area", 29 ], [ 3, "3.1.2 Orientation and Angle", 29 ], [ 3, "3.1.3 Position", 30 ], [ 3, "3.1.4 Dimension and Distance", 30 ], [ 3, "3.1.5 Number of Objects", 31 ], [ 2, "3.2 Region Processing vs. Contour Processing", 31 ], [ 1, "4 Examples for Practical Guidance", 35 ], [ 2, "4.1 Rotate Image and Region (2D Transformation)", 35 ], [ 2, "4.2 Get Width of Screw Thread", 36 ], [ 2, "4.3 Get Deviation of a Contour from a Straight Line", 37 ], [ 2, "4.4 Get the Distance between Straight Parallel Contours", 41 ], [ 2, "4.5 Get Width of Linear Structures", 43 ], [ 2, "4.6 Get Lines and Junctions of a Grid", 44 ], [ 2, "4.7 Get Positions of Corner Points", 47 ], [ 2, "4.8 Get Angle between Adjacent Lines", 49 ], [ 2, "4.9 Get Positions, Orientations, and Extents of Rectangles", 49 ], [ 2, "4.10 Get Radii of Circles and Circular Arcs", 52 ], [ 2, "4.11 Get Deviation of a Contour from a Circle", 54 ], [ 2, "4.12 Inspect Ball Grid Array (BGA)", 56 ], [ 2, "4.13 Extract Contours from Color Images", 60 ], [ 1, "5 Miscellaneous", 63 ], [ 2, "5.1 Identify Corresponding Object Parts", 63 ], [ 2, "5.2 Measure in World Coordinates", 68 ], [ 1, "Index", 73 ] ] }, "solution_guide_iii_c_3d_vision.pdf": { "pages": 238, "toc": [ [ 1, "1 Introduction", 9 ], [ 1, "2 Basics", 13 ], [ 2, "2.1 3D Transformations and Poses", 13 ], [ 3, "2.1.1 3D Coordinates", 13 ], [ 3, "2.1.2 Transformations using 3D Transformation Matrices", 14 ], [ 3, "2.1.3 Rigid Transformations using Homogeneous Transformation Matrices", 18 ], [ 3, "2.1.4 Transformations using 3D Poses", 20 ], [ 3, "2.1.5 Transformations using Dual Quaternions and Plücker Coordinates", 22 ], [ 2, "2.2 Camera Model and Parameters", 25 ], [ 3, "2.2.1 Map 3D World Points to Pixel Coordinates", 26 ], [ 3, "2.2.2 Area Scan Cameras", 26 ], [ 3, "2.2.3 Tilt Lenses and the Scheimpflug Principle", 33 ], [ 3, "2.2.4 Hypercentric Lenses", 34 ], [ 3, "2.2.5 Line Scan Cameras", 35 ], [ 2, "2.3 3D Object Models", 38 ], [ 3, "2.3.1 Obtaining 3D Object Models", 38 ], [ 3, "2.3.2 Content of 3D Object Models", 40 ], [ 3, "2.3.3 Modifying 3D Object Models", 43 ], [ 3, "2.3.4 Extracting Features of 3D Object Models", 49 ], [ 3, "2.3.5 Matching of 3D Object Models", 50 ], [ 3, "2.3.6 Visualizing 3D Object Models", 56 ], [ 1, "3 Metric Measurements in a Specified Plane With a Single Camera", 59 ], [ 2, "3.1 First Example", 60 ], [ 3, "3.1.1 Single Image Calibration", 60 ], [ 2, "3.2 3D Camera Calibration", 61 ], [ 3, "3.2.1 Creating the Calibration Data Model", 62 ], [ 3, "3.2.2 Specifying Initial Values for the Internal Camera Parameters", 62 ], [ 3, "3.2.3 Describing the Calibration Object", 67 ], [ 3, "3.2.4 Observing the Calibration Object in Multiple Poses (Images)", 71 ], [ 3, "3.2.5 Restricting the Calibration to Specific Parameters", 72 ], [ 3, "3.2.6 Performing the Calibration", 72 ], [ 3, "3.2.7 Accessing the Results of the Calibration", 72 ], [ 3, "3.2.8 Deleting Observations from the Calibration Data Model", 75 ], [ 3, "3.2.9 Saving the Results", 76 ], [ 3, "3.2.10 Troubleshooting", 76 ], [ 2, "3.3 Transforming Image into World Coordinates and Vice Versa", 76 ], [ 3, "3.3.1 The Main Principle", 77 ], [ 3, "3.3.2 World Coordinates for Points", 78 ], [ 3, "3.3.3 World Coordinates for Contours", 78 ], [ 3, "3.3.4 World Coordinates for Regions", 78 ], [ 3, "3.3.5 Transforming World Coordinates into Image Coordinates", 78 ], [ 3, "3.3.6 Compensate for Lens Distortions Only", 79 ], [ 2, "3.4 Rectifying Images", 80 ], [ 3, "3.4.1 Transforming Images into the WCS", 80 ], [ 3, "3.4.2 Compensate for Lens Distortions Only", 86 ], [ 2, "3.5 Inspection of Non-Planar Objects", 87 ], [ 1, "4 3D Position Recognition of Known Objects", 91 ], [ 2, "4.1 Pose Estimation from Points", 92 ], [ 2, "4.2 Pose Estimation Using Shape-Based 3D Matching", 95 ], [ 3, "4.2.1 General Proceeding for Shape-Based 3D Matching", 96 ], [ 3, "4.2.2 Enhance the Shape-Based 3D Matching", 99 ], [ 3, "4.2.3 Tips and Tricks for Problem Handling", 101 ], [ 2, "4.3 Pose Estimation Using Surface-Based 3D Matching", 104 ], [ 3, "4.3.1 General Proceeding for Surface-Based 3D Matching", 104 ], [ 2, "4.4 Pose Estimation Using Deformable Surface-Based 3D Matching", 107 ], [ 3, "4.4.1 General Proceeding for Deformable Surface-Based 3D Matching", 107 ], [ 2, "4.5 Pose Estimation Using 3D Primitives Fitting", 111 ], [ 2, "4.6 Pose Estimation Using Calibrated Perspective Deformable Matching", 114 ], [ 2, "4.7 Pose Estimation Using Calibrated Descriptor-Based Matching", 114 ], [ 2, "4.8 Pose Estimation for Circles", 115 ], [ 2, "4.9 Pose Estimation for Rectangles", 116 ], [ 1, "5 3D Vision With a Stereo System", 117 ], [ 2, "5.1 The Principle of Stereo Vision", 117 ], [ 3, "5.1.1 The Setup of a Stereo Camera System", 120 ], [ 3, "5.1.2 Resolution of a Stereo Camera System", 120 ], [ 3, "5.1.3 Optimizing Focus with Tilt Lenses", 121 ], [ 2, "5.2 Calibrating the Stereo Camera System", 122 ], [ 3, "5.2.1 Creating and Configuring the Calibration Data Model", 122 ], [ 3, "5.2.2 Acquiring Calibration Images", 123 ], [ 3, "5.2.3 Observing the Calibration Object", 123 ], [ 3, "5.2.4 Calibrating the Cameras", 124 ], [ 2, "5.3 Binocular Stereo Vision", 124 ], [ 3, "5.3.1 Comparison of the Stereo Matching Approaches Correlation-Based, Multigrid, and Multi-Scanline Stereo", 125 ], [ 3, "5.3.2 Accessing the Calibration Results", 126 ], [ 3, "5.3.3 Acquiring Stereo Images", 126 ], [ 3, "5.3.4 Rectifying the Stereo Images", 127 ], [ 3, "5.3.5 Reconstructing 3D Information", 130 ], [ 3, "5.3.6 Uncalibrated Stereo Vision", 138 ], [ 2, "5.4 Multi-View Stereo Vision", 139 ], [ 3, "5.4.1 Initializing the Stereo Model", 139 ], [ 3, "5.4.2 Reconstructing 3D Information", 141 ], [ 1, "6 Laser Triangulation with Sheet of Light", 147 ], [ 2, "6.1 The Principle of Sheet of Light", 147 ], [ 2, "6.2 The Measurement Setup", 147 ], [ 2, "6.3 Calibrating the Sheet-of-Light Setup", 149 ], [ 3, "6.3.1 Calibrating the Sheet-of-Light Setup using a standard HALCON calibration plate", 151 ], [ 3, "6.3.2 Calibrating the Sheet-of-Light Setup Using a Special 3D Calibration Object", 154 ], [ 2, "6.4 Performing the Measurement", 157 ], [ 3, "6.4.1 Calibrated Sheet-of-Light Measurement", 157 ], [ 3, "6.4.2 Uncalibrated Sheet-of-Light Measurement", 159 ], [ 2, "6.5 Using the Score Image", 160 ], [ 2, "6.6 3D Cameras for Sheet of Light", 162 ], [ 1, "7 Depth from Focus", 163 ], [ 2, "7.1 The Principle of Depth from Focus", 163 ], [ 3, "7.1.1 Speed vs. Accuracy", 165 ], [ 2, "7.2 Setup", 165 ], [ 3, "7.2.1 Camera", 165 ], [ 3, "7.2.2 Illumination", 168 ], [ 3, "7.2.3 Object", 169 ], [ 2, "7.3 Working with Depth from Focus", 170 ], [ 3, "7.3.1 Rules for Taking Images", 170 ], [ 3, "7.3.2 Practical Use of Depth from Focus", 171 ], [ 3, "7.3.3 Volume Measurement with Depth from Focus", 171 ], [ 2, "7.4 Solutions for Typical Problems With DFF", 172 ], [ 3, "7.4.1 Calibrating Aberration", 172 ], [ 2, "7.5 Special Cases", 173 ], [ 2, "7.6 Performing Depth from Focus with a Standard Lens", 174 ], [ 1, "8 Robot Vision", 175 ], [ 2, "8.1 Supported Configurations", 175 ], [ 3, "8.1.1 Articulated Robot vs. SCARA Robot", 175 ], [ 3, "8.1.2 Camera and Calibration Plate vs. 3D Sensor and 3D Object", 176 ], [ 3, "8.1.3 Moving Camera vs. Stationary Camera", 177 ], [ 3, "8.1.4 Calibrating the Camera in Advance vs. Calibrating It During Hand-Eye Calibration", 177 ], [ 2, "8.2 The Principle of Hand-Eye Calibration", 177 ], [ 2, "8.3 Calibrating the Camera in Advance", 179 ], [ 2, "8.4 Preparing the Calibration Input Data", 179 ], [ 3, "8.4.1 Creating the Data Model", 180 ], [ 3, "8.4.2 Poses of the Calibration Object", 181 ], [ 3, "8.4.3 Poses of the Robot Tool", 182 ], [ 2, "8.5 Performing the Calibration", 183 ], [ 2, "8.6 Determine Translation in Z Direction for SCARA Robots", 184 ], [ 2, "8.7 Using the Calibration Data", 185 ], [ 3, "8.7.1 Using the Hand-Eye Calibration for Grasping (3D Alignment)", 185 ], [ 3, "8.7.2 How to Get the 3D Pose of the Object", 186 ], [ 3, "8.7.3 Example Application with a Stationary Camera: Grasping a Nut", 187 ], [ 1, "9 Calibrated Mosaicking", 191 ], [ 2, "9.1 Setup", 191 ], [ 2, "9.2 Approach Using a Single Calibration Plate", 193 ], [ 3, "9.2.1 Calibration", 193 ], [ 3, "9.2.2 Mosaicking", 194 ], [ 2, "9.3 Approach Using Multiple Calibration Plates", 195 ], [ 3, "9.3.1 Calibration", 196 ], [ 3, "9.3.2 Merging the Individual Images into One Larger Image", 197 ], [ 1, "10 Uncalibrated Mosaicking", 205 ], [ 2, "10.1 Rules for Taking Images for a Mosaic Image", 207 ], [ 2, "10.2 Definition of Overlapping Image Pairs", 208 ], [ 2, "10.3 Detection of Characteristic Points", 212 ], [ 2, "10.4 Matching of Characteristic Points", 213 ], [ 2, "10.5 Generation of the Mosaic Image", 215 ], [ 2, "10.6 Bundle Adjusted Mosaicking", 215 ], [ 2, "10.7 Spherical Mosaicking", 216 ], [ 1, "11 Rectification of Arbitrary Distortions", 219 ], [ 2, "11.1 Basic Principle", 220 ], [ 2, "11.2 Rules for Taking Images of the Rectification Grid", 222 ], [ 2, "11.3 Machine Vision on Ruled Surfaces", 223 ], [ 2, "11.4 Using Self-Defined Rectification Grids", 225 ], [ 1, "A HDevelop Procedures Used in this Solution Guide", 231 ], [ 2, "A.1 gen_hom_mat3d_from_three_points", 231 ], [ 2, "A.2 parameters_image_to_world_plane_centered", 232 ], [ 2, "A.3 parameters_image_to_world_plane_entire", 232 ], [ 2, "A.4 tilt_correction", 233 ], [ 2, "A.5 calc_calplate_pose_movingcam", 233 ], [ 2, "A.6 calc_calplate_pose_stationarycam", 233 ], [ 2, "A.7 define_reference_coord_system", 234 ], [ 1, "Index", 235 ] ] }, "surface_based_matching.pdf": { "pages": 30, "toc": [ [ 1, "1 Overview of Surface-Based Matching", 7 ], [ 2, "1.1 Surface-Based Matching Methods", 7 ], [ 1, "2 Workflow of Surface-Based Matching", 11 ], [ 2, "2.1 Creating the Surface Model", 11 ], [ 2, "2.2 Finding the Surface Model", 11 ], [ 3, "2.2.1 Approximate Matching", 13 ], [ 3, "2.2.2 Sparse Pose Refinement", 13 ], [ 3, "2.2.3 Dense Pose Refinement", 13 ], [ 2, "2.3 Visualizing the Result", 14 ], [ 1, "3 Data Requirements", 15 ], [ 2, "3.1 XYZ-Mappings", 15 ], [ 2, "3.2 Surface Normal Vectors", 15 ], [ 1, "4 Troubleshooting", 17 ], [ 2, "4.1 Normals", 17 ], [ 2, "4.2 Shape of the Model", 17 ], [ 2, "4.3 Duplicate Points", 18 ], [ 2, "4.4 Checklist", 19 ], [ 3, "4.4.1 Points to Consider for Surface-Based Matching and Edge-Supported Surface-Based Matching", 20 ], [ 3, "4.4.2 Points to Consider for Edge-Supported Surface-Based Matching Only", 21 ], [ 1, "5 Tips & Tricks for Improved Speed, Robustness, and Accuracy", 22 ], [ 2, "5.1 Speed", 22 ], [ 3, "5.1.1 Model", 22 ], [ 3, "5.1.2 Scene", 22 ], [ 2, "5.2 Robustness", 23 ], [ 2, "5.3 Accuracy", 25 ], [ 1, "6 Background Removal", 26 ], [ 2, "6.1 Remove Background Plane", 26 ], [ 3, "6.1.1 Orthogonal Camera Setup", 26 ], [ 3, "6.1.2 Tilted Camera Setup", 26 ], [ 2, "6.2 Remove Background of Arbitrary Shape", 27 ], [ 2, "6.3 Remove Bin", 28 ], [ 3, "6.3.1 Remove Bin Based on a Meshed CAD Model", 28 ], [ 3, "6.3.2 Remove Bin Based on Thresholding", 28 ] ] }, "technical_updates.pdf": { "pages": 10, "toc": [ [ 1, "1 Handles (18.05)", 7 ], [ 2, "1.1 HDevelop Language", 7 ], [ 2, "1.2 HALCON/C++, and HALCON/.NET Language Interface", 7 ], [ 2, "1.3 Legacy Code", 7 ], [ 3, "1.3.1 HALCON/C++", 8 ], [ 2, "1.4 Behavioral Changes", 8 ], [ 1, "2 UTF-8 Encoding (18.11)", 9 ], [ 2, "2.1 Legacy Encoding Mode", 9 ] ] } }