Purpose: 2nd review cycle.
authorElena Fedotova <no@email>
Sun, 19 Jun 2011 20:28:08 +0000 (20:28 +0000)
committerElena Fedotova <no@email>
Sun, 19 Jun 2011 20:28:08 +0000 (20:28 +0000)
modules/gpu/doc/feature_detection_and_description.rst
modules/gpu/doc/image_filtering.rst

index 40fd9b6..ef4b552 100644 (file)
@@ -9,7 +9,7 @@ gpu::SURF_GPU
 -------------
 .. ocv:class:: gpu::SURF_GPU
 
-This class is used for extracting Speeded Up Robust Features (SURF) from an image. 
+Class used for extracting Speeded Up Robust Features (SURF) from an image. 
 ::
 
     class SURF_GPU : public CvSURFParams
@@ -81,13 +81,23 @@ This class is used for extracting Speeded Up Robust Features (SURF) from an imag
     };
 
 
-The class ``SURF_GPU`` implements Speeded Up Robust Features descriptor. There is a fast multi-scale Hessian keypoint detector that can be used to find the keypoints (which is the default option). But the descriptors can also be computed for the user-specified keypoints. Only 8 bit grayscale images are supported.
+The class ``SURF_GPU`` implements Speeded Up Robust Features descriptor. There is a fast multi-scale Hessian keypoint detector that can be used to find the keypoints (which is the default option). But the descriptors can also be computed for the user-specified keypoints. Only 8-bit grayscale images are supported.
 
-The class ``SURF_GPU`` can store results in the GPU and CPU memory. It provides functions to convert results between CPU and GPU version ( ``uploadKeypoints``, ``downloadKeypoints``, ``downloadDescriptors`` ). The format of CPU results is the same as ``SURF`` results. GPU results are stored in  ``GpuMat`` . The ``keypoints`` matrix is :math:`\texttt{nFeatures} \times 6` matrix with the ``CV_32FC1`` type. keypoints.ptr<float>(SF_X)[i] will contain x coordinate of i'th feature. keypoints.ptr<float>(SF_Y)[i] will contain y coordinate of i'th feature. keypoints.ptr<float>(SF_LAPLACIAN)[i] will contain laplacian sign of i'th feature. keypoints.ptr<float>(SF_SIZE)[i] will contain size of i'th feature. keypoints.ptr<float>(SF_DIR)[i] will contain orientation of i'th feature. keypoints.ptr<float>(SF_HESSIAN)[i] will contain response of i'th feature. The ``descriptors`` matrix is :math:`\texttt{nFeatures} \times \texttt{descriptorSize}` matrix with the ``CV_32FC1`` type.
+The class ``SURF_GPU`` can store results in the GPU and CPU memory. It provides functions to convert results between CPU and GPU version ( ``uploadKeypoints``, ``downloadKeypoints``, ``downloadDescriptors``). The format of CPU results is the same as ``SURF`` results. GPU results are stored in  ``GpuMat``. The ``keypoints`` matrix is :math:`\texttt{nFeatures} \times 6` matrix with the ``CV_32FC1`` type.
+
+* ``keypoints.ptr<float>(SF_X)[i]`` contains x coordinate of the i-th feature. 
+* ``keypoints.ptr<float>(SF_Y)[i]`` contains y coordinate of the i-th feature. 
+* ``keypoints.ptr<float>(SF_LAPLACIAN)[i]``  contains the laplacian sign of the i-th feature. 
+* ``keypoints.ptr<float>(SF_SIZE)[i]`` contains the size of the i-th feature. 
+* ``keypoints.ptr<float>(SF_DIR)[i]`` contain orientation of the i-th feature. 
+* ``keypoints.ptr<float>(SF_HESSIAN)[i]`` contains the response of the i-th feature. 
+
+The ``descriptors`` matrix is :math:`\texttt{nFeatures} \times \texttt{descriptorSize}` matrix with the ``CV_32FC1`` type.
 
 The class ``SURF_GPU`` uses some buffers and provides access to it. All buffers can be safely released between function calls.
 
-See Also: :c:type:`SURF`
+.. seealso:: 
+:ocv:class:`SURF`
 
 .. index:: gpu::BruteForceMatcher_GPU
 
@@ -95,7 +105,7 @@ gpu::BruteForceMatcher_GPU
 --------------------------
 .. ocv:class:: gpu::BruteForceMatcher_GPU
 
-This is a brute-force descriptor matcher. For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. This descriptor matcher supports masking permissible matches between descriptor sets. ::
+Brute-force descriptor matcher. For each descriptor in the first set, this matcher finds the closest descriptor in the second set by trying each one. This descriptor matcher supports masking permissible matches between descriptor sets. ::
 
     template<class Distance>
     class BruteForceMatcher_GPU
