Repository: scikit-image/scikit-image

Issue:
Adjust variable naming in registration.optical_flow_tvl1 - Optical Flow TVL1
### Description:

Documentation provided here [optical_flow_tvl1](https://scikit-image.org/docs/stable/api/skimage.registration.html#skimage.registration.optical_flow_tvl1) gives "Tightness" a value of 0.3 and describes it as: "Tightness parameter. It should have a small value in order to **maintain attachment and regularization parts in correspondence**."

![image](https://github.com/scikit-image/scikit-image/assets/45764991/f3863eac-643e-4e04-84bf-0e86bac38dae)

The function cites [TV-L1 optical flow estimation. Image Processing On Line. Pérez, J. S., Meinhardt-Llopis, E., & Facciolo, G. (2013)](https://doi.org/10.5201/ipol.2013.26), where "Tightness" is described as "It serves as a link between the attachment and the regularization terms. In theory, **it should have a small value in order to maintain both parts in correspondence.**" and is also given a value of 0.3

![image](https://github.com/scikit-image/scikit-image/assets/45764991/75895379-10ab-45b6-9900-41bbaa456d92)

The paper has **θ** for Tightness, and the documentation has **τ**. So, should τ be replaced by θ in the documentation? 

The function also defines `dt` = 0.25 for a grayscale image: 

> https://github.com/scikit-image/scikit-image/blob/441fe68b95a86d4ae2a351311a0c39a4232b6521/skimage/registration/_optical_flow.py#L59

So is `dt` = τ???? τ is described as "the time step of the numerical scheme" in the paper. 

Thanks


### Way to reproduce:

_No response_

### Version information:

_No response_


Discussion:
Yes, you are right, I think calling it tau in the docs was a typo/mistake. I think this just needs a PR to change that tau to a theta in the docstring, and perhaps a separate PR to add a comment to the `dt = ` line to point out that it corresponds to tau. Thanks for spotting @dfvr1994! If you would like to contribute those changes they should be quick to merge, otherwise we can fix them in a bit.

Resolving patch:
diff --git a/skimage/registration/_optical_flow.py b/skimage/registration/_optical_flow.py
--- a/skimage/registration/_optical_flow.py
+++ b/skimage/registration/_optical_flow.py
@@ -30,9 +30,9 @@ def _tvl1(
     Parameters
     ----------
     reference_image : ndarray, shape (M, N[, P[, ...]])
-        The first gray scale image of the sequence.
+        The first grayscale image of the sequence.
     moving_image : ndarray, shape (M, N[, P[, ...]])
-        The second gray scale image of the sequence.
+        The second grayscale image of the sequence.
     flow0 : ndarray, shape (image0.ndim, M, N[, P[, ...]])
         Initialization for the vector field.
     attachment : float
@@ -67,6 +67,7 @@ def _tvl1(
         sparse=True,
     )
 
+    # dt corresponds to tau in [3]_, i.e. the time step
     dt = 0.5 / reference_image.ndim
     reg_num_iter = 2
     f0 = attachment * tightness
@@ -185,9 +186,9 @@ def optical_flow_tvl1(
     Parameters
     ----------
     reference_image : ndarray, shape (M, N[, P[, ...]])
-        The first gray scale image of the sequence.
+        The first grayscale image of the sequence.
     moving_image : ndarray, shape (M, N[, P[, ...]])
-        The second gray scale image of the sequence.
+        The second grayscale image of the sequence.
     attachment : float, optional
         Attachment parameter (:math:`\lambda` in [1]_). The smaller
         this parameter is, the smoother the returned result will be.
@@ -272,9 +273,9 @@ def _ilk(reference_image, moving_image, flow0, radius, num_warp, gaussian, prefi
     Parameters
     ----------
     reference_image : ndarray, shape (M, N[, P[, ...]])
-        The first gray scale image of the sequence.
+        The first grayscale image of the sequence.
     moving_image : ndarray, shape (M, N[, P[, ...]])
-        The second gray scale image of the sequence.
+        The second grayscale image of the sequence.
     flow0 : ndarray, shape (reference_image.ndim, M, N[, P[, ...]])
         Initialization for the vector field.
     radius : int
@@ -363,9 +364,9 @@ def optical_flow_ilk(
     Parameters
     ----------
     reference_image : ndarray, shape (M, N[, P[, ...]])
-        The first gray scale image of the sequence.
+        The first grayscale image of the sequence.
     moving_image : ndarray, shape (M, N[, P[, ...]])
-        The second gray scale image of the sequence.
+        The second grayscale image of the sequence.
     radius : int, optional
         Radius of the window considered around each pixel.
     num_warp : int, optional
diff --git a/skimage/registration/_optical_flow_utils.py b/skimage/registration/_optical_flow_utils.py
--- a/skimage/registration/_optical_flow_utils.py
+++ b/skimage/registration/_optical_flow_utils.py
@@ -71,7 +71,7 @@ def get_pyramid(I, downscale=2.0, nlevel=10, min_size=16):
     Parameters
     ----------
     I : ndarray
-        The image to be preprocessed (Gray scale or RGB).
+        The image to be preprocessed (Grayscale or RGB).
     downscale : float
         The pyramid downscale factor.
     nlevel : int
@@ -107,9 +107,9 @@ def coarse_to_fine(
     Parameters
     ----------
     I0 : ndarray
-        The first gray scale image of the sequence.
+        The first grayscale image of the sequence.
     I1 : ndarray
-        The second gray scale image of the sequence.
+        The second grayscale image of the sequence.
     solver : callable
         The solver applied at each pyramid level.
     downscale : float


Test patch: