nareshmlx/opencv-pr huggingface dataset:
**File:** modules/gapi/src/backends/onnx/bindings_onnx.cpp
**Change Type:** added
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 5

**Code Changes:**
```diff
@@ -0,0 +1,24 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level
+// directory of this distribution and at http://opencv.org/license.html.
+
+#include <opencv2/gapi/infer/bindings_onnx.hpp>
+
+cv::gapi::onnx::PyParams::PyParams(const std::string& tag,
+                                   const std::string& model_path)
+    : m_priv(std::make_shared<Params<cv::gapi::Generic>>(tag, model_path)) {}
+
```

Review comment:
Please add 3 lines of the license header.
**File:** modules/gapi/include/opencv2/gapi/infer/bindings_onnx.hpp
**Change Type:** added
**Context:** PR #22017: Add python bindings for G-API onnx

**Code Changes:**
```diff
@@ -0,0 +1,43 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level
+// directory of this distribution and at http://opencv.org/license.html.
+
+#ifndef OPENCV_GAPI_INFER_BINDINGS_ONNX_HPP
+#define OPENCV_GAPI_INFER_BINDINGS_ONNX_HPP
+
+#include <opencv2/gapi/gkernel.hpp>     // GKernelPackage
+#include <opencv2/gapi/infer/onnx.hpp>  // Params
```

Review comment:
I see. Removed!
**File:** modules/gapi/misc/python/test/test_gapi_infer_onnx.py
**Change Type:** added
**Context:** PR #22017: Add python bindings for G-API onnx

**Code Changes:**
```diff
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+
+import numpy as np
+import cv2 as cv
+import os
+import sys
+import unittest
+
+from tests_common import NewOpenCVTests
```

Review comment:
DNN models are optional (available if `OPENCV_DNN_TEST_DATA_PATH` is specified). Test should "skip" if file is not available. Check this helper function: https://github.com/opencv/opencv/blob/4.5.5/modules/dnn/misc/python/test/test_dnn.py#L105-L110 There is missing `onnx_models/` prefix also ``` model_path = self.find_file( "onnx_models/vision/classification/squeezenet/model/squeezenet1.0-9.onnx", [os.environ.get('OPENCV_DNN_TEST_DATA_PATH', os.getcwd()), os.environ['OPENCV_TEST_DATA_PATH']], required=False) if model_path is None: raise unittest.SkipTest("Missing DNN test file") ``` Finally, test should not fail with message `G-API has been compiled without ONNX support`. Test should catch this `cv.error`, check its message and "skip" as unsupported configuration. --- BTW, download .py file from "gapi" is not accurate. It doesn't support launching from opencv_extra. It must be launched from location pointed by `OPENCV_DNN_TEST_DATA_PATH`.
**File:** modules/gapi/include/opencv2/gapi/infer/onnx.hpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 72

**Code Changes:**
```diff
@@ -67,6 +68,8 @@ struct ParamDesc {
     std::vector<bool> normalize; //!< Vector of bool values that enabled or disabled normalize of input data.
 
     std::vector<std::string> names_to_remap; //!< Names of output layers that will be processed in PostProc function.
+
+    bool is_generic;
 };
 } // namespace detail
 
@@ -103,6 +106,7 @@ template<typename Net> class Params {
         desc.model_path = model;
```

Review comment:
Please add documentation for this flag. Does it really needed? (I see only `false` initial value)
**File:** modules/gapi/src/backends/onnx/gonnxbackend.cpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 738

**Code Changes:**
```diff
@@ -735,7 +735,8 @@ void ONNXCompiled::extractMat(ONNXCallContext &ctx, const size_t in_idx, Views&
     }
 }
 
-void ONNXCompiled::setOutput(int i, cv::Mat &m) {
+void ONNXCompiled::setOutput(int i, cv::Mat &m)
+{
     // FIXME: No need in double-indexing?
     out_data[i] = m;
 }
@@ -1133,9 +1134,34 @@ namespace {
```

Review comment:
Unnecessary change.
**File:** modules/gapi/src/backends/onnx/gonnxbackend.cpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 1152