@@ -180,9 +190,11 @@ This is a brute-force descriptor matcher. For each descriptor in the first set,
     };
 
 
-The class ``BruteForceMatcher_GPU`` has an interface similar to the class :c:type:`DescriptorMatcher`. It has two groups of ``match`` methods: for matching descriptors of one image with another image or with an image set. Also, all functions have an alternative: save results to the GPU memory or to the CPU memory. ``Distance`` template parameter is kept for CPU/GPU interfaces similarity. ``BruteForceMatcher_GPU`` supports only the ``L1<float>``, ``L2<float>`` and ``Hamming`` distance types.
+The class ``BruteForceMatcher_GPU`` has an interface similar to the class :ocv:class:`DescriptorMatcher`. It has two groups of ``match`` methods: for matching descriptors of one image with another image or with an image set. Also, all functions have an alternative to save results either to the GPU memory or to the CPU memory. The ``Distance`` template parameter is kept for CPU/GPU interfaces similarity. ``BruteForceMatcher_GPU`` supports only the ``L1<float>``, ``L2<float>``, and ``Hamming`` distance types.
 
-See Also: :c:type:`DescriptorMatcher`, :c:type:`BruteForceMatcher`
+.. seealso:: 
+:ocv:class:`DescriptorMatcher`, 
+:ocv:class:`BruteForceMatcher`
 
 .. index:: gpu::BruteForceMatcher_GPU::match
 
@@ -194,7 +206,7 @@ gpu::BruteForceMatcher_GPU::match
 
     Finds the best match for each descriptor from a query set with train descriptors.
 
-See Also:
+.. seealso::
 :ocv:func:`DescriptorMatcher::match` 
 
 .. index:: gpu::BruteForceMatcher_GPU::matchSingle
@@ -209,9 +221,9 @@ gpu::BruteForceMatcher_GPU::matchSingle
     
     :param trainDescs: Training set of descriptors. It is not added to train descriptors collection stored in the class object.
     
-    :param trainIdx: The output single-row ``CV_32SC1`` matrix that contains the best train index for each query. If some query descriptors are masked out in ``mask`` , it contains -1.
+    :param trainIdx: Output single-row ``CV_32SC1`` matrix that contains the best train index for each query. If some query descriptors are masked out in ``mask`` , it contains -1.
     
-    :param distance: The output single-row ``CV_32FC1`` matrix that contains the best distance for each query. If some query descriptors are masked out in ``mask``, it contains ``FLT_MAX``.
+    :param distance: Output single-row ``CV_32FC1`` matrix that contains the best distance for each query. If some query descriptors are masked out in ``mask``, it contains ``FLT_MAX``.
 
     :param mask: Mask specifying permissible matches between the input query and train matrices of descriptors.
 
@@ -221,19 +233,19 @@ gpu::BruteForceMatcher_GPU::matchCollection
 -----------------------------------------------
 .. ocv:function:: void gpu::BruteForceMatcher_GPU::matchCollection(const GpuMat& queryDescs, const GpuMat& trainCollection, GpuMat& trainIdx, GpuMat& imgIdx, GpuMat& distance, const GpuMat& maskCollection)
 
-    Finds the best match for each query descriptor from train collection. Results are stored in the GPU memory.
+       Finds the best match for each query descriptor from train collection. Results are stored in the GPU memory.
 
-       :param queryDescs: Query set of descriptors.
+   :param queryDescs: Query set of descriptors.
     
-       :param trainCollection: :ocv:class:`gpu::GpuMat` containing train collection. It can be obtained from the collection of train descriptors that was set using the ``add``     method by :ocv:func:`gpu::BruteForceMatcher_GPU::makeGpuCollection`. Or it may contain a user-defined collection. This is a one-row matrix where each element is ``DevMem2D`` pointing out to a matrix of train descriptors.
+   :param trainCollection: :ocv:class:`gpu::GpuMat` containing train collection. It can be obtained from the collection of train descriptors that was set using the ``add``     method by :ocv:func:`gpu::BruteForceMatcher_GPU::makeGpuCollection`. Or it may contain a user-defined collection. This is a one-row matrix where each element is ``DevMem2D`` pointing out to a matrix of train descriptors.
     
-       :param trainIdx: The output single-row ``CV_32SC1`` matrix that contains the best train index for each query. If some query descriptors are masked out in ``maskCollection``  , it contains -1.
+   :param trainIdx: Output single-row ``CV_32SC1`` matrix that contains the best train index for each query. If some query descriptors are masked out in ``maskCollection``  , it contains -1.
     
