diff --git a/arbor/morph/label_parse.cpp b/arbor/morph/label_parse.cpp
index a7832d5c36b2e6579335093cd1c1a919a08995a0..86edaadf19cd556745bc257fd6ec2519d339d598 100644
--- a/arbor/morph/label_parse.cpp
+++ b/arbor/morph/label_parse.cpp
@@ -188,7 +188,9 @@ std::unordered_multimap<std::string, evaluator> eval_map {
     {"all",     make_call<>(arb::reg::all,
                             "'all' with 0 arguments")},
     {"tag",     make_call<int>(arb::reg::tagged,
-                            "'tag' with 1 argment: (tag_id:integer)")},
+                               "'tag' with 1 argment: (tag_id:integer)")},
+    {"segment", make_call<int>(arb::reg::segment,
+                               "'segment' with 1 argment: (segment_id:integer)")},
     {"branch",  make_call<int>(arb::reg::branch,
                             "'branch' with 1 argument: (branch_id:integer)")},
     {"cable",   make_call<int, double, double>(arb::reg::cable,
diff --git a/doc/concepts/example.swc b/doc/concepts/example.swc
new file mode 100644
index 0000000000000000000000000000000000000000..49027d27f5d10b206b3a74193cbce252e19b4999
--- /dev/null
+++ b/doc/concepts/example.swc
@@ -0,0 +1,5 @@
+# id tag   x y z   r parent
+1   1   0 0 0   1 -1
+2   1   2 0 0   1  1
+3   2  -3 0 0 0.7  1
+4   3  20 0 0   1  2
diff --git a/doc/concepts/labels.rst b/doc/concepts/labels.rst
index 91e8d5ab7d4b00d8e41cde365fc1dc0df2dd709f..2487ebaa917db359f33a7522d254818f8bfb1e8e 100644
--- a/doc/concepts/labels.rst
+++ b/doc/concepts/labels.rst
@@ -385,6 +385,17 @@ Region expressions
 
       Branches 0 and 3, selected using ``(branch 0)`` and ``(branch 3)`` respectively.
 
+.. label:: (segment segment_id:integer)
+
+    Refer to a segment by its id. Note that segment ids depend on the construction
+    order of the morphology. Arbor's morphology loaders are stable in this regard.
+
+    .. figure:: ../gen-images/segment_label.svg
+      :width: 600
+      :align: center
+
+      Segments 0 and 3, selected using ``(segment 0)`` and ``(segment 3)`` respectively.
+
 .. _labels-cable-def:
 
 .. label:: (cable branch_id:integer prox:real dist:real)
diff --git a/doc/concepts/morphology.rst b/doc/concepts/morphology.rst
index 58c375fc03eaef1edcc9cda2c5bb621abc21a8f8..6d73c1d7704629706cc4579697d934e77dd081b5 100644
--- a/doc/concepts/morphology.rst
+++ b/doc/concepts/morphology.rst
@@ -525,13 +525,10 @@ of a different tag can connect to its distal end, proximal end or anywhere in th
 morphology with a single segment soma; a single segment axon connected to one end of the soma; and a single segment
 dendrite connected to the other end of the soma, the following swc file can be used:
 
-.. code:: Python
 
-   # id, tag,   x, y, z,   r, parent
-      1,   1,   0, 0, 0,   1, -1
-      2,   1,   2, 0, 0,   1,  1
-      3,   2,  -3, 0, 0, 0.7,  1
-      4,   3,  20, 0, 0,   1,  2
+.. literalinclude :: example.swc
+   :language: python
+   :linenos:
 
 Samples 1 and 2 will form the soma; samples 1 and 3 will form the axon, connected to the soma at the proximal end;
 samples 2 and 4 will form the dendrite, connected to the soma at the distal end. The morphology will look something
diff --git a/doc/conf.py b/doc/conf.py
index cb1ceca431d8525d3c0347cfd9fd79cd9b1f333d..4857f8765a7aa703ab3e7c05d1515c16a18796b8 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -1,6 +1,8 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 import sys, os
+import subprocess as sp
+from tempfile import TemporaryDirectory
 
 html_static_path = ['static']
 
@@ -22,7 +24,7 @@ html_logo = 'images/arbor-lines-proto-colour.svg'
 html_favicon = 'images/arbor-lines-proto-colour-notext.svg'
 
 project = 'Arbor'
-copyright = '2017, ETHZ & FZ Julich'
+copyright = '2017-2020, ETHZ & FZ Julich'
 author = 'ETHZ & FZ Julich'
 todo_include_todos = True
 
@@ -42,13 +44,19 @@ print("--- generating images ---")
 this_path=os.path.split(os.path.abspath(__file__))[0]
 script_path=this_path+'/scripts'
 sys.path.append(script_path)
-import make_images
 
-# Output path for generated images
-img_path=this_path+'/gen-images'
-if not os.path.exists(img_path):
-    os.mkdir(img_path)
+# Dump inputs.py into tmpdir
+with TemporaryDirectory() as tmp:
+    sp.run([sys.executable, this_path + '/scripts/gen-labels.py', tmp])
+    sys.path.append(tmp)
 
-make_images.generate(img_path)
+    import make_images
+
+    # Output path for generated images
+    img_path=this_path+'/gen-images'
+    if not os.path.exists(img_path):
+        os.mkdir(img_path)
+
+    make_images.generate(img_path)
 
 print("-------------------------")
diff --git a/doc/scripts/gen-labels.py b/doc/scripts/gen-labels.py
index dac99f9863afd0a4f16a53c347f9f6655c0e6e5b..1f5b5c6df914dc66ad53ddeb96f377cc4d850888 100644
--- a/doc/scripts/gen-labels.py
+++ b/doc/scripts/gen-labels.py
@@ -1,5 +1,7 @@
 import arbor
 from arbor import mpoint
+import os.path
+import sys
 
 def is_collocated(l, r):
     return l[0]==r[0] and l[1]==r[1]
@@ -156,6 +158,9 @@ tree.append(mnpos, mpoint(-3.0,  0.0,  0.0, 1.5), mpoint(-5.5,-0.2,  0.0, 0.5),
 tree.append(8,     mpoint(-14.5,-0.1,  0.0, 0.5), tag=2)
 ysoma_morph3 = arbor.morphology(tree)
 
+fn = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__), "../concepts/example.swc"))
+swc_morph = arbor.load_swc(fn)
+
 regions  = {
             'empty': '(nil)',
             'all': '(all)',
@@ -173,6 +178,8 @@ regions  = {
             'rad36':  '(intersect (radius-gt (all) 0.3) (radius-lt (all) 0.6))',
             'branch0': '(branch 0)',
             'branch3': '(branch 3)',
+            'segment0': '(segment 0)',
+            'segment3': '(segment 3)',
             'cable_1_01': '(cable 1 0 1)',
             'cable_1_31': '(cable 1 0.3 1)',
             'cable_1_37': '(cable 1 0.3 0.7)',
@@ -205,13 +212,13 @@ labels = {**regions, **locsets}
 d = arbor.label_dict(labels)
 
 # Create a cell to concretise the region and locset definitions
-cell = arbor.cable_cell(label_morph, d)
+cell = arbor.cable_cell(label_morph, d, arbor.decor())
 
 ################################################################################
 # Output all of the morphologies and reion/locset definitions to a Python script
 # that can be run during the documentation build to generate images.
 ################################################################################
-f = open('inputs.py', 'w')
+f = open(sys.argv[1] + '/inputs.py', 'w')
 f.write('import representation\n')
 f.write('from representation import Segment\n')
 
@@ -228,6 +235,7 @@ f.write(write_morphology('yshaped_morph',  yshaped_morph))
 f.write(write_morphology('ysoma_morph1',   ysoma_morph1))
 f.write(write_morphology('ysoma_morph2',   ysoma_morph2))
 f.write(write_morphology('ysoma_morph3',   ysoma_morph3))
+f.write(write_morphology('swc_morph',      swc_morph))
 
 f.write('\n############# locsets\n\n')
 for label in locsets:
@@ -240,4 +248,3 @@ for label in regions:
     f.write('reg_{} = {{\'type\': \'region\', \'value\': {}}}\n'.format(label, comps))
 
 f.close()
-
diff --git a/doc/scripts/inputs.py b/doc/scripts/inputs.py
deleted file mode 100644
index b05c35a864b237d6e9d9b16fc6e211526a6a3fca..0000000000000000000000000000000000000000
--- a/doc/scripts/inputs.py
+++ /dev/null
@@ -1,137 +0,0 @@
-import representation
-from representation import Segment
-
-############# morphologies
-
-tmp = [
-    [[Segment((0.0, 0.0, 2.0), (4.0, 0.0, 2.0), 1), Segment((4.0, 0.0, 0.8), (8.0, 0.0, 0.8), 3), Segment((8.0, 0.0, 0.8), (12.0, -0.5, 0.8), 3)]],
-    [[Segment((12.0, -0.5, 0.8), (20.0, 4.0, 0.4), 3), Segment((20.0, 4.0, 0.4), (26.0, 6.0, 0.2), 3)]],
-    [[Segment((12.0, -0.5, 0.5), (19.0, -3.0, 0.5), 3)]],
-    [[Segment((19.0, -3.0, 0.5), (24.0, -7.0, 0.2), 3)]],
-    [[Segment((19.0, -3.0, 0.5), (23.0, -1.0, 0.2), 3), Segment((23.0, -1.0, 0.2), (26.0, -2.0, 0.2), 3)]],
-    [[Segment((0.0, 0.0, 2.0), (-7.0, 0.0, 0.4), 2), Segment((-7.0, 0.0, 0.4), (-10.0, 0.0, 0.4), 2)]],]
-label_morph = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 2.0), (4.0, 0.0, 2.0), 1)], [Segment((5.0, 0.0, 0.8), (8.0, 0.0, 0.8), 3), Segment((8.0, 0.0, 0.8), (12.0, -0.5, 0.8), 3)]],
-    [[Segment((12.0, -0.5, 0.8), (20.0, 4.0, 0.4), 3), Segment((20.0, 4.0, 0.4), (26.0, 6.0, 0.2), 3)]],
-    [[Segment((12.0, -0.5, 0.5), (19.0, -3.0, 0.5), 3)]],
-    [[Segment((19.0, -3.0, 0.5), (24.0, -7.0, 0.2), 3)]],
-    [[Segment((19.0, -3.0, 0.5), (23.0, -1.0, 0.2), 3), Segment((23.0, -1.0, 0.2), (26.0, -2.0, 0.2), 3)]],
-    [[Segment((-2.0, 0.0, 0.4), (-10.0, 0.0, 0.4), 2)]],]
-detached_morph = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 0.5), (1.0, 0.0, 1.5), 1), Segment((1.0, 0.0, 1.5), (2.0, 0.0, 2.5), 1), Segment((2.0, 0.0, 2.5), (3.0, 0.0, 2.5), 1), Segment((3.0, 0.0, 2.5), (4.0, 0.0, 1.2), 1), Segment((4.0, 0.0, 0.8), (8.0, 0.0, 0.8), 3), Segment((8.0, 0.0, 0.8), (12.0, -0.5, 0.8), 3)]],
-    [[Segment((12.0, -0.5, 0.8), (20.0, 4.0, 0.4), 3), Segment((20.0, 4.0, 0.4), (26.0, 6.0, 0.2), 3)]],
-    [[Segment((12.0, -0.5, 0.5), (19.0, -3.0, 0.5), 3)]],
-    [[Segment((19.0, -3.0, 0.5), (24.0, -7.0, 0.2), 3)]],
-    [[Segment((19.0, -3.0, 0.5), (23.0, -1.0, 0.2), 3), Segment((23.0, -1.0, 0.2), (26.0, -2.0, 0.2), 3)]],
-    [[Segment((0.0, 0.0, 0.4), (-7.0, 0.0, 0.4), 2), Segment((-7.0, 0.0, 0.4), (-10.0, 0.0, 0.4), 2)]],]
-stacked_morph = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((-2.0, 0.0, 2.0), (2.0, 0.0, 2.0), 1)]],]
-sphere_morph = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 1.0), (10.0, 0.0, 0.5), 3)]],]
-branch_morph1 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 1.0), (3.0, 0.2, 0.8), 1), Segment((3.0, 0.2, 0.8), (5.0, -0.1, 0.7), 2), Segment((5.0, -0.1, 0.7), (8.0, 0.0, 0.6), 2), Segment((8.0, 0.0, 0.6), (10.0, 0.0, 0.5), 3)]],]
-branch_morph2 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 1.0), (3.0, 0.2, 0.8), 1), Segment((3.0, 0.2, 0.8), (5.0, -0.1, 0.7), 2)], [Segment((6.0, -0.1, 0.7), (9.0, 0.0, 0.6), 2), Segment((9.0, 0.0, 0.6), (11.0, 0.0, 0.5), 3)]],]
-branch_morph3 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 1.0), (3.0, 0.2, 0.8), 1), Segment((3.0, 0.2, 0.8), (5.0, -0.1, 0.7), 2), Segment((5.0, -0.1, 0.7), (8.0, 0.0, 0.5), 2), Segment((8.0, 0.0, 0.3), (10.0, 0.0, 0.5), 3)]],]
-branch_morph4 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 1.0), (10.0, 0.0, 0.5), 3)]],
-    [[Segment((10.0, 0.0, 0.5), (15.0, 3.0, 0.2), 3)]],
-    [[Segment((10.0, 0.0, 0.5), (15.0, -3.0, 0.2), 3)]],]
-yshaped_morph = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((-3.0, 0.0, 3.0), (3.0, 0.0, 3.0), 1)], [Segment((4.0, -1.0, 0.6), (10.0, -2.0, 0.5), 3), Segment((10.0, -2.0, 0.5), (15.0, -1.0, 0.5), 3)]],
-    [[Segment((15.0, -1.0, 0.5), (18.0, -5.0, 0.3), 3)]],
-    [[Segment((15.0, -1.0, 0.5), (20.0, 2.0, 0.3), 3)]],]
-ysoma_morph1 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((-3.0, 0.0, 3.0), (3.0, 0.0, 3.0), 1)]],
-    [[Segment((4.0, -1.0, 0.6), (10.0, -2.0, 0.5), 3), Segment((10.0, -2.0, 0.5), (15.0, -1.0, 0.5), 3)]],
-    [[Segment((15.0, -1.0, 0.5), (18.0, -5.0, 0.3), 3)]],
-    [[Segment((15.0, -1.0, 0.5), (20.0, 2.0, 0.3), 3)]],
-    [[Segment((2.0, 1.0, 0.6), (12.0, 4.0, 0.5), 3)]],
-    [[Segment((12.0, 4.0, 0.5), (18.0, 4.0, 0.3), 3)]],
-    [[Segment((12.0, 4.0, 0.5), (16.0, 9.0, 0.1), 3)]],
-    [[Segment((-3.5, 0.0, 1.5), (-6.0, -0.2, 0.5), 2), Segment((-6.0, -0.2, 0.5), (-15.0, -0.1, 0.5), 2)]],]
-ysoma_morph2 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((-3.0, 0.0, 3.0), (3.0, 0.0, 3.0), 1)]],
-    [[Segment((3.0, 0.0, 0.6), (9.0, -1.0, 0.5), 3), Segment((9.0, -1.0, 0.5), (14.0, 0.0, 0.5), 3)]],
-    [[Segment((14.0, 0.0, 0.5), (17.0, -4.0, 0.3), 3)]],
-    [[Segment((14.0, 0.0, 0.5), (19.0, 3.0, 0.3), 3)]],
-    [[Segment((3.0, 0.0, 0.6), (13.0, 3.0, 0.5), 3)]],
-    [[Segment((13.0, 3.0, 0.5), (19.0, 3.0, 0.3), 3)]],
-    [[Segment((13.0, 3.0, 0.5), (17.0, 8.0, 0.1), 3)]],
-    [[Segment((-3.0, 0.0, 1.5), (-5.5, -0.2, 0.5), 2), Segment((-5.5, -0.2, 0.5), (-14.5, -0.1, 0.5), 2)]],]
-ysoma_morph3 = representation.make_morph(tmp)
-
-tmp = [
-    [[Segment((0.0, 0.0, 1.0), (2.0, 0.0,  1.0), 1)], [Segment((-3.0, 0.0, 0.7), (0.0, 0.0, 1.0), 2)], [Segment((2.0, 0.0, 1.0), (20.0, 0.0, 1.0), 3)]],
-]
-swc_morph = representation.make_morph(tmp)
-
-
-############# locsets
-
-ls_root  = {'type': 'locset', 'value': [(0, 0.0)]}
-ls_term  = {'type': 'locset', 'value': [(1, 1.0), (3, 1.0), (4, 1.0), (5, 1.0)]}
-ls_rand_dend  = {'type': 'locset', 'value': [(0, 0.5547193370156588), (0, 0.5841758202819731), (0, 0.607192003545501), (0, 0.6181091003428546), (0, 0.6190845627201184), (0, 0.7027325639263277), (0, 0.7616129092226993), (0, 0.9645150497869694), (1, 0.15382287505908834), (1, 0.2594719824047551), (1, 0.28087652335178354), (1, 0.3729681478609085), (1, 0.3959560134241004), (1, 0.4629424550242548), (1, 0.47346867377446744), (1, 0.5493486883630476), (1, 0.6227685370674116), (1, 0.6362196581003494), (1, 0.6646511214508091), (1, 0.7157318936458146), (1, 0.7464198558822775), (1, 0.77074507802833), (1, 0.7860238136304932), (1, 0.8988928261704698), (1, 0.9581259332943499), (2, 0.12773985425987294), (2, 0.3365926476076694), (2, 0.44454300804769703), (2, 0.5409466695719178), (2, 0.5767511435223905), (2, 0.6340206909931745), (2, 0.6354772583375223), (2, 0.6807941995943213), (2, 0.774655947503608), (3, 0.05020708596877571), (3, 0.25581431877212274), (3, 0.2958305460715556), (3, 0.296698184761692), (3, 0.509669134988683), (3, 0.7662305637426007), (3, 0.8565839889923518), (3, 0.8889077221517746), (4, 0.24311286693286885), (4, 0.4354361205546333), (4, 0.4467752481260171), (4, 0.5308169153994543), (4, 0.5701465671464049), (4, 0.670081739879954), (4, 0.6995486862583797), (4, 0.8186709628604206), (4, 0.9141224600171143)]}
-ls_loc15  = {'type': 'locset', 'value': [(1, 0.5)]}
-ls_uniform0  = {'type': 'locset', 'value': [(0, 0.5841758202819731), (1, 0.6362196581003494), (1, 0.7157318936458146), (1, 0.7464198558822775), (2, 0.6340206909931745), (2, 0.6807941995943213), (3, 0.296698184761692), (3, 0.509669134988683), (3, 0.7662305637426007), (4, 0.5701465671464049)]}
-ls_uniform1  = {'type': 'locset', 'value': [(0, 0.9778060763285382), (1, 0.19973428495790843), (1, 0.8310607916260988), (2, 0.9210229159315735), (2, 0.9244292525837472), (2, 0.9899772550845479), (3, 0.9924233395972087), (4, 0.3641426305909531), (4, 0.4787812247064867), (4, 0.5138656268861914)]}
-ls_branchmid  = {'type': 'locset', 'value': [(0, 0.5), (1, 0.5), (2, 0.5), (3, 0.5), (4, 0.5), (5, 0.5)]}
-ls_distal  = {'type': 'locset', 'value': [(1, 0.796025976329944), (3, 0.6666666666666667), (4, 0.39052429175127), (5, 1.0)]}
-ls_proximal  = {'type': 'locset', 'value': [(1, 0.29602597632994393), (2, 0.0), (5, 0.6124999999999999)]}
-ls_distint_in  = {'type': 'locset', 'value': [(1, 0.5), (2, 0.7), (5, 0.1)]}
-ls_proxint_in  = {'type': 'locset', 'value': [(1, 0.8), (2, 0.3)]}
-ls_loctest  = {'type': 'locset', 'value': [(1, 1.0), (2, 0.0), (5, 0.0)]}
-ls_restrict  = {'type': 'locset', 'value': [(1, 1.0), (3, 1.0), (4, 1.0)]}
-
-############# regions
-
-reg_empty = {'type': 'region', 'value': []}
-reg_all = {'type': 'region', 'value': [(0, 0.0, 1.0), (1, 0.0, 1.0), (2, 0.0, 1.0), (3, 0.0, 1.0), (4, 0.0, 1.0), (5, 0.0, 1.0)]}
-reg_tag1 = {'type': 'region', 'value': [(0, 0.0, 0.3324708796524168)]}
-reg_tag2 = {'type': 'region', 'value': [(5, 0.0, 1.0)]}
-reg_tag3 = {'type': 'region', 'value': [(0, 0.3324708796524168, 1.0), (1, 0.0, 1.0), (2, 0.0, 1.0), (3, 0.0, 1.0), (4, 0.0, 1.0)]}
-reg_tag4 = {'type': 'region', 'value': []}
-reg_soma = {'type': 'region', 'value': [(0, 0.0, 0.3324708796524168)]}
-reg_axon = {'type': 'region', 'value': [(5, 0.0, 1.0)]}
-reg_dend = {'type': 'region', 'value': [(0, 0.3324708796524168, 1.0), (1, 0.0, 1.0), (2, 0.0, 1.0), (3, 0.0, 1.0), (4, 0.0, 1.0)]}
-reg_radlt5 = {'type': 'region', 'value': [(1, 0.44403896449491587, 1.0), (3, 0.0, 1.0), (4, 0.0, 1.0), (5, 0.65625, 1.0)]}
-reg_radle5 = {'type': 'region', 'value': [(1, 0.44403896449491587, 1.0), (2, 0.0, 1.0), (3, 0.0, 1.0), (4, 0.0, 1.0), (5, 0.65625, 1.0)]}
-reg_radgt5 = {'type': 'region', 'value': [(0, 0.0, 1.0), (1, 0.0, 0.44403896449491587), (5, 0.0, 0.65625)]}
-reg_radge5 = {'type': 'region', 'value': [(0, 0.0, 1.0), (1, 0.0, 0.44403896449491587), (2, 0.0, 1.0), (3, 0.0, 0.0), (4, 0.0, 0.0), (5, 0.0, 0.65625)]}
-reg_rad36 = {'type': 'region', 'value': [(1, 0.29602597632994393, 0.796025976329944), (2, 0.0, 1.0), (3, 0.0, 0.6666666666666667), (4, 0.0, 0.39052429175127), (5, 0.6124999999999999, 1.0)]}
-reg_branch0 = {'type': 'region', 'value': [(0, 0.0, 1.0)]}
-reg_branch3 = {'type': 'region', 'value': [(3, 0.0, 1.0)]}
-reg_cable_1_01 = {'type': 'region', 'value': [(1, 0.0, 1.0)]}
-reg_cable_1_31 = {'type': 'region', 'value': [(1, 0.3, 1.0)]}
-reg_cable_1_37 = {'type': 'region', 'value': [(1, 0.3, 0.7)]}
-reg_proxint = {'type': 'region', 'value': [(0, 0.7697564611867647, 1.0), (1, 0.4774887508467626, 0.8), (2, 0.0, 0.3)]}
-reg_proxintinf = {'type': 'region', 'value': [(0, 0.0, 1.0), (1, 0.0, 0.8), (2, 0.0, 0.3)]}
-reg_distint = {'type': 'region', 'value': [(1, 0.5, 0.8225112491532374), (2, 0.7, 1.0), (3, 0.0, 0.432615327328525), (4, 0.0, 0.3628424955125098), (5, 0.1, 0.6)]}
-reg_distintinf = {'type': 'region', 'value': [(1, 0.5, 1.0), (2, 0.7, 1.0), (3, 0.0, 1.0), (4, 0.0, 1.0), (5, 0.1, 1.0)]}
-reg_lhs = {'type': 'region', 'value': [(0, 0.5, 1.0), (1, 0.0, 0.5)]}
-reg_rhs = {'type': 'region', 'value': [(1, 0.0, 1.0)]}
-reg_and = {'type': 'region', 'value': [(1, 0.0, 0.5)]}
-reg_or = {'type': 'region', 'value': [(0, 0.5, 1.0), (1, 0.0, 1.0)]}
diff --git a/doc/scripts/make_images.py b/doc/scripts/make_images.py
index b1fbb2de2a1833c893b26d29e5fc4dfb81932a9d..da9f9d8936cf42994e2b98b5998e5bea2fc77e9e 100644
--- a/doc/scripts/make_images.py
+++ b/doc/scripts/make_images.py
@@ -269,6 +269,7 @@ def generate(path=''):
     label_image(inputs.label_morph, [inputs.reg_tag1, inputs.reg_tag2, inputs.reg_tag3], path+'/tag_label.svg')
     label_image(inputs.label_morph, [inputs.reg_tag1, inputs.reg_tag3], path+'/tag_label.svg')
     label_image(inputs.label_morph, [inputs.reg_branch0, inputs.reg_branch3], path+'/branch_label.svg')
+    label_image(inputs.label_morph, [inputs.reg_segment0, inputs.reg_segment3], path+'/segment_label.svg')
     label_image(inputs.label_morph, [inputs.reg_cable_1_01, inputs.reg_cable_1_31, inputs.reg_cable_1_37], path+'/cable_label.svg')
     label_image(inputs.label_morph, [inputs.ls_proxint_in, inputs.reg_proxint],    path+'/proxint_label.svg')
     label_image(inputs.label_morph, [inputs.ls_proxint_in, inputs.reg_proxintinf], path+'/proxintinf_label.svg')