**Code Changes:**
```diff
+                {
+                    pp.input_names.push_back(a);
+                }
+                // Adding const input is necessary because the definition of input_names
+                // includes const input.
+                for (const auto& a : pp.const_inputs)
+                {
+                    pp.input_names.push_back(a.first);
+                }
+                pp.num_in = info.in_names.size();
+
```

Review comment:
Is it necessary to add test for const input (generic case)?
**File:** modules/gapi/src/backends/onnx/gonnxbackend.cpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 1152

**Code Changes:**
```diff
+                {
+                    pp.input_names.push_back(a);
+                }
+                // Adding const input is necessary because the definition of input_names
+                // includes const input.
+                for (const auto& a : pp.const_inputs)
+                {
+                    pp.input_names.push_back(a.first);
+                }
+                pp.num_in = info.in_names.size();
+
```

Review comment:
ONNXbackend doesn’t have tests for generic infer.
**File:** modules/gapi/misc/python/test/test_gapi_infer_onnx.py
**Change Type:** added
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 21

**Code Changes:**
```diff
+
+    CLASSIFICATION_MODEL_PATH = "onnx_models/vision/classification/squeezenet/model/squeezenet1.0-9.onnx"
+
+    testdata_required = bool(os.environ.get('OPENCV_DNN_TEST_REQUIRE_TESTDATA', False))
+
+    class test_gapi_infer(NewOpenCVTests):
+        def find_dnn_file(self, filename, required=None):
+            if not required:
+                required = testdata_required
+            return self.find_file(filename, [os.environ.get('OPENCV_DNN_TEST_DATA_PATH', os.getcwd()),
+                                            os.environ['OPENCV_TEST_DATA_PATH']],
```

Review comment:
`test_gapi_infer` already exists, I'd change to `test_gapi_onnx_infer`
**File:** modules/gapi/include/opencv2/gapi/infer/onnx.hpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 290

**Code Changes:**
```diff
+* @brief This structure provides functions for generic network type that
+* fill inference parameters.
+* @see struct Generic
+*/
+template<>
+class Params<cv::gapi::Generic> {
+public:
+    /** @brief Class constructor.
+
+    Constructs Params based on input information and sets default values for other
+    inference description parameters.
```

Review comment:
It'd be great to add test for `generic` onnx inference because it becomes core functionality for c++ users.
**File:** modules/gapi/include/opencv2/gapi/infer/onnx.hpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 72

**Code Changes:**
```diff
@@ -67,6 +68,8 @@ struct ParamDesc {
     std::vector<bool> normalize; //!< Vector of bool values that enabled or disabled normalize of input data.
 
     std::vector<std::string> names_to_remap; //!< Names of output layers that will be processed in PostProc function.
+
+    bool is_generic;
 };
 } // namespace detail
 
@@ -103,6 +106,7 @@ template<typename Net> class Params {
         desc.model_path = model;
```

Review comment:
Yes, it's needed, because only `generic` infer can be exposed to python
**File:** modules/gapi/src/backends/onnx/gonnxbackend.cpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 1146

**Code Changes:**
```diff
+            GModel::Graph model(gr);
+            auto& op = model.metadata(nh).get<Op>();
+            if (pp.is_generic) {
+                auto& info = cv::util::any_cast<cv::detail::InOutInfo>(op.params);
+
+                for (const auto& a : info.in_names)
+                {
+                    pp.input_names.push_back(a);
+                }
+                // Adding const input is necessary because the definition of input_names
+                // includes const input.
```

Review comment:
Why do you use loops for assignment?
**File:** modules/gapi/src/backends/onnx/gonnxbackend.cpp
**Change Type:** modified
**Context:** PR #22017: Add python bindings for G-API onnx
**Review Line:** 1143

**Code Changes:**
```diff
+            auto &pp = cv::util::any_cast<cv::gapi::onnx::detail::ParamDesc>(np.opaque);
             const auto &ki = cv::util::any_cast<KImpl>(ii.opaque);
+
+            GModel::Graph model(gr);
+            auto& op = model.metadata(nh).get<Op>();
+            if (pp.is_generic) {
+                auto& info = cv::util::any_cast<cv::detail::InOutInfo>(op.params);
+
+                for (const auto& a : info.in_names)
+                {
+                    pp.input_names.push_back(a);
```