-       :param imgIdx: The output single-row ``CV_32SC1`` matrix that contains image train index for each query. If some query descriptors are masked out in ``maskCollection``  , it contains -1.
+   :param imgIdx: Output single-row ``CV_32SC1`` matrix that contains image train index for each query. If some query descriptors are masked out in ``maskCollection``  , it contains -1.
     
-       :param distance: The output single-row ``CV_32FC1`` matrix that contains the best distance for each query. If some query descriptors are masked out in ``maskCollection``  , it contains ``FLT_MAX``.
+   :param distance: Output single-row ``CV_32FC1`` matrix that contains the best distance for each query. If some query descriptors are masked out in ``maskCollection``  , it contains ``FLT_MAX``.
 
-       :param maskCollection: ``GpuMat``  containing a set of masks. It can be obtained from  ``std::vector<GpuMat>``  by  :ocv:func:`gpu::BruteForceMatcher_GPU::makeGpuCollection` or it may contain  a user-defined mask set. This is an empty matrix or one-row matrix where each element is a  ``PtrStep``  that points to one mask.
+   :param maskCollection: ``GpuMat``  containing a set of masks. It can be obtained from  ``std::vector<GpuMat>``  by  :ocv:func:`gpu::BruteForceMatcher_GPU::makeGpuCollection` or it may contain  a user-defined mask set. This is an empty matrix or one-row matrix where each element is a  ``PtrStep``  that points to one mask.
 
 .. index:: gpu::BruteForceMatcher_GPU::makeGpuCollection
 
@@ -254,7 +266,7 @@ gpu::BruteForceMatcher_GPU::matchDownload
 
        Downloads ``trainIdx``, ``imgIdx``, and ``distance`` matrices obtained via 
        :ocv:func:`gpu::BruteForceMatcher_GPU::matchSingle` or 
-       :ocv:func:`gpu::BruteForceMatcher_GPU::matchCollection` to CPU vector with :c:type:`DMatch`.
+       :ocv:func:`gpu::BruteForceMatcher_GPU::matchCollection` to CPU vector with :ocv:class:`DMatch`.
 
 .. index:: gpu::BruteForceMatcher_GPU::knnMatch
 
@@ -266,7 +278,7 @@ gpu::BruteForceMatcher_GPU::knnMatch
 
 .. ocv:function:: void knnMatch(const GpuMat& queryDescs, std::vector< std::vector<DMatch> >&matches, int k, const std::vector<GpuMat>&masks = std::vector<GpuMat>(), bool compactResult = false )
 
-See Also:
+.. seealso::
 :ocv:func:`DescriptorMatcher::knnMatch` 
 
 .. index:: gpu::BruteForceMatcher_GPU::knnMatch
@@ -275,13 +287,13 @@ gpu::BruteForceMatcher_GPU::knnMatch
 ----------------------------------------
 .. ocv:function:: void gpu::BruteForceMatcher_GPU::knnMatch(const GpuMat& queryDescs, const GpuMat& trainDescs, GpuMat& trainIdx, GpuMat& distance, GpuMat& allDist, int k, const GpuMat& mask = GpuMat())
 
-    Finds the k best matches for each descriptor from a query set with train descriptors. The function returns detected k (or less if not possible) matches in the increasing order by distance. Results will be stored in the GPU memory.
+    Finds the k best matches for each descriptor from a query set with train descriptors. The function returns detected k (or less if not possible) matches in the increasing order by distance. Results are stored in the GPU memory.
 
     :param queryDescs: Query set of descriptors.
     :param trainDescs: Training set of descriptors. It is not be added to train descriptors collection stored in the class object.
