We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Add example code for overlay segment configuration for workstation


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `app/grandchallenge/workstation_configs/forms.py`
Content:
```
1 from django.forms import ModelForm
2 
3 from grandchallenge.core.forms import SaveFormInitMixin
4 from grandchallenge.core.widgets import JSONEditorWidget
5 from grandchallenge.workstation_configs.models import (
6     OVERLAY_SEGMENTS_SCHEMA,
7     WorkstationConfig,
8 )
9 
10 
11 class WorkstationConfigForm(SaveFormInitMixin, ModelForm):
12     class Meta:
13         model = WorkstationConfig
14         fields = (
15             "title",
16             "description",
17             "window_presets",
18             "default_window_preset",
19             "default_slab_thickness_mm",
20             "default_slab_render_method",
21             "default_orientation",
22             "default_overlay_alpha",
23             "default_overlay_lut",
24             "default_overlay_interpolation",
25             "overlay_segments",
26             "default_zoom_scale",
27             "show_image_info_plugin",
28             "show_display_plugin",
29             "show_invert_tool",
30             "show_flip_tool",
31             "show_window_level_tool",
32             "show_reset_tool",
33         )
34         widgets = {
35             "overlay_segments": JSONEditorWidget(
36                 schema=OVERLAY_SEGMENTS_SCHEMA
37             ),
38         }
39
```
--- 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/app/grandchallenge/workstation_configs/forms.py b/app/grandchallenge/workstation_configs/forms.py
--- a/app/grandchallenge/workstation_configs/forms.py
+++ b/app/grandchallenge/workstation_configs/forms.py
@@ -36,3 +36,14 @@
                 schema=OVERLAY_SEGMENTS_SCHEMA
             ),
         }
+        help_texts = {
+            "overlay_segments": (
+                "If an categorical overlay is shown, it is possible to show toggles "
+                "to change the visibility of the different overlay categories. To do "
+                "so, configure the categories that should be displayed. Data from the"
+                " algorithm's output.json can be added as an extra label to each "
+                "toggle using jinja templating. "
+                'For example: [{ "voxel_value": 0, "name": "Level 0", "visible": '
+                'false, "metric_template": "{{metrics.volumes[0]}} mm³"},]'
+            ),
+        }

{"golden_diff": "diff --git a/app/grandchallenge/workstation_configs/forms.py b/app/grandchallenge/workstation_configs/forms.py\n--- a/app/grandchallenge/workstation_configs/forms.py\n+++ b/app/grandchallenge/workstation_configs/forms.py\n@@ -36,3 +36,14 @@\n                 schema=OVERLAY_SEGMENTS_SCHEMA\n             ),\n         }\n+        help_texts = {\n+            \"overlay_segments\": (\n+                \"If an categorical overlay is shown, it is possible to show toggles \"\n+                \"to change the visibility of the different overlay categories. To do \"\n+                \"so, configure the categories that should be displayed. Data from the\"\n+                \" algorithm's output.json can be added as an extra label to each \"\n+                \"toggle using jinja templating. \"\n+                'For example: [{ \"voxel_value\": 0, \"name\": \"Level 0\", \"visible\": '\n+                'false, \"metric_template\": \"{{metrics.volumes[0]}} mm\u00b3\"},]'\n+            ),\n+        }\n", "issue": "Add example code for overlay segment configuration for workstation\n\n", "before_files": [{"content": "from django.forms import ModelForm\n\nfrom grandchallenge.core.forms import SaveFormInitMixin\nfrom grandchallenge.core.widgets import JSONEditorWidget\nfrom grandchallenge.workstation_configs.models import (\n    OVERLAY_SEGMENTS_SCHEMA,\n    WorkstationConfig,\n)\n\n\nclass WorkstationConfigForm(SaveFormInitMixin, ModelForm):\n    class Meta:\n        model = WorkstationConfig\n        fields = (\n            \"title\",\n            \"description\",\n            \"window_presets\",\n            \"default_window_preset\",\n            \"default_slab_thickness_mm\",\n            \"default_slab_render_method\",\n            \"default_orientation\",\n            \"default_overlay_alpha\",\n            \"default_overlay_lut\",\n            \"default_overlay_interpolation\",\n            \"overlay_segments\",\n            \"default_zoom_scale\",\n            \"show_image_info_plugin\",\n            \"show_display_plugin\",\n            \"show_invert_tool\",\n            \"show_flip_tool\",\n            \"show_window_level_tool\",\n            \"show_reset_tool\",\n        )\n        widgets = {\n            \"overlay_segments\": JSONEditorWidget(\n                schema=OVERLAY_SEGMENTS_SCHEMA\n            ),\n        }\n", "path": "app/grandchallenge/workstation_configs/forms.py"}], "after_files": [{"content": "from django.forms import ModelForm\n\nfrom grandchallenge.core.forms import SaveFormInitMixin\nfrom grandchallenge.core.widgets import JSONEditorWidget\nfrom grandchallenge.workstation_configs.models import (\n    OVERLAY_SEGMENTS_SCHEMA,\n    WorkstationConfig,\n)\n\n\nclass WorkstationConfigForm(SaveFormInitMixin, ModelForm):\n    class Meta:\n        model = WorkstationConfig\n        fields = (\n            \"title\",\n            \"description\",\n            \"window_presets\",\n            \"default_window_preset\",\n            \"default_slab_thickness_mm\",\n            \"default_slab_render_method\",\n            \"default_orientation\",\n            \"default_overlay_alpha\",\n            \"default_overlay_lut\",\n            \"default_overlay_interpolation\",\n            \"overlay_segments\",\n            \"default_zoom_scale\",\n            \"show_image_info_plugin\",\n            \"show_display_plugin\",\n            \"show_invert_tool\",\n            \"show_flip_tool\",\n            \"show_window_level_tool\",\n            \"show_reset_tool\",\n        )\n        widgets = {\n            \"overlay_segments\": JSONEditorWidget(\n                schema=OVERLAY_SEGMENTS_SCHEMA\n            ),\n        }\n        help_texts = {\n            \"overlay_segments\": (\n                \"If an categorical overlay is shown, it is possible to show toggles \"\n                \"to change the visibility of the different overlay categories. To do \"\n                \"so, configure the categories that should be displayed. Data from the\"\n                \" algorithm's output.json can be added as an extra label to each \"\n                \"toggle using jinja templating. \"\n                'For example: [{ \"voxel_value\": 0, \"name\": \"Level 0\", \"visible\": '\n                'false, \"metric_template\": \"{{metrics.volumes[0]}} mm\u00b3\"},]'\n            ),\n        }\n", "path": "app/grandchallenge/workstation_configs/forms.py"}]}