Review comment:
Looks like true (analogue of IE generic). But I think that tests are required.
**File:** modules/stitching/include/opencv2/stitching/detail/matchers.hpp
**Change Type:** modified
**Context:** PR #22329: Fix stitching Python bindings (and one stitching_detailed.cpp bug)

**Code Changes:**
```diff
@@ -138,7 +138,7 @@ class CV_EXPORTS_W FeaturesMatcher
     @sa detail::MatchesInfo
     */
     CV_WRAP_AS(apply2) void operator ()(const std::vector<ImageFeatures> &features, CV_OUT std::vector<MatchesInfo> &pairwise_matches,
-                     const cv::UMat &mask = cv::UMat());
+                                        const cv::UMat &mask = cv::UMat()) { match(features, pairwise_matches, mask); };
 
     /** @return True, if it's possible to use the same matcher instance in parallel, false otherwise
     */
@@ -161,6 +161,16 @@ class CV_EXPORTS_W FeaturesMatcher
```

Review comment:
Yes sorry 🤦🏻 fixing now
**File:** modules/stitching/include/opencv2/stitching/detail/matchers.hpp
**Change Type:** modified
**Context:** PR #22329: Fix stitching Python bindings (and one stitching_detailed.cpp bug)
**Review Line:** 206

**Code Changes:**
```diff
@@ -138,7 +138,7 @@ class CV_EXPORTS_W FeaturesMatcher
     @sa detail::MatchesInfo
     */
     CV_WRAP_AS(apply2) void operator ()(const std::vector<ImageFeatures> &features, CV_OUT std::vector<MatchesInfo> &pairwise_matches,
-                     const cv::UMat &mask = cv::UMat());
+                                        const cv::UMat &mask = cv::UMat()) { match(features, pairwise_matches, mask); };
 
     /** @return True, if it's possible to use the same matcher instance in parallel, false otherwise
     */
@@ -161,6 +161,16 @@ class CV_EXPORTS_W FeaturesMatcher
     virtual void match(const ImageFeatures &features1, const ImageFeatures &features2,
                        MatchesInfo& matches_info) = 0;
 
+    /** @brief This method implements logic to match features between arbitrary number of features.
+    By default this checks every pair of inputs in the input, but the behaviour can be changed by subclasses.
```

Review comment:
We should not remove methods until 5.x.
**File:** modules/stitching/include/opencv2/stitching/detail/matchers.hpp
**Change Type:** modified
**Context:** PR #22329: Fix stitching Python bindings (and one stitching_detailed.cpp bug)
**Review Line:** 206

**Code Changes:**
```diff
@@ -138,7 +138,7 @@ class CV_EXPORTS_W FeaturesMatcher
     @sa detail::MatchesInfo
     */
     CV_WRAP_AS(apply2) void operator ()(const std::vector<ImageFeatures> &features, CV_OUT std::vector<MatchesInfo> &pairwise_matches,
-                     const cv::UMat &mask = cv::UMat());
+                                        const cv::UMat &mask = cv::UMat()) { match(features, pairwise_matches, mask); };
 
     /** @return True, if it's possible to use the same matcher instance in parallel, false otherwise
     */
@@ -161,6 +161,16 @@ class CV_EXPORTS_W FeaturesMatcher
     virtual void match(const ImageFeatures &features1, const ImageFeatures &features2,
                        MatchesInfo& matches_info) = 0;
 
+    /** @brief This method implements logic to match features between arbitrary number of features.
+    By default this checks every pair of inputs in the input, but the behaviour can be changed by subclasses.
```

Review comment:
updated compliance tool's exclude list.
**File:** doc/tutorials/gapi/oak_devices/oak_devices.markdown
**Change Type:** added
**Context:** PR #22501: OAK Information