-    :param trainIdx: The output matrix of ``queryDescs.rows x k`` size and ``CV_32SC1`` type. ``trainIdx.at<int>(i, j)`` contains an index of the j-th best match for the i-th query descriptor. If some query descriptors are masked out in ``mask``, it contains -1.
-    :param distance: The output matrix of ``queryDescs.rows x k`` size and ``CV_32FC1`` type. ``distance.at<float>(i, j)`` contains a distance from the j-th best match for the i-th query descriptor to the query descriptor. If some query descriptors are masked out in ``mask``, it contains ``FLT_MAX``.
-    :param allDist: The floating-point matrix of the size ``queryDescs.rows x trainDescs.rows``. This is a buffer to store all distances between each query descriptors and each train descriptor. On output, ``allDist.at<float>(queryIdx, trainIdx)`` contains ``FLT_MAX`` if ``trainIdx`` is one from k best.
+    :param trainIdx: Output matrix of ``queryDescs.rows x k`` size and ``CV_32SC1`` type. ``trainIdx.at<int>(i, j)`` contains an index of the j-th best match for the i-th query descriptor. If some query descriptors are masked out in ``mask``, it contains -1.
+    :param distance: Output matrix of ``queryDescs.rows x k`` size and ``CV_32FC1`` type. ``distance.at<float>(i, j)`` contains a distance from the j-th best match for the i-th query descriptor to the query descriptor. If some query descriptors are masked out in ``mask``, it contains ``FLT_MAX``.
+    :param allDist: Floating-point matrix of the size ``queryDescs.rows x trainDescs.rows``. This is a buffer to store all distances between each query descriptors and each train descriptor. On output, ``allDist.at<float>(queryIdx, trainIdx)`` contains ``FLT_MAX`` if ``trainIdx`` is one from k best.
 
     :param k: Number of the best matches per each query descriptor (or less if it is not possible).
 
@@ -293,7 +305,7 @@ gpu::BruteForceMatcher_GPU::knnMatchDownload
 ------------------------------------------------
 .. ocv:function:: void gpu::BruteForceMatcher_GPU::knnMatchDownload(const GpuMat& trainIdx, const GpuMat& distance, std::vector< std::vector<DMatch> >&matches, bool compactResult = false)
 
-    Downloads ``trainIdx`` and ``distance`` matrices obtained via :ocv:func:`gpu::BruteForceMatcher_GPU::knnMatch` to CPU vector with :c:type:`DMatch`. If ``compactResult`` is true, the ``matches`` vector does not contain matches for fully masked-out query descriptors.
+    Downloads ``trainIdx`` and ``distance`` matrices obtained via :ocv:func:`gpu::BruteForceMatcher_GPU::knnMatch` to CPU vector with :ocv:class:`DMatch`. If ``compactResult`` is true, the ``matches`` vector does not contain matches for fully masked-out query descriptors.
 
 .. index:: gpu::BruteForceMatcher_GPU::radiusMatch
 
@@ -305,9 +317,9 @@ gpu::BruteForceMatcher_GPU::radiusMatch
 
 .. ocv:function:: void gpu::BruteForceMatcher_GPU::radiusMatch(const GpuMat& queryDescs, std::vector< std::vector<DMatch> >&matches, float maxDistance, const std::vector<GpuMat>&masks = std::vector<GpuMat>(), bool compactResult = false)
 
-    This function works only on devices with the compute capability  :math:`>=` 1.1.
+This function works only on devices with the compute capability  :math:`>=` 1.1.
 
-See Also:
+.. seealso::
 :ocv:func:`DescriptorMatcher::radiusMatch` 
 
 .. index:: gpu::BruteForceMatcher_GPU::radiusMatch
@@ -322,11 +334,11 @@ gpu::BruteForceMatcher_GPU::radiusMatch
     
     :param trainDescs: Training set of descriptors. It is not added to train descriptors collection stored in the class object.
     
-    :param trainIdx: ``trainIdx.at<int>(i, j)`` , the index of j-th training descriptor which is close enough to i-th query descriptor. If ``trainIdx`` is empty, it is created with the size ``queryDescs.rows x trainDescs.rows``. When the matrix is pre-allocated, it can have less than ``trainDescs.rows`` columns. Then, the function returns as many matches for each query descriptor as fit into the matrix.
+    :param trainIdx: ``trainIdx.at<int>(i, j)`` , the index of j-th training descriptor, which is close enough to i-th query descriptor. If ``trainIdx`` is empty, it is created with the size ``queryDescs.rows x trainDescs.rows``. When the matrix is pre-allocated, it can have less than ``trainDescs.rows`` columns. Then, the function returns as many matches for each query descriptor as fit into the matrix.
     
     :param nMatches: ``nMatches.at<unsigned int>(0, i)`` containing the number of matching descriptors for the i-th query descriptor. The value can be larger than ``trainIdx.cols`` , which means that the function could not store all the matches since it does not have enough memory.
     
-    :param distance: ``distance.at<int>(i, j)`` Distance between the j-th match for the j-th query descriptor and this very query descriptor. The matrix has the ``CV_32FC1`` type and the same size as ``trainIdx``.
+    :param distance: Distance ``distance.at<int>(i, j)``  between the j-th match for the j-th query descriptor and this very query descriptor. The matrix has the ``CV_32FC1`` type and the same size as ``trainIdx``.
 
     :param maxDistance: Distance threshold.
 
