We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
module 'skimage.filters' has no attribute 'denoise_tv_chambolle' 
There are a couple of undefined symbols in [`filters` module](https://github.com/scikit-image/scikit-image/blob/master/skimage/filters/__init__.py#L46-L48)

Thus `from skimage.filters import *` gives:

```
AttributeError: module 'skimage.filters' has no attribute 'denoise_tv_chambolle'
```

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `skimage/filters/__init__.py`
Content:
```
1 from .lpi_filter import inverse, wiener, LPIFilter2D
2 from ._gaussian import gaussian
3 from .edges import (sobel, sobel_h, sobel_v,
4                     scharr, scharr_h, scharr_v,
5                     prewitt, prewitt_h, prewitt_v,
6                     roberts, roberts_pos_diag, roberts_neg_diag,
7                     laplace)
8 from ._rank_order import rank_order
9 from ._gabor import gabor_kernel, gabor
10 from ._frangi import frangi, hessian
11 from .thresholding import (threshold_local,
12                            threshold_adaptive, threshold_otsu, threshold_yen,
13                            threshold_isodata, threshold_li, threshold_minimum,
14                            threshold_mean, threshold_triangle,
15                            threshold_niblack, threshold_sauvola,
16                            try_all_threshold)
17 from . import rank
18 from .rank import median
19 
20 from .._shared.utils import deprecated, copy_func
21 
22 
23 gaussian_filter = copy_func(gaussian, name='gaussian_filter')
24 gaussian_filter = deprecated('skimage.filters.gaussian')(gaussian_filter)
25 gabor_filter = copy_func(gabor, name='gabor_filter')
26 gabor_filter = deprecated('skimage.filters.gabor')(gabor_filter)
27 
28 __all__ = ['inverse',
29            'wiener',
30            'LPIFilter2D',
31            'gaussian',
32            'median',
33            'sobel',
34            'sobel_h',
35            'sobel_v',
36            'scharr',
37            'scharr_h',
38            'scharr_v',
39            'prewitt',
40            'prewitt_h',
41            'prewitt_v',
42            'roberts',
43            'roberts_pos_diag',
44            'roberts_neg_diag',
45            'laplace',
46            'denoise_tv_chambolle',
47            'denoise_bilateral',
48            'denoise_tv_bregman',
49            'rank_order',
50            'gabor_kernel',
51            'gabor',
52            'try_all_threshold',
53            'frangi',
54            'hessian',
55            'threshold_adaptive',
56            'threshold_otsu',
57            'threshold_yen',
58            'threshold_isodata',
59            'threshold_li',
60            'threshold_minimum',
61            'threshold_mean',
62            'threshold_niblack',
63            'threshold_sauvola',
64            'threshold_triangle',
65            'rank']
66
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/skimage/filters/__init__.py b/skimage/filters/__init__.py
--- a/skimage/filters/__init__.py
+++ b/skimage/filters/__init__.py
@@ -43,9 +43,6 @@
            'roberts_pos_diag',
            'roberts_neg_diag',
            'laplace',
-           'denoise_tv_chambolle',
-           'denoise_bilateral',
-           'denoise_tv_bregman',
            'rank_order',
            'gabor_kernel',
            'gabor',

{"golden_diff": "diff --git a/skimage/filters/__init__.py b/skimage/filters/__init__.py\n--- a/skimage/filters/__init__.py\n+++ b/skimage/filters/__init__.py\n@@ -43,9 +43,6 @@\n            'roberts_pos_diag',\n            'roberts_neg_diag',\n            'laplace',\n-           'denoise_tv_chambolle',\n-           'denoise_bilateral',\n-           'denoise_tv_bregman',\n            'rank_order',\n            'gabor_kernel',\n            'gabor',\n", "issue": "module 'skimage.filters' has no attribute 'denoise_tv_chambolle' \nThere are a couple of undefined symbols in [`filters` module](https://github.com/scikit-image/scikit-image/blob/master/skimage/filters/__init__.py#L46-L48)\r\n\r\nThus `from skimage.filters import *` gives:\r\n\r\n```\r\nAttributeError: module 'skimage.filters' has no attribute 'denoise_tv_chambolle'\r\n```\n", "before_files": [{"content": "from .lpi_filter import inverse, wiener, LPIFilter2D\nfrom ._gaussian import gaussian\nfrom .edges import (sobel, sobel_h, sobel_v,\n                    scharr, scharr_h, scharr_v,\n                    prewitt, prewitt_h, prewitt_v,\n                    roberts, roberts_pos_diag, roberts_neg_diag,\n                    laplace)\nfrom ._rank_order import rank_order\nfrom ._gabor import gabor_kernel, gabor\nfrom ._frangi import frangi, hessian\nfrom .thresholding import (threshold_local,\n                           threshold_adaptive, threshold_otsu, threshold_yen,\n                           threshold_isodata, threshold_li, threshold_minimum,\n                           threshold_mean, threshold_triangle,\n                           threshold_niblack, threshold_sauvola,\n                           try_all_threshold)\nfrom . import rank\nfrom .rank import median\n\nfrom .._shared.utils import deprecated, copy_func\n\n\ngaussian_filter = copy_func(gaussian, name='gaussian_filter')\ngaussian_filter = deprecated('skimage.filters.gaussian')(gaussian_filter)\ngabor_filter = copy_func(gabor, name='gabor_filter')\ngabor_filter = deprecated('skimage.filters.gabor')(gabor_filter)\n\n__all__ = ['inverse',\n           'wiener',\n           'LPIFilter2D',\n           'gaussian',\n           'median',\n           'sobel',\n           'sobel_h',\n           'sobel_v',\n           'scharr',\n           'scharr_h',\n           'scharr_v',\n           'prewitt',\n           'prewitt_h',\n           'prewitt_v',\n           'roberts',\n           'roberts_pos_diag',\n           'roberts_neg_diag',\n           'laplace',\n           'denoise_tv_chambolle',\n           'denoise_bilateral',\n           'denoise_tv_bregman',\n           'rank_order',\n           'gabor_kernel',\n           'gabor',\n           'try_all_threshold',\n           'frangi',\n           'hessian',\n           'threshold_adaptive',\n           'threshold_otsu',\n           'threshold_yen',\n           'threshold_isodata',\n           'threshold_li',\n           'threshold_minimum',\n           'threshold_mean',\n           'threshold_niblack',\n           'threshold_sauvola',\n           'threshold_triangle',\n           'rank']\n", "path": "skimage/filters/__init__.py"}], "after_files": [{"content": "from .lpi_filter import inverse, wiener, LPIFilter2D\nfrom ._gaussian import gaussian\nfrom .edges import (sobel, sobel_h, sobel_v,\n                    scharr, scharr_h, scharr_v,\n                    prewitt, prewitt_h, prewitt_v,\n                    roberts, roberts_pos_diag, roberts_neg_diag,\n                    laplace)\nfrom ._rank_order import rank_order\nfrom ._gabor import gabor_kernel, gabor\nfrom ._frangi import frangi, hessian\nfrom .thresholding import (threshold_local,\n                           threshold_adaptive, threshold_otsu, threshold_yen,\n                           threshold_isodata, threshold_li, threshold_minimum,\n                           threshold_mean, threshold_triangle,\n                           threshold_niblack, threshold_sauvola,\n                           try_all_threshold)\nfrom . import rank\nfrom .rank import median\n\nfrom .._shared.utils import deprecated, copy_func\n\n\ngaussian_filter = copy_func(gaussian, name='gaussian_filter')\ngaussian_filter = deprecated('skimage.filters.gaussian')(gaussian_filter)\ngabor_filter = copy_func(gabor, name='gabor_filter')\ngabor_filter = deprecated('skimage.filters.gabor')(gabor_filter)\n\n__all__ = ['inverse',\n           'wiener',\n           'LPIFilter2D',\n           'gaussian',\n           'median',\n           'sobel',\n           'sobel_h',\n           'sobel_v',\n           'scharr',\n           'scharr_h',\n           'scharr_v',\n           'prewitt',\n           'prewitt_h',\n           'prewitt_v',\n           'roberts',\n           'roberts_pos_diag',\n           'roberts_neg_diag',\n           'laplace',\n           'rank_order',\n           'gabor_kernel',\n           'gabor',\n           'try_all_threshold',\n           'frangi',\n           'hessian',\n           'threshold_adaptive',\n           'threshold_otsu',\n           'threshold_yen',\n           'threshold_isodata',\n           'threshold_li',\n           'threshold_minimum',\n           'threshold_mean',\n           'threshold_niblack',\n           'threshold_sauvola',\n           'threshold_triangle',\n           'rank']\n", "path": "skimage/filters/__init__.py"}]}