**Code Changes:**
```diff
@@ -0,0 +1,26 @@
+Using DepthAI Hardware / OAK depth sensors {#tutorial_gapi_oak_devices}
+=======================================================================
+
+@tableofcontents
+
+@prev_tutorial{tutorial_gapi_face_beautification}
+
+![Oak-D and Oak-D-Light cameras](pics/oak.jpg)
+
```

Review comment:
Luxonis DepthAI library
**File:** doc/tutorials/gapi/oak_devices/oak_devices.markdown
**Change Type:** added
**Context:** PR #22501: OAK Information

**Code Changes:**
```diff
@@ -0,0 +1,26 @@
+Using DepthAI Hardware / OAK depth sensors {#tutorial_gapi_oak_devices}
+=======================================================================
+
+@tableofcontents
+
+@prev_tutorial{tutorial_gapi_face_beautification}
+
+![Oak-D and Oak-D-Light cameras](pics/oak.jpg)
+
```

Review comment:
This code won't compile at least due to `Gin` typo. Also, it is worth mentioning what kind of headers required to run an OAK pipeline when OpenCV is compiled with OAK support.
**File:** doc/tutorials/gapi/oak_devices/oak_devices.markdown
**Change Type:** added
**Context:** PR #22501: OAK Information

**Code Changes:**
```diff
@@ -0,0 +1,26 @@
+Using DepthAI Hardware / OAK depth sensors {#tutorial_gapi_oak_devices}
+=======================================================================
+
+@tableofcontents
+
+@prev_tutorial{tutorial_gapi_face_beautification}
+
+![Oak-D and Oak-D-Light cameras](pics/oak.jpg)
+
```

Review comment:
`Gcomputation` -> `GComputation` typo
**File:** doc/tutorials/gapi/oak_devices/oak_devices.markdown
**Change Type:** added
**Context:** PR #22501: OAK Information

**Code Changes:**
```diff
@@ -0,0 +1,26 @@
+Using DepthAI Hardware / OAK depth sensors {#tutorial_gapi_oak_devices}
+=======================================================================
+
+@tableofcontents
+
+@prev_tutorial{tutorial_gapi_face_beautification}
+
+![Oak-D and Oak-D-Light cameras](pics/oak.jpg)
+
```

Review comment:
Why it has been resolved?
**File:** doc/tutorials/gapi/oak_devices/oak_devices.markdown
**Change Type:** added
**Context:** PR #22501: OAK Information

**Code Changes:**
```diff
@@ -0,0 +1,26 @@
+Using DepthAI Hardware / OAK depth sensors {#tutorial_gapi_oak_devices}
+=======================================================================
+
+@tableofcontents
+
+@prev_tutorial{tutorial_gapi_face_beautification}
+
+![Oak-D and Oak-D-Light cameras](pics/oak.jpg)
+
```

Review comment:
I don't think `depth map` can be retrieved via G-API currently. It can retrieve RGB and NV12 formats though
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
`Compilation` -> `Warm up` because it might be confused with `OpenVINO` model compilation.
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
Report example: ``` PipelineName: Warm up time: 2817 ms Elapsed time: 1003 ms Frames: 30/30 (late/all) Latency: first: 29 ms min: 23 ms max: 29 ms avg: 24.100 ms Throughput: 29.910 FPS ```
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
Minor: switch from `std::endl` to `\n`
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
iterval -> interval
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
What about `late` frames for `benchmark_app` mode. Since source is working with zero latency all frames will be treated as `late`.
**File:** modules/gapi/samples/pipeline_modeling_tool/dummy_source.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -18,6 +18,7 @@ class DummySource final: public cv::gapi::wip::IStreamSource {
                 const bool         drop_frames);
     bool pull(cv::gapi::wip::Data& data) override;
     cv::GMetaArg descr_of() const override;
+    double latency() const { return m_latency; };
 
 private:
     double  m_latency;