@@ -340,5 +352,5 @@ gpu::BruteForceMatcher_GPU::radiusMatchDownload
 ---------------------------------------------------
 .. ocv:function:: void gpu::BruteForceMatcher_GPU::radiusMatchDownload(const GpuMat& trainIdx, const GpuMat& nMatches, const GpuMat& distance, std::vector< std::vector<DMatch> >&matches, bool compactResult = false)
 
-       Downloads ``trainIdx``, ``nMatches`` and ``distance`` matrices obtained via :ocv:func:`gpu::BruteForceMatcher_GPU::radiusMatch` to CPU vector with :c:type:`DMatch`. If ``compactResult`` is true, the ``matches`` vector does not contain matches for fully masked-out query descriptors.
+       Downloads ``trainIdx``, ``nMatches`` and ``distance`` matrices obtained via :ocv:func:`gpu::BruteForceMatcher_GPU::radiusMatch` to CPU vector with :ocv:class:`DMatch`. If ``compactResult`` is true, the ``matches`` vector does not contain matches for fully masked-out query descriptors.
 
index f63866d..4993b27 100644 (file)
@@ -5,15 +5,13 @@ Image Filtering
 
 Functions and classes described in this section are used to perform various linear or non-linear filtering operations on 2D images.
 
-See also: :ref:`ImageFiltering`.
-
 .. index:: gpu::BaseRowFilter_GPU
 
 gpu::BaseRowFilter_GPU
 ----------------------
 .. ocv:class:: gpu::BaseRowFilter_GPU
 
-This is a base class for linear or non-linear filters that processes rows of 2D arrays. Such filters are used for the "horizontal" filtering passes in separable filters. ::
+Base class for linear or non-linear filters that processes rows of 2D arrays. Such filters are used for the "horizontal" filtering passes in separable filters. ::
 
     class BaseRowFilter_GPU
     {
@@ -25,9 +23,7 @@ This is a base class for linear or non-linear filters that processes rows of 2D
     };
 
 
-**Note:** 
-
-This class does not allocate memory for a destination image. Usually this class is used inside :ocv:class:`gpu::FilterEngine_GPU`.
+.. note:: This class does not allocate memory for a destination image. Usually this class is used inside :ocv:class:`gpu::FilterEngine_GPU`.
 
 .. index:: gpu::BaseColumnFilter_GPU
 
@@ -35,7 +31,7 @@ gpu::BaseColumnFilter_GPU
 -------------------------
 .. ocv:class:: gpu::BaseColumnFilter_GPU
 
-This is a base class for linear or non-linear filters that processes columns of 2D arrays. Such filters are used for the "vertical" filtering passes in separable filters. ::
+Base class for linear or non-linear filters that processes columns of 2D arrays. Such filters are used for the "vertical" filtering passes in separable filters. ::
 
     class BaseColumnFilter_GPU
     {
@@ -47,9 +43,7 @@ This is a base class for linear or non-linear filters that processes columns of
     };
 
 
-**Note:**
-
-This class does not allocate memory for a destination image. Usually this class is used inside :ocv:class:`gpu::FilterEngine_GPU`.
+.. note:: This class does not allocate memory for a destination image. Usually this class is used inside :ocv:class:`gpu::FilterEngine_GPU`.
 
 .. index:: gpu::BaseFilter_GPU
 
@@ -57,7 +51,7 @@ gpu::BaseFilter_GPU
 -------------------
 .. ocv:class:: gpu::BaseFilter_GPU
 
-This is a base class for non-separable 2D filters. ::
+Base class for non-separable 2D filters. ::
 
     class CV_EXPORTS BaseFilter_GPU
     {
@@ -70,9 +64,7 @@ This is a base class for non-separable 2D filters. ::
     };
 
 
-**Note:**
-
-This class does not allocate memory for a destination image. Usually this class is used inside :ocv:class:`gpu::FilterEngine_GPU`.
+.. note:: This class does not allocate memory for a destination image. Usually this class is used inside :ocv:class:`gpu::FilterEngine_GPU`.
 
 .. index:: gpu::FilterEngine_GPU
 
@@ -80,7 +72,7 @@ gpu::FilterEngine_GPU
 ---------------------
 .. ocv:class:: gpu::FilterEngine_GPU
 
-This is a base class for Filter Engine. ::
+Base class for the Filter Engine. ::
 
     class CV_EXPORTS FilterEngine_GPU
     {
@@ -95,7 +87,7 @@ This is a base class for Filter Engine. ::
 The class can be used to apply an arbitrary filtering operation to an image. It contains all the necessary intermediate buffers. Pointers to the initialized ``FilterEngine_GPU`` instances are returned by various ``create*Filter_GPU`` functions (see below), and they are used inside high-level functions such as
 :ocv:func:`gpu::filter2D`, :ocv:func:`gpu::erode`, :ocv:func:`gpu::Sobel` , and others.
 
-By using ``FilterEngine_GPU`` instead of functions you can avoid unnecessary memory allocation for intermediate buffers and get much better performance: 
+By using ``FilterEngine_GPU`` instead of functions you can avoid unnecessary memory allocation for intermediate buffers and get better performance: 
 ::
 
     while (...)
@@ -118,13 +110,22 @@ By using ``FilterEngine_GPU`` instead of functions you can avoid unnecessary mem
     // Release buffers only once
     filter.release();
 
- ``FilterEngine_GPU`` can process a rectangular sub-region of an image. By default, if ``roi == Rect(0,0,-1,-1)``, ``FilterEngine_GPU`` processes the inner region of an image ( ``Rect(anchor.x, anchor.y, src_size.width - ksize.width, src_size.height - ksize.height)`` ), because some filters do not check whether indices are outside the image for better perfomance. See below to understand which filters support processing the whole image and which do not and identify image type limitations.
+ ``FilterEngine_GPU`` can process a rectangular sub-region of an image. By default, if ``roi == Rect(0,0,-1,-1)``, ``FilterEngine_GPU`` processes the inner region of an image ( ``Rect(anchor.x, anchor.y, src_size.width - ksize.width, src_size.height - ksize.height)`` ) because some filters do not check whether indices are outside the image for better perfomance. See below to understand which filters support processing the whole image and which do not and identify image type limitations.
 
-**Note:** 
+.. note:: The GPU filters do not support the in-place mode.
 
-The GPU filters do not support the in-place mode.
-
-See also: :ocv:class:`gpu::BaseRowFilter_GPU`, :ocv:class:`gpu::BaseColumnFilter_GPU`, :ocv:class:`gpu::BaseFilter_GPU`, :ocv:func:`gpu::createFilter2D_GPU`, :ocv:func:`gpu::createSeparableFilter_GPU`, :ocv:func:`gpu::createBoxFilter_GPU`, :ocv:func:`gpu::createMorphologyFilter_GPU`, :ocv:func:`gpu::createLinearFilter_GPU`, :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`gpu::createDerivFilter_GPU`, :ocv:func:`gpu::createGaussianFilter_GPU`.
+.. seealso:: 
+:ocv:class:`gpu::BaseRowFilter_GPU`, 
+:ocv:class:`gpu::BaseColumnFilter_GPU`, 
+:ocv:class:`gpu::BaseFilter_GPU`, 
+:ocv:func:`gpu::createFilter2D_GPU`, 
+:ocv:func:`gpu::createSeparableFilter_GPU`, 
+:ocv:func:`gpu::createBoxFilter_GPU`, 
+:ocv:func:`gpu::createMorphologyFilter_GPU`, 
+:ocv:func:`gpu::createLinearFilter_GPU`, 
+:ocv:func:`gpu::createSeparableLinearFilter_GPU`, 
+:ocv:func:`gpu::createDerivFilter_GPU`, 
+:ocv:func:`gpu::createGaussianFilter_GPU`
 
 .. index:: gpu::createFilter2D_GPU
 
@@ -140,7 +141,7 @@ gpu::createFilter2D_GPU
 
     :param dstType: Output image type. It must be supported by  ``filter2D`` .
 
-       Usually this function is used inside such high-level functions as :ocv:func:`gpu::createLinearFilter_GPU`, :ocv:func:`gpu::createBoxFilter_GPU`.
+Usually this function is used inside such high-level functions as :ocv:func:`gpu::createLinearFilter_GPU`, :ocv:func:`gpu::createBoxFilter_GPU`.
 
 .. index:: gpu::createSeparableFilter_GPU
 
@@ -160,7 +161,7 @@ gpu::createSeparableFilter_GPU
 
     :param dstType: Output image type. It must be supported by  ``columnFilter``.
 
-       Usually this function is used inside such high-level functions as :ocv:func:`gpu::createSeparableLinearFilter_GPU`.
+Usually this function is used inside such high-level functions as :ocv:func:`gpu::createSeparableLinearFilter_GPU`.
 
 .. index:: gpu::getRowSumFilter_GPU
 
@@ -178,9 +179,7 @@ gpu::getRowSumFilter_GPU
 
     :param anchor: Anchor point. The default value (-1) means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
 .. index:: gpu::getColumnSumFilter_GPU
 
@@ -198,9 +197,7 @@ gpu::getColumnSumFilter_GPU
 
     :param anchor: Anchor point. The default value (-1) means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
 .. index:: gpu::createBoxFilter_GPU
 
@@ -212,19 +209,17 @@ gpu::createBoxFilter_GPU
 
 .. ocv:function:: Ptr<BaseFilter_GPU> getBoxFilter_GPU(int srcType, int dstType, const Size& ksize, Point anchor = Point(-1, -1))
 
-    :param srcType: Input image type. Supports ``CV_8UC1`` and ``CV_8UC4``.
+    :param srcType: Input image type supporting ``CV_8UC1`` and ``CV_8UC4``.
 
-    :param dstType: Output image type.  It supports only the same as the source type.
+    :param dstType: Output image type.  It supports only the same values as the source type.
 
     :param ksize: Kernel size.
 
     :param anchor: Anchor point. The default value ``Point(-1, -1)`` means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`boxFilter`
+.. seealso:: :ocv:func:`boxFilter`
 
 .. index:: gpu::boxFilter
 
@@ -244,11 +239,9 @@ gpu::boxFilter
 
     :param anchor: Anchor point. The default value ``Point(-1, -1)`` means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+ .. note::     This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`boxFilter`
+.. seealso:: :ocv:func:`boxFilter`
 
 .. index:: gpu::blur
 
@@ -266,11 +259,9 @@ gpu::blur
 
     :param anchor: Anchor point. The default value Point(-1, -1) means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`blur`, :ocv:func:`gpu::boxFilter`
+.. seealso:: :ocv:func:`blur`, :ocv:func:`gpu::boxFilter`
 
 .. index:: gpu::createMorphologyFilter_GPU
 
@@ -292,11 +283,9 @@ gpu::createMorphologyFilter_GPU
 
     :param anchor: Anchor position within the structuring element. Negative values mean that the anchor is at the center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`createMorphologyFilter`
+.. seealso:: :ocv:func:`createMorphologyFilter`
 
 .. index:: gpu::erode
 
@@ -316,11 +305,11 @@ gpu::erode
 
     :param iterations: Number of times erosion to be applied.
 
-       **Note:** 
+.. note:: 
        
        This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`erode`
+.. seealso:: :ocv:func:`erode`
 
 .. index:: gpu::dilate
 
@@ -340,11 +329,9 @@ gpu::dilate
 
     :param iterations: Number of times dilation to be applied.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`dilate`
+.. seealso:: :ocv:func:`dilate`
 
 .. index:: gpu::morphologyEx
 
@@ -377,11 +364,9 @@ gpu::morphologyEx
 
     :param iterations: Number of times erosion and dilation to be applied.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note::      This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`morphologyEx` 
+.. seealso:: :ocv:func:`morphologyEx` 
 
 .. index:: gpu::createLinearFilter_GPU
 
@@ -403,11 +388,9 @@ gpu::createLinearFilter_GPU
 
     :param anchor: Anchor point. The default value Point(-1, -1) means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`createLinearFilter`
+.. seealso:: :ocv:func:`createLinearFilter`
 
 .. index:: gpu::filter2D
 
@@ -425,13 +408,11 @@ gpu::filter2D
 
     :param kernel: 2D array of filter coefficients. This filter works with integers kernels. If  ``kernel``  has a ``float``  or  ``double``  type, it uses fixed-point arithmetic.
 
-    :param anchor: Anchor of the kernel that indicates the relative position of a filtered point within the kernel. The anchor resides within the kernel. The special default value (-1,-1) means that the anchor is at the kernel center.
-
-       **Note:** 
+    :param anchor: Anchor of the kernel that indicates the relative position of a filtered point within the kernel. The anchor resides within the kernel. The special default value (-1,-1) means that the anchor is at the kernel cente
        
        This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`filter2D`
+.. seealso:: :ocv:func:`filter2D`
 
 .. index:: gpu::Laplacian
 
@@ -451,11 +432,9 @@ gpu::Laplacian
 
     :param scale: Optional scale factor for the computed Laplacian values. By default, no scaling is applied (see  :ocv:func:`getDerivKernels` ).
 
-       **Note:**
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note::      This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
-See Also: :ocv:func:`Laplacian`,:ocv:func:`gpu::filter2D` .
+.. seealso:: :ocv:func:`Laplacian`,:ocv:func:`gpu::filter2D` .
 
 .. index:: gpu::getLinearRowFilter_GPU
 
@@ -503,7 +482,7 @@ gpu::getLinearColumnFilter_GPU
        * NPP version is called when ``dstType == CV_8UC1`` or ``dstType == CV_8UC4`` and ``bufType == dstType`` . Otherwise, the OpenCV version is called. NPP supports only ``BORDER_CONSTANT`` border type and does not check indices outside the image. 
        * OpenCV version supports only ``CV_32F`` buffer depth and ``BORDER_REFLECT101``, ``BORDER_REPLICATE``, and ``BORDER_CONSTANT`` border types. It checks indices outside image.
        
-See Also: :ocv:func:`gpu::getLinearRowFilter_GPU`, :ocv:func:`createSeparableLinearFilter`
+.. seealso:: :ocv:func:`gpu::getLinearRowFilter_GPU`, :ocv:func:`createSeparableLinearFilter`
 
 .. index:: gpu::createSeparableLinearFilter_GPU
 
@@ -524,7 +503,7 @@ gpu::createSeparableLinearFilter_GPU
     :param rowBorderType, columnBorderType: Pixel extrapolation method in the horizontal and vertical directions For details, see  :ocv:func:`borderInterpolate`. For details on limitations, see :ocv:func:`gpu::getLinearRowFilter_GPU`, cpp:ocv:func:`gpu::getLinearColumnFilter_GPU`.
 
 
-See Also: :ocv:func:`gpu::getLinearRowFilter_GPU`, :ocv:func:`gpu::getLinearColumnFilter_GPU`, :ocv:func:`createSeparableLinearFilter`
+.. seealso:: :ocv:func:`gpu::getLinearRowFilter_GPU`, :ocv:func:`gpu::getLinearColumnFilter_GPU`, :ocv:func:`createSeparableLinearFilter`
 
 .. index:: gpu::sepFilter2D
 
@@ -546,7 +525,7 @@ gpu::sepFilter2D
 
     :param rowBorderType, columnBorderType: Pixel extrapolation method. For details, see  :ocv:func:`borderInterpolate`.
 
-See Also: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`sepFilter2D`
+.. seealso:: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`sepFilter2D`
 
 .. index:: gpu::createDerivFilter_GPU
 
@@ -568,7 +547,7 @@ gpu::createDerivFilter_GPU
 
     :param rowBorderType, columnBorderType: Pixel extrapolation method. See  :ocv:func:`borderInterpolate` for details.
 
-See Also: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`createDerivFilter`
+.. seealso:: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`createDerivFilter`
 
 .. index:: gpu::Sobel
 
@@ -594,7 +573,7 @@ gpu::Sobel
 
     :param rowBorderType, columnBorderType: Pixel extrapolation method. See  :ocv:func:`borderInterpolate` for details.
 
-See Also: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`Sobel`
+.. seealso:: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`Sobel`
 
 .. index:: gpu::Scharr
 
@@ -618,7 +597,7 @@ gpu::Scharr
 
     :param rowBorderType, columnBorderType: Pixel extrapolation method. For details, see  :ocv:func:`borderInterpolate`  and :ocv:func:`Scharr` .
 
-See Also: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`Scharr`
+.. seealso:: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`Scharr`
 
 .. index:: gpu::createGaussianFilter_GPU
 
@@ -638,7 +617,7 @@ gpu::createGaussianFilter_GPU
 
     :param rowBorderType, columnBorderType: Border type to use. See  :ocv:func:`borderInterpolate` for details.
 
-See Also: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`createGaussianFilter`
+.. seealso:: :ocv:func:`gpu::createSeparableLinearFilter_GPU`, :ocv:func:`createGaussianFilter`
 
 .. index:: gpu::GaussianBlur
 
@@ -658,7 +637,7 @@ gpu::GaussianBlur
 
     :param rowBorderType, columnBorderType: Pixel extrapolation method. See  :ocv:func:`borderInterpolate` for details.
 
-See Also: :ocv:func:`gpu::createGaussianFilter_GPU`, :ocv:func:`GaussianBlur`
+.. seealso:: :ocv:func:`gpu::createGaussianFilter_GPU`, :ocv:func:`GaussianBlur`
 
 .. index:: gpu::getMaxFilter_GPU
 
@@ -676,9 +655,7 @@ gpu::getMaxFilter_GPU
 
     :param anchor: Anchor point. The default value (-1) means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+.. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
 
 .. index:: gpu::getMinFilter_GPU
 
@@ -696,6 +673,4 @@ gpu::getMinFilter_GPU
 
     :param anchor: Anchor point. The default value (-1) means that the anchor is at the kernel center.
 
-       **Note:** 
-       
-       This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.
+       .. note:: This filter does not check out-of-border accesses, so only a proper sub-matrix of a bigger matrix has to be passed to it.