From 9789b0ee7f052c64b84f0c090de4250b3578e6db Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Mon, 28 Mar 2022 13:02:17 +0200
Subject: [PATCH] added image

---
 slides/cours_20.md                           |  69 +++++++-
 slides/figs/quad_img_simple_comp_avg.svg     | 165 +++++++++++++++++++
 slides/figs/quad_img_simple_comp_loss.svg    | 161 ++++++++++++++++++
 slides/graphviz/quad_img_simple_comp_avg.dot |  18 ++
 4 files changed, 411 insertions(+), 2 deletions(-)
 create mode 100644 slides/figs/quad_img_simple_comp_avg.svg
 create mode 100644 slides/figs/quad_img_simple_comp_loss.svg
 create mode 100644 slides/graphviz/quad_img_simple_comp_avg.dot

diff --git a/slides/cours_20.md b/slides/cours_20.md
index 0a0c51a..511ced6 100644
--- a/slides/cours_20.md
+++ b/slides/cours_20.md
@@ -83,13 +83,13 @@ Son équivalent tri-dimensionnel est l'octree (chaque nœud a 8 enfants ou aucun
 
 ## Comment représenter l'image
 
-![Image noir/blanc.](figs/board_blacked_parts.svg)
+![Image noir/blanc (0/1).](figs/board_blacked_parts.svg)
 
 ::::
 
 :::: {.column width=70%}
 
-## Sous la forme d'un arbre quaternaire?
+## Sous la forme d'un arbre quaternaire (5min, matrix)?
 
 . . .
 
@@ -788,5 +788,70 @@ bool last_value(node *qt, int *val) {
     *val = info;
     return true;
 }