```

Review comment:
other methods don't have `get` in their name. Just for consistency
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
I believe there are iomanip ways to do padding instead of constructing empty strings... it is about streaming, after all
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
Also.. Why couldn't you just put those extra spaces into the string literals? You have them anyway, and that way padding would have been seen in the code, too.
**File:** modules/gapi/samples/pipeline_modeling_tool/pipeline.hpp
**Change Type:** modified
**Context:** PR #22542: [G-API] Pipeline modeling tool - expand performance report

**Code Changes:**
```diff
@@ -1,31 +1,38 @@
 #ifndef OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 #define OPENCV_GAPI_PIPELINE_MODELING_TOOL_PIPELINE_HPP
 
+#include <iomanip>
+
 struct PerfReport {
-    std::string               name;
-    double  avg_latency       = 0.0;
-    double  throughput        = 0.0;
```

Review comment:
Replaced to ' '
**File:** cmake/checks/directx.cpp
**Change Type:** modified
**Context:** PR #22462: cmake: Fix DirectX detection in mingw
**Review Line:** 4

**Code Changes:**
```diff
@@ -1,7 +1,6 @@
 #include <windows.h>
 
 #include <d3d11.h>
-#pragma comment (lib, "d3d11.lib")
 
 HINSTANCE g_hInst = NULL;
 D3D_DRIVER_TYPE g_driverType = D3D_DRIVER_TYPE_NULL;
```

Review comment:
There is still several places in OpenCV codebase which use this approach (and they don't use LINK_LIBRARIES). Fix should be complete and not introduce mess. Try `cmake -DBUILD_EXAMPLES=ON ...`
**File:** cmake/checks/directx.cpp
**Change Type:** modified
**Context:** PR #22462: cmake: Fix DirectX detection in mingw
**Review Line:** 4

**Code Changes:**
```diff
@@ -1,7 +1,6 @@
 #include <windows.h>
 
 #include <d3d11.h>
-#pragma comment (lib, "d3d11.lib")
 
 HINSTANCE g_hInst = NULL;
 D3D_DRIVER_TYPE g_driverType = D3D_DRIVER_TYPE_NULL;
```

Review comment:
Understood. I have already built those. But I thought those will require a separate PR according to the guidelines. I shall add another commit here.
**File:** cmake/checks/directx.cpp
**Change Type:** modified
**Context:** PR #22462: cmake: Fix DirectX detection in mingw
**Review Line:** 4

**Code Changes:**
```diff
@@ -1,7 +1,6 @@
 #include <windows.h>
 
 #include <d3d11.h>
-#pragma comment (lib, "d3d11.lib")
 
 HINSTANCE g_hInst = NULL;
 D3D_DRIVER_TYPE g_driverType = D3D_DRIVER_TYPE_NULL;
```

Review comment:
Question. The samples/opengl/opengl_interop.cpp file contains pragma comment directive but it is not compiled for Windows platform because X11_FOUND is false. Would you like to take look at it?
**File:** cmake/checks/directx.cpp
**Change Type:** modified
**Context:** PR #22462: cmake: Fix DirectX detection in mingw
**Review Line:** 4

**Code Changes:**
```diff
@@ -1,7 +1,6 @@
 #include <windows.h>
 
 #include <d3d11.h>
-#pragma comment (lib, "d3d11.lib")
 
 HINSTANCE g_hInst = NULL;
 D3D_DRIVER_TYPE g_driverType = D3D_DRIVER_TYPE_NULL;
```

Review comment:
I have added the required changes. Please review.
**File:** modules/3d/src/usac.hpp
**Change Type:** modified
**Context:** PR #22287: Disabled compiling warnings in case of symbols in cmake for 5.x
**Review Line:** 503

**Code Changes:**
```diff
 
      * epsilon:
-     * The probability p(1|Hg) = ε
-     * that any randomly chosen data point is consistent with a ‘good’ model
-     * is approximated by the fraction of inliers ε among the data
+     * The probability p(1|Hg) = epsilon
+     * that any randomly chosen data point is consistent with a 'good' model
+     * is approximated by the fraction of inliers epsilon among the data
      * points
 
      * A is the decision threshold, the only parameter of the Adapted SPRT
```

Review comment:
Do we still need `/wd4819` above ?