We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Deprecate and remove `skimage.novice`
`skimage.novice` was built by and for Software Carpentry.  I've recently learned that it is no longer being used, so I don't see much use for it remaining in the package.

If someone feels excited about turning it into a new package, please do so.

--- 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/novice/__init__.py`
Content:
```
1 """
2 skimage.novice
3 ==============
4 A special Python image submodule for beginners.
5 
6 Description
7 -----------
8 ``skimage.novice`` provides a simple image manipulation interface for
9 beginners.  It allows for easy loading, manipulating, and saving of image
10 files.
11 
12 This module is primarily intended for teaching and differs significantly from
13 the normal, array-oriented image functions used by scikit-image.
14 
15 .. note::
16 
17     This module uses the Cartesian coordinate system, where the origin is at
18     the lower-left corner instead of the upper-right and the order is x, y
19     instead of row, column.
20 
21 
22 Examples
23 --------
24 We can create a Picture object open opening an image file:
25 
26 >>> from skimage import novice
27 >>> from skimage import data
28 >>> picture = novice.open(data.data_dir + '/chelsea.png')
29 
30 We can display pictures (after running this command, close the window to access the prompt again):
31 
32 >>> picture.show()  # doctest: +SKIP
33 
34 Pictures know their format:
35 
36 >>> picture.format
37 'png'
38 
39 ... and where they came from:
40 
41 >>> picture.path.endswith('chelsea.png')
42 True
43 
44 ... and their size:
45 
46 >>> picture.size
47 (451, 300)
48 >>> picture.width
49 451
50 
51 As a reminder, we can preview the picture with our earlier command:
52 
53 >>> picture.show()  # doctest: +SKIP
54 
55 Changing `size` resizes the picture.
56 
57 >>> picture.size = (45, 30)
58 
59 We can preview the changes we made to the picture with the ``compare`` command:
60 
61 >>> picture.compare()  # doctest: +SKIP
62 
63 You can iterate over pixels, which have RGB values between 0 and 255,
64 and know their location in the picture.
65 
66 >>> for pixel in picture:
67 ...     if (pixel.red > 128) and (pixel.x < picture.width):
68 ...         pixel.red = pixel.red / 2
69 
70 Pictures know if they've been modified from the original file
71 
72 >>> picture.modified
73 True
74 >>> print(picture.path)
75 None
76 
77 Pictures can be indexed like arrays
78 
79 >>> picture[0:20, 0:20] = (0, 0, 0)
80 
81 Saving the picture updates the path attribute, format, and modified state.
82 
83 >>> picture.save('save-demo.jpg')
84 >>> picture.path.endswith('save-demo.jpg')
85 True
86 >>> picture.format
87 'jpeg'
88 >>> picture.modified
89 False
90 
91 An image can also be restored to its original state after modification:
92 
93 >>> picture[0:20, 0:20] = (0, 0, 0)
94 >>> picture.compare()  # doctest: +SKIP
95 >>> picture.reset()
96 >>> picture.compare()  # doctest: +SKIP
97 
98 """
99 from ._novice import Picture, open, colors, color_dict
100 
101 
102 __all__ = ['Picture', 'open', 'colors', 'color_dict']
103
```
--- 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/novice/__init__.py b/skimage/novice/__init__.py
--- a/skimage/novice/__init__.py
+++ b/skimage/novice/__init__.py
@@ -96,7 +96,11 @@
 >>> picture.compare()  # doctest: +SKIP
 
 """
+import warnings
 from ._novice import Picture, open, colors, color_dict
 
 
+warnings.warn("This module was deprecated in version 0.14. "
+              "It will be removed in 0.16.")
+
 __all__ = ['Picture', 'open', 'colors', 'color_dict']

{"golden_diff": "diff --git a/skimage/novice/__init__.py b/skimage/novice/__init__.py\n--- a/skimage/novice/__init__.py\n+++ b/skimage/novice/__init__.py\n@@ -96,7 +96,11 @@\n >>> picture.compare()  # doctest: +SKIP\n \n \"\"\"\n+import warnings\n from ._novice import Picture, open, colors, color_dict\n \n \n+warnings.warn(\"This module was deprecated in version 0.14. \"\n+              \"It will be removed in 0.16.\")\n+\n __all__ = ['Picture', 'open', 'colors', 'color_dict']\n", "issue": "Deprecate and remove `skimage.novice`\n`skimage.novice` was built by and for Software Carpentry.  I've recently learned that it is no longer being used, so I don't see much use for it remaining in the package.\r\n\r\nIf someone feels excited about turning it into a new package, please do so.\n", "before_files": [{"content": "\"\"\"\nskimage.novice\n==============\nA special Python image submodule for beginners.\n\nDescription\n-----------\n``skimage.novice`` provides a simple image manipulation interface for\nbeginners.  It allows for easy loading, manipulating, and saving of image\nfiles.\n\nThis module is primarily intended for teaching and differs significantly from\nthe normal, array-oriented image functions used by scikit-image.\n\n.. note::\n\n    This module uses the Cartesian coordinate system, where the origin is at\n    the lower-left corner instead of the upper-right and the order is x, y\n    instead of row, column.\n\n\nExamples\n--------\nWe can create a Picture object open opening an image file:\n\n>>> from skimage import novice\n>>> from skimage import data\n>>> picture = novice.open(data.data_dir + '/chelsea.png')\n\nWe can display pictures (after running this command, close the window to access the prompt again):\n\n>>> picture.show()  # doctest: +SKIP\n\nPictures know their format:\n\n>>> picture.format\n'png'\n\n... and where they came from:\n\n>>> picture.path.endswith('chelsea.png')\nTrue\n\n... and their size:\n\n>>> picture.size\n(451, 300)\n>>> picture.width\n451\n\nAs a reminder, we can preview the picture with our earlier command:\n\n>>> picture.show()  # doctest: +SKIP\n\nChanging `size` resizes the picture.\n\n>>> picture.size = (45, 30)\n\nWe can preview the changes we made to the picture with the ``compare`` command:\n\n>>> picture.compare()  # doctest: +SKIP\n\nYou can iterate over pixels, which have RGB values between 0 and 255,\nand know their location in the picture.\n\n>>> for pixel in picture:\n...     if (pixel.red > 128) and (pixel.x < picture.width):\n...         pixel.red = pixel.red / 2\n\nPictures know if they've been modified from the original file\n\n>>> picture.modified\nTrue\n>>> print(picture.path)\nNone\n\nPictures can be indexed like arrays\n\n>>> picture[0:20, 0:20] = (0, 0, 0)\n\nSaving the picture updates the path attribute, format, and modified state.\n\n>>> picture.save('save-demo.jpg')\n>>> picture.path.endswith('save-demo.jpg')\nTrue\n>>> picture.format\n'jpeg'\n>>> picture.modified\nFalse\n\nAn image can also be restored to its original state after modification:\n\n>>> picture[0:20, 0:20] = (0, 0, 0)\n>>> picture.compare()  # doctest: +SKIP\n>>> picture.reset()\n>>> picture.compare()  # doctest: +SKIP\n\n\"\"\"\nfrom ._novice import Picture, open, colors, color_dict\n\n\n__all__ = ['Picture', 'open', 'colors', 'color_dict']\n", "path": "skimage/novice/__init__.py"}], "after_files": [{"content": "\"\"\"\nskimage.novice\n==============\nA special Python image submodule for beginners.\n\nDescription\n-----------\n``skimage.novice`` provides a simple image manipulation interface for\nbeginners.  It allows for easy loading, manipulating, and saving of image\nfiles.\n\nThis module is primarily intended for teaching and differs significantly from\nthe normal, array-oriented image functions used by scikit-image.\n\n.. note::\n\n    This module uses the Cartesian coordinate system, where the origin is at\n    the lower-left corner instead of the upper-right and the order is x, y\n    instead of row, column.\n\n\nExamples\n--------\nWe can create a Picture object open opening an image file:\n\n>>> from skimage import novice\n>>> from skimage import data\n>>> picture = novice.open(data.data_dir + '/chelsea.png')\n\nWe can display pictures (after running this command, close the window to access the prompt again):\n\n>>> picture.show()  # doctest: +SKIP\n\nPictures know their format:\n\n>>> picture.format\n'png'\n\n... and where they came from:\n\n>>> picture.path.endswith('chelsea.png')\nTrue\n\n... and their size:\n\n>>> picture.size\n(451, 300)\n>>> picture.width\n451\n\nAs a reminder, we can preview the picture with our earlier command:\n\n>>> picture.show()  # doctest: +SKIP\n\nChanging `size` resizes the picture.\n\n>>> picture.size = (45, 30)\n\nWe can preview the changes we made to the picture with the ``compare`` command:\n\n>>> picture.compare()  # doctest: +SKIP\n\nYou can iterate over pixels, which have RGB values between 0 and 255,\nand know their location in the picture.\n\n>>> for pixel in picture:\n...     if (pixel.red > 128) and (pixel.x < picture.width):\n...         pixel.red = pixel.red / 2\n\nPictures know if they've been modified from the original file\n\n>>> picture.modified\nTrue\n>>> print(picture.path)\nNone\n\nPictures can be indexed like arrays\n\n>>> picture[0:20, 0:20] = (0, 0, 0)\n\nSaving the picture updates the path attribute, format, and modified state.\n\n>>> picture.save('save-demo.jpg')\n>>> picture.path.endswith('save-demo.jpg')\nTrue\n>>> picture.format\n'jpeg'\n>>> picture.modified\nFalse\n\nAn image can also be restored to its original state after modification:\n\n>>> picture[0:20, 0:20] = (0, 0, 0)\n>>> picture.compare()  # doctest: +SKIP\n>>> picture.reset()\n>>> picture.compare()  # doctest: +SKIP\n\n\"\"\"\nimport warnings\nfrom ._novice import Picture, open, colors, color_dict\n\n\nwarnings.warn(\"This module was deprecated in version 0.14. \"\n              \"It will be removed in 0.16.\")\n\n__all__ = ['Picture', 'open', 'colors', 'color_dict']\n", "path": "skimage/novice/__init__.py"}]}