+```
+
+
+# Compression avec perte (1/N)
+
+## Idée générale
 
+* Regrouper les pixels par valeur sous certaines conditions
+
+```
+   SG=0  |  SD=1        SG=0   |  SD=1   
+ 21 | 12 | 4 |  3      21 | 12 |    4
+  9 |  7 | 4 |  4       9 |  7 |  
+-----------------  => ------------------
+  1 |  1 | 0 | 31         1    |  0 | 31
+  2 |  1 | 3 | 27              |  3 | 27
+   IG=2  |  ID=3        IG=2   |  ID=3
 ```
+
+* On enlève si l'écart à la moyenne est "petit"?
+
+# Compression avec perte (2/N)
+
+## Que devient l'arbre suivant si l'écart est petit?
+
+![](figs/quad_img_simple.svg)
+
+. . . 
+
+## Arbre compressé
+
+![](figs/quad_img_simple_comp_loss.svg)
+
+# Compression avec perte (3/N)
+
+## Comment mesurer l'écart à la moyenne?
+
+. . .
+
+* Avec l'écart-type
+
+\begin{equation*}
+\mu = \frac{1}{4}\sum_{i=0}^{3} p[i],\quad \sigma = \sqrt{\frac{1}{N}\sum_{i=0}^3 (\mu-p[i])
+^2}
+\end{equation*}
+
+## Que devient l'algorithme?
+
+. . .
+
+* Si $\sigma<\theta$, $\theta$ est la **tolérance**:
+    * Remplacer la valeur du pixel par la moyenne eds enfants.
+    * Remonter les valeurs dans l'arbre.
+
+## Quelle influence de la valeur de $\theta$ sur la compression?
+
+. . .
+
+* Plus $\theta$ est grand, plus l'image sera compressée.
+
+# Compression avec perte (4/N)
+
+## Que devient l'arbre avec $\theta=0.5$?
+
+. . .
+
+![Arbre compressé.](figs/quad_img_simple_comp_avg.svg)
diff --git a/slides/figs/quad_img_simple_comp_avg.svg b/slides/figs/quad_img_simple_comp_avg.svg
new file mode 100644
index 0000000..2912f48
--- /dev/null
+++ b/slides/figs/quad_img_simple_comp_avg.svg
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="582pt" height="211pt" viewBox="0.00 0.00 582.00 210.83" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 206.8313)">
+<title>G</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-206.8313 578,-206.8313 578,4 -4,4"/>
+<!-- 0 -->
+<g id="node1" class="node">
+<title>0</title>
+<ellipse fill="none" stroke="#000000" cx="286" cy="-184.8313" rx="27" ry="18"/>
+<text text-anchor="middle" x="286" y="-180.6313" font-family="Times,serif" font-size="14.00" fill="#000000"> </text>
+</g>
+<!-- sg1 -->
+<g id="node2" class="node">
+<title>sg1</title>
+<ellipse fill="none" stroke="#000000" cx="163" cy="-101.4156" rx="33.6754" ry="29.3315"/>
+<text text-anchor="middle" x="163" y="-105.6156" font-family="Times,serif" font-size="14.00" fill="#000000">12.25</text>
+<text text-anchor="middle" x="163" y="-88.8156" font-family="Times,serif" font-size="14.00" fill="#000000"> 5.36</text>
+</g>
+<!-- 0&#45;&gt;sg1 -->
+<g id="edge1" class="edge">
+<title>0-&gt;sg1</title>
+<path fill="none" stroke="#000000" d="M266.9039,-171.9899C250.6822,-161.0698 226.7895,-144.9585 206,-130.8313 203.4634,-129.1076 200.8445,-127.3245 198.2095,-125.528"/>
+<polygon fill="#000000" stroke="#000000" points="200.0521,-122.5481 189.8198,-119.8004 196.1053,-128.3293 200.0521,-122.5481"/>
+</g>
+<!-- sd1 -->
+<g id="node3" class="node">
+<title>sd1</title>
+<ellipse fill="none" stroke="#000000" cx="246" cy="-101.4156" rx="31.2258" ry="29.3315"/>
+<text text-anchor="middle" x="246" y="-105.6156" font-family="Times,serif" font-size="14.00" fill="#000000">3.75</text>
+<text text-anchor="middle" x="246" y="-88.8156" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.43</text>
+</g>
+<!-- 0&#45;&gt;sd1 -->
+<g id="edge2" class="edge">
+<title>0-&gt;sd1</title>
+<path fill="none" stroke="#000000" d="M277.712,-167.5475C273.5772,-158.925 268.4114,-148.1521 263.4571,-137.8205"/>
+<polygon fill="#000000" stroke="#000000" points="266.4822,-136.0343 259.0024,-128.5307 260.1704,-139.061 266.4822,-136.0343"/>
+</g>
+<!-- ig1 -->
+<g id="node4" class="node">
+<title>ig1</title>
+<ellipse fill="none" stroke="#000000" cx="326" cy="-101.4156" rx="31.2258" ry="29.3315"/>
+<text text-anchor="middle" x="326" y="-105.6156" font-family="Times,serif" font-size="14.00" fill="#000000">1.25</text>
+<text text-anchor="middle" x="326" y="-88.8156" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.43</text>
+</g>
+<!-- 0&#45;&gt;ig1 -->
+<g id="edge3" class="edge">
+<title>0-&gt;ig1</title>
+<path fill="none" stroke="#000000" d="M294.288,-167.5475C298.4228,-158.925 303.5886,-148.1521 308.5429,-137.8205"/>
+<polygon fill="#000000" stroke="#000000" points="311.8296,-139.061 312.9976,-128.5307 305.5178,-136.0343 311.8296,-139.061"/>
+</g>
+<!-- id1 -->
+<g id="node5" class="node">
+<title>id1</title>
+<ellipse fill="none" stroke="#000000" cx="411" cy="-101.4156" rx="36.125" ry="29.3315"/>
+<text text-anchor="middle" x="411" y="-105.6156" font-family="Times,serif" font-size="14.00" fill="#000000">15.25</text>
+<text text-anchor="middle" x="411" y="-88.8156" font-family="Times,serif" font-size="14.00" fill="#000000"> 13.86</text>
+</g>
+<!-- 0&#45;&gt;id1 -->
+<g id="edge4" class="edge">
+<title>0-&gt;id1</title>
+<path fill="none" stroke="#000000" d="M305.2573,-171.9804C323.5964,-159.7423 351.6784,-141.0024 374.2949,-125.9099"/>
+<polygon fill="#000000" stroke="#000000" points="376.2884,-128.7873 382.6636,-120.3252 372.4029,-122.9647 376.2884,-128.7873"/>
+</g>
+<!-- sg2 -->
+<g id="node6" class="node">
+<title>sg2</title>
+<ellipse fill="none" stroke="#000000" cx="27" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="27" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">21</text>
+</g>
+<!-- sg1&#45;&gt;sg2 -->
+<g id="edge5" class="edge">
+<title>sg1-&gt;sg2</title>
+<path fill="none" stroke="#000000" d="M135.4784,-84.5352C112.3184,-70.33 79.3088,-50.0836 55.7965,-35.6623"/>
+<polygon fill="#000000" stroke="#000000" points="57.3348,-32.5 46.9805,-30.255 53.6749,-38.467 57.3348,-32.5"/>
+</g>
+<!-- sd2 -->
+<g id="node7" class="node">
+<title>sd2</title>
+<ellipse fill="none" stroke="#000000" cx="99" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="99" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">12</text>
+</g>
+<!-- sg1&#45;&gt;sd2 -->
+<g id="edge6" class="edge">
+<title>sg1-&gt;sd2</title>
+<path fill="none" stroke="#000000" d="M144.144,-76.8394C135.8231,-65.9941 126.067,-53.2783 117.7574,-42.4479"/>
+<polygon fill="#000000" stroke="#000000" points="120.3226,-40.0414 111.4585,-34.238 114.7689,-44.3024 120.3226,-40.0414"/>
+</g>
+<!-- ig2 -->
+<g id="node8" class="node">
+<title>ig2</title>
+<ellipse fill="none" stroke="#000000" cx="171" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="171" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">9</text>
+</g>
+<!-- sg1&#45;&gt;ig2 -->
+<g id="edge7" class="edge">
+<title>sg1-&gt;ig2</title>
+<path fill="none" stroke="#000000" d="M165.843,-71.7715C166.6299,-63.5664 167.4822,-54.6796 168.263,-46.5388"/>
+<polygon fill="#000000" stroke="#000000" points="171.7659,-46.6751 169.2366,-36.3866 164.7979,-46.0067 171.7659,-46.6751"/>
+</g>
+<!-- id2 -->
+<g id="node9" class="node">
+<title>id2</title>
+<ellipse fill="none" stroke="#000000" cx="243" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="243" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">7</text>
+</g>
+<!-- sg1&#45;&gt;id2 -->
+<g id="edge8" class="edge">
+<title>sg1-&gt;id2</title>
+<path fill="none" stroke="#000000" d="M184.8604,-78.622C196.1694,-66.83 209.9328,-52.479 221.2289,-40.7006"/>
+<polygon fill="#000000" stroke="#000000" points="223.8495,-43.0247 228.2452,-33.3848 218.7974,-38.1795 223.8495,-43.0247"/>
+</g>
+<!-- sg5 -->
+<g id="node10" class="node">
+<title>sg5</title>
+<ellipse fill="none" stroke="#000000" cx="331" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="331" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
+</g>
+<!-- id1&#45;&gt;sg5 -->
+<g id="edge9" class="edge">
+<title>id1-&gt;sg5</title>
+<path fill="none" stroke="#000000" d="M388.7155,-78.1797C377.4137,-66.3954 363.7473,-52.1455 352.5506,-40.4707"/>
+<polygon fill="#000000" stroke="#000000" points="355.0469,-38.0171 345.5991,-33.2224 349.9948,-42.8623 355.0469,-38.0171"/>
+</g>
+<!-- sd5 -->
+<g id="node11" class="node">
+<title>sd5</title>
+<ellipse fill="none" stroke="#000000" cx="403" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="403" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">31</text>
+</g>
+<!-- id1&#45;&gt;sd5 -->
+<g id="edge10" class="edge">
+<title>id1-&gt;sd5</title>
+<path fill="none" stroke="#000000" d="M408.157,-71.7715C407.3701,-63.5664 406.5178,-54.6796 405.737,-46.5388"/>
+<polygon fill="#000000" stroke="#000000" points="409.2021,-46.0067 404.7634,-36.3866 402.2341,-46.6751 409.2021,-46.0067"/>
+</g>
+<!-- ig5 -->
+<g id="node12" class="node">
+<title>ig5</title>
+<ellipse fill="none" stroke="#000000" cx="475" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="475" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">3</text>
+</g>
+<!-- id1&#45;&gt;ig5 -->
+<g id="edge11" class="edge">
+<title>id1-&gt;ig5</title>
+<path fill="none" stroke="#000000" d="M430.2021,-76.3882C438.5112,-65.5583 448.1987,-52.932 456.4352,-42.1968"/>
+<polygon fill="#000000" stroke="#000000" points="459.3652,-44.1277 462.6756,-34.0633 453.8115,-39.8667 459.3652,-44.1277"/>
+</g>
+<!-- id5 -->
+<g id="node13" class="node">
+<title>id5</title>
+<ellipse fill="none" stroke="#000000" cx="547" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="547" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">27</text>
+</g>
+<!-- id1&#45;&gt;id5 -->
+<g id="edge12" class="edge">
+<title>id1-&gt;id5</title>
+<path fill="none" stroke="#000000" d="M439.8421,-83.7253C462.9705,-69.5395 495.2668,-49.7305 518.3455,-35.5753"/>
+<polygon fill="#000000" stroke="#000000" points="520.3114,-38.4754 527.0058,-30.2634 516.6515,-32.5084 520.3114,-38.4754"/>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/slides/figs/quad_img_simple_comp_loss.svg b/slides/figs/quad_img_simple_comp_loss.svg
new file mode 100644
index 0000000..c8972b1
--- /dev/null
+++ b/slides/figs/quad_img_simple_comp_loss.svg
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="568pt" height="188pt" viewBox="0.00 0.00 568.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
+<title>G</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-184 564,-184 564,4 -4,4"/>
+<!-- 0 -->
+<g id="node1" class="node">
+<title>0</title>
+<ellipse fill="none" stroke="#000000" cx="280" cy="-162" rx="27" ry="18"/>
+<text text-anchor="middle" x="280" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000"> </text>
+</g>
+<!-- sg1 -->
+<g id="node2" class="node">
+<title>sg1</title>
+<ellipse fill="none" stroke="#000000" cx="170" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="170" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">SG</text>
+</g>
+<!-- 0&#45;&gt;sg1 -->
+<g id="edge1" class="edge">
+<title>0-&gt;sg1</title>
+<path fill="none" stroke="#000000" d="M260.5874,-149.2936C243.258,-137.9507 217.6682,-121.201 198.1028,-108.3946"/>
+<polygon fill="#000000" stroke="#000000" points="199.8724,-105.3698 189.5885,-102.8216 196.0387,-111.2267 199.8724,-105.3698"/>
+</g>
+<!-- sd1 -->
+<g id="node3" class="node">
+<title>sd1</title>
+<ellipse fill="none" stroke="#000000" cx="243" cy="-90" rx="27.8725" ry="18"/>
+<text text-anchor="middle" x="243" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">3.75</text>
+</g>
+<!-- 0&#45;&gt;sd1 -->
+<g id="edge2" class="edge">
+<title>0-&gt;sd1</title>
+<path fill="none" stroke="#000000" d="M271.2315,-144.937C266.8721,-136.4537 261.5047,-126.0092 256.6247,-116.513"/>
+<polygon fill="#000000" stroke="#000000" points="259.6463,-114.7352 251.9626,-107.4407 253.4203,-117.9348 259.6463,-114.7352"/>
+</g>
+<!-- ig1 -->
+<g id="node4" class="node">
+<title>ig1</title>
+<ellipse fill="none" stroke="#000000" cx="317" cy="-90" rx="27.8725" ry="18"/>
+<text text-anchor="middle" x="317" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">1.25</text>
+</g>
+<!-- 0&#45;&gt;ig1 -->
+<g id="edge3" class="edge">
+<title>0-&gt;ig1</title>
+<path fill="none" stroke="#000000" d="M288.7685,-144.937C293.1279,-136.4537 298.4953,-126.0092 303.3753,-116.513"/>
+<polygon fill="#000000" stroke="#000000" points="306.5797,-117.9348 308.0374,-107.4407 300.3537,-114.7352 306.5797,-117.9348"/>
+</g>
+<!-- id1 -->
+<g id="node5" class="node">
+<title>id1</title>
+<ellipse fill="none" stroke="#000000" cx="390" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="390" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">ID</text>
+</g>
+<!-- 0&#45;&gt;id1 -->
+<g id="edge4" class="edge">
+<title>0-&gt;id1</title>
+<path fill="none" stroke="#000000" d="M299.4126,-149.2936C316.742,-137.9507 342.3318,-121.201 361.8972,-108.3946"/>
+<polygon fill="#000000" stroke="#000000" points="363.9613,-111.2267 370.4115,-102.8216 360.1276,-105.3698 363.9613,-111.2267"/>
+</g>
+<!-- sg2 -->
+<g id="node6" class="node">
+<title>sg2</title>
+<ellipse fill="none" stroke="#000000" cx="27" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="27" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">21</text>
+</g>
+<!-- sg1&#45;&gt;sg2 -->
+<g id="edge5" class="edge">
+<title>sg1-&gt;sg2</title>
+<path fill="none" stroke="#000000" d="M148.2814,-79.0647C124.2386,-66.9593 85.287,-47.3473 58.032,-33.6245"/>
+<polygon fill="#000000" stroke="#000000" points="59.4288,-30.4092 48.923,-29.0382 56.2808,-36.6614 59.4288,-30.4092"/>
+</g>
+<!-- sd2 -->
+<g id="node7" class="node">
+<title>sd2</title>
+<ellipse fill="none" stroke="#000000" cx="99" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="99" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">12</text>
+</g>
+<!-- sg1&#45;&gt;sd2 -->
+<g id="edge6" class="edge">
+<title>sg1-&gt;sd2</title>
+<path fill="none" stroke="#000000" d="M154.9427,-74.7307C145.153,-64.803 132.2169,-51.6847 121.2503,-40.5637"/>
+<polygon fill="#000000" stroke="#000000" points="123.5492,-37.9102 114.0356,-33.2473 118.5649,-42.8252 123.5492,-37.9102"/>
+</g>
+<!-- ig2 -->
+<g id="node8" class="node">
+<title>ig2</title>
+<ellipse fill="none" stroke="#000000" cx="171" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="171" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">9</text>
+</g>
+<!-- sg1&#45;&gt;ig2 -->
+<g id="edge7" class="edge">
+<title>sg1-&gt;ig2</title>
+<path fill="none" stroke="#000000" d="M170.2523,-71.8314C170.3593,-64.131 170.4865,-54.9743 170.6053,-46.4166"/>
+<polygon fill="#000000" stroke="#000000" points="174.1049,-46.4609 170.7443,-36.4133 167.1056,-46.3637 174.1049,-46.4609"/>
+</g>
+<!-- id2 -->
+<g id="node9" class="node">
+<title>id2</title>
+<ellipse fill="none" stroke="#000000" cx="243" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="243" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">7</text>
+</g>
+<!-- sg1&#45;&gt;id2 -->
+<g id="edge8" class="edge">
+<title>sg1-&gt;id2</title>
+<path fill="none" stroke="#000000" d="M185.1256,-75.0816C195.3345,-65.0125 208.9878,-51.5463 220.4693,-40.2221"/>
+<polygon fill="#000000" stroke="#000000" points="222.9806,-42.6611 227.6426,-33.147 218.0651,-37.6773 222.9806,-42.6611"/>
+</g>
+<!-- sg5 -->
+<g id="node10" class="node">
+<title>sg5</title>
+<ellipse fill="none" stroke="#000000" cx="317" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="317" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">0</text>
+</g>
+<!-- id1&#45;&gt;sg5 -->
+<g id="edge9" class="edge">
+<title>id1-&gt;sg5</title>
+<path fill="none" stroke="#000000" d="M374.8744,-75.0816C364.6655,-65.0125 351.0122,-51.5463 339.5307,-40.2221"/>
+<polygon fill="#000000" stroke="#000000" points="341.9349,-37.6773 332.3574,-33.147 337.0194,-42.6611 341.9349,-37.6773"/>
+</g>
+<!-- sd5 -->
+<g id="node11" class="node">
+<title>sd5</title>
+<ellipse fill="none" stroke="#000000" cx="389" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="389" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">31</text>
+</g>
+<!-- id1&#45;&gt;sd5 -->
+<g id="edge10" class="edge">
+<title>id1-&gt;sd5</title>
+<path fill="none" stroke="#000000" d="M389.7477,-71.8314C389.6407,-64.131 389.5135,-54.9743 389.3947,-46.4166"/>
+<polygon fill="#000000" stroke="#000000" points="392.8944,-46.3637 389.2557,-36.4133 385.8951,-46.4609 392.8944,-46.3637"/>
+</g>
+<!-- ig5 -->
+<g id="node12" class="node">
+<title>ig5</title>
+<ellipse fill="none" stroke="#000000" cx="461" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="461" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">3</text>
+</g>
+<!-- id1&#45;&gt;ig5 -->
+<g id="edge11" class="edge">
+<title>id1-&gt;ig5</title>
+<path fill="none" stroke="#000000" d="M405.0573,-74.7307C414.847,-64.803 427.7831,-51.6847 438.7497,-40.5637"/>
+<polygon fill="#000000" stroke="#000000" points="441.4351,-42.8252 445.9644,-33.2473 436.4508,-37.9102 441.4351,-42.8252"/>
+</g>
+<!-- id5 -->
+<g id="node13" class="node">
+<title>id5</title>
+<ellipse fill="none" stroke="#000000" cx="533" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="533" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">27</text>
+</g>
+<!-- id1&#45;&gt;id5 -->
+<g id="edge12" class="edge">
+<title>id1-&gt;id5</title>
+<path fill="none" stroke="#000000" d="M411.7186,-79.0647C435.7614,-66.9593 474.713,-47.3473 501.968,-33.6245"/>
+<polygon fill="#000000" stroke="#000000" points="503.7192,-36.6614 511.077,-29.0382 500.5712,-30.4092 503.7192,-36.6614"/>
+</g>
+</g>
+</svg>
\ No newline at end of file
diff --git a/slides/graphviz/quad_img_simple_comp_avg.dot b/slides/graphviz/quad_img_simple_comp_avg.dot
new file mode 100644
index 0000000..668fe9a
--- /dev/null
+++ b/slides/graphviz/quad_img_simple_comp_avg.dot
@@ -0,0 +1,18 @@
+digraph G {
+    0 [label=" "]
+    sg1 [label="12.25\n 5.36"]
+    sd1 [label="3.75\n 0.43"]
+    ig1 [label="1.25\n 0.43"]
+    id1 [label="15.25\n 13.86"]
+    sg2 [label="21"]
+    sd2 [label="12"]
+    ig2 [label="9"]
+    id2 [label="7"]
+    sg5 [label="0"]
+    sd5 [label="31"]
+    ig5 [label="3"]
+    id5 [label="27"]
+  0->{sg1, sd1, ig1, id1}  [quadtree = "normal"]
+  sg1->{sg2, sd2, ig2, id2}  [quadtree = "normal"]
+  id1->{sg5, sd5, ig5, id5}  [quadtree = "normal"]
+}
-- 
GitLab