benchmarks comparing the rust image processing ecosystem
dark theme
bendn 2023-11-06
parent 504dc6c · commit 863bfab
-rw-r--r--affine.svg2
-rw-r--r--blur.svg2
-rw-r--r--drawing.svg2
-rw-r--r--resizing.svg2
4 files changed, 4 insertions, 4 deletions
diff --git a/affine.svg b/affine.svg
index 0baa667..38035d8 100644
--- a/affine.svg
+++ b/affine.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#fff" d="M0 0h600v480H0z"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 444h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 389.57h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 393.47)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 335.15h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 339.05)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 280.72h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 284.62)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 226.29h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 230.19)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 171.86h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 175.76)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 117.44h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 121.34)"><tspan> 1.2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M106.09 63.01h9m459.73 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 66.91)"><tspan> 1.4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M184.21 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(184.21 465.9)"><tspan>270 degrees</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M262.33 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(262.33 465.9)"><tspan>180 degrees</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M340.46 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(340.46 465.9)"><tspan>90 degrees</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M418.58 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(418.58 465.9)"><tspan>flip h</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M496.7 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(496.7 465.9)"><tspan>flip v</tspan></text></g><path fill="none" stroke="#000" d="M106.09 63.01V444h468.73V63.01H106.09Z" color="#000"/><text color="#000" font-family="Arial" font-size="12" text-anchor="middle" transform="rotate(-90 136.345 117.165)"><tspan>cycles</tspan></text><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 84.91)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M515.48 85.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 85.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M158.17 444h26.05V217.77h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M158.17 444V217.78h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M236.29 444h26.05V296.63h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M236.29 444V296.64h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M314.41 444h26.06V165.65h-26.06z" shape-rendering="crispEdges"/><path stroke="#000" d="M314.41 444V165.66h26.05V444h-26.05Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M392.54 444h26.05V310.26h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M392.54 444V310.27h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M470.66 444h26.05V310.26h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M470.66 444V310.27h26.04V444h-26.04Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 102.91)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M515.48 103.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 103.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M184.21 444h26.05V83.03h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M184.21 444V83.04h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M262.33 444h26.05V122.08h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M262.33 444V122.09h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M340.46 444h26.05V123.05h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M340.46 444V123.06h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M418.58 444h26.05V122.09h-26.05z" shape-rendering="crispEdges"/><path stroke="#000" d="M418.58 444V122.1h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M496.7 444h26.05V146.09H496.7z" shape-rendering="crispEdges"/><path stroke="#000" d="M496.7 444V146.1h26.04V444H496.7Z"/></g><path fill="none" stroke="#000" d="M106.09 63.01V444h468.73V63.01H106.09Z" color="#000"/><text color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(340.45 32.86)"><tspan>affine</tspan></text></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#0d1117" d="M0 0h600v480H0z"/><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 444h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 389.57h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 393.47)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 335.15h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 339.05)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 280.72h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 284.62)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 226.29h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 230.19)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">8</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 171.86h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 175.76)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 117.44h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 121.34)"><tspan> 1.2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M106.09 63.01h9m459.73 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(97.7 66.91)"><tspan> 1.4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M184.21 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(184.21 465.9)"><tspan>270 degrees</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M262.33 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(262.33 465.9)"><tspan>180 degrees</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M340.46 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(340.46 465.9)"><tspan>90 degrees</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M418.58 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(418.58 465.9)"><tspan>flip h</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M496.7 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(496.7 465.9)"><tspan>flip v</tspan></text></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M106.09 63.01V444h468.73V63.01H106.09Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 137.32 116.19)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M508.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M158.17 444h26.05V217.77h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M158.17 444V217.78h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M236.29 444h26.05V296.63h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M236.29 444V296.64h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M314.41 444h26.06V165.65h-26.06z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M314.41 444V165.66h26.05V444h-26.05Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M392.54 444h26.05V310.26h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M392.54 444V310.27h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M470.66 444h26.05V310.26h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M470.66 444V310.27h26.04V444h-26.04Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M508.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M184.21 444h26.05V83.03h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M184.21 444V83.04h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M262.33 444h26.05V122.08h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M262.33 444V122.09h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M340.46 444h26.05V123.05h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M340.46 444V123.06h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M418.58 444h26.05V122.09h-26.05z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M418.58 444V122.1h26.04V444h-26.04Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M496.7 444h26.05V146.09H496.7z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M496.7 444V146.1h26.04V444H496.7Z"/></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M106.09 63.01V444h468.73V63.01H106.09Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(340.45 32.86)"><tspan>affine</tspan></text></svg> \ No newline at end of file
diff --git a/blur.svg b/blur.svg
index 5481922..240a350 100644
--- a/blur.svg
+++ b/blur.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="400" height="480"><path fill="#fff" d="M0 0h400v480H0z"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 444h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 396.38h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 400.28)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 348.75h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 352.65)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 301.13h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 305.03)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 253.5h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 257.4)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 205.88h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 209.78)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 158.26h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 162.16)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 110.63h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 114.53)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 63.01h9m276.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(89.31 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M160.69 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(160.69 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M232.07 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(232.07 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M303.44 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(303.44 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M374.82 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(374.82 465.9)"><tspan> </tspan></text></g><path fill="none" stroke="#000" d="M89.31 63.01V444h285.51V63.01H89.31Z" color="#000"/><text color="#000" font-family="Arial" font-size="12" text-anchor="middle" transform="rotate(-90 136.345 117.165)"><tspan>cycles</tspan></text><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(307.09 84.91)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M315.48 85.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M315.48 85.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M174.96 444h28.56v-32.14h-28.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M174.96 444v-32.13h28.55V444h-28.55Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(307.09 102.91)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M315.48 103.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M315.48 103.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M203.51 444h28.57V136.74h-28.57z" shape-rendering="crispEdges"/><path stroke="#000" d="M203.51 444V136.75h28.56V444h-28.56Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(307.09 120.91)"><tspan>image</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#56B4E9" stroke="none" d="M315.48 121.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M315.48 121.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#56B4E9" stroke="none" d="M232.07 444h28.56V96.66h-28.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M232.07 444V96.67h28.55V444h-28.55Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(307.09 138.91)"><tspan>blud</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#E69F00" stroke="none" d="M315.48 139.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M315.48 139.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#E69F00" stroke="none" d="M260.62 444h28.56v-32.28h-28.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M260.62 444v-32.27h28.55V444h-28.55Z"/></g><path fill="none" stroke="#000" d="M89.31 63.01V444h285.51V63.01H89.31Z" color="#000"/><text color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(232.06 32.86)"><tspan>gaussian blur</tspan></text></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" width="480" height="480"><path fill="#0d1117" d="M0 0h480v480H0z"/><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 444h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 396.38h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 400.28)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 348.75h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 352.65)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 301.13h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 305.03)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 253.5h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 257.4)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 205.88h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 209.78)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 158.26h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 162.16)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 110.63h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 114.53)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 63.01h9m356.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(89.31 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M180.69 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(180.69 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M272.07 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(272.07 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M363.44 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(363.44 465.9)"><tspan> </tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M454.82 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(454.82 465.9)"><tspan> </tspan></text></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M89.31 63.01V444h365.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 137.32 116.19)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M388.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M180.69 444h45.7v-32.14h-45.7z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M180.69 444v-32.13h45.69V444h-45.69Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M388.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M226.38 444h45.7V136.74h-45.7z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M226.38 444V136.75h45.69V444h-45.69Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 129.06)"><tspan>image</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M388.48 129.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 129.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M272.07 444h45.69V96.66h-45.69z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M272.07 444V96.67h45.68V444h-45.68Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(378.69 150.06)"><tspan>blud</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#F27983" stroke="none" d="M388.48 150.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M388.48 150.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#F27983" stroke="none" d="M317.75 444h45.7v-32.28h-45.7z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M317.75 444v-32.27h45.69V444h-45.69Z"/></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M89.31 63.01V444h365.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(272.06 32.86)"><tspan>gaussian blur</tspan></text></svg> \ No newline at end of file
diff --git a/drawing.svg b/drawing.svg
index 0161202..30eec1e 100644
--- a/drawing.svg
+++ b/drawing.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#fff" d="M0 0h600v480H0z"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 444h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 389.57h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 393.47)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 335.15h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 339.05)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 280.72h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 284.62)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 226.29h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 230.19)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 171.86h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 175.76)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 117.44h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 121.34)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M89.31 63.01h9m476.51 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M186.41 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(186.41 465.9)"><tspan>tri</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M283.51 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(283.51 465.9)"><tspan>circle filled</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M380.62 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(380.62 465.9)"><tspan>hollow circle</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M477.72 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(477.72 465.9)"><tspan>line</tspan></text></g><path fill="none" stroke="#000" d="M89.31 63.01V444h485.51V63.01H89.31Z" color="#000"/><text color="#000" font-family="Arial" font-size="12" text-anchor="middle" transform="rotate(-90 136.345 117.165)"><tspan>cycles</tspan></text><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 84.91)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M515.48 85.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 85.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M154.04 444h32.38v-81.68h-32.38z" shape-rendering="crispEdges"/><path stroke="#000" d="M154.04 444v-81.67h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M251.15 444h32.37v-73.84h-32.37z" shape-rendering="crispEdges"/><path stroke="#000" d="M251.15 444v-73.83h32.36V444h-32.36Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M348.25 444h32.38v-26.31h-32.38z" shape-rendering="crispEdges"/><path stroke="#000" d="M348.25 444v-26.3h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M445.35 444h32.38v-7.32h-32.38z" shape-rendering="crispEdges"/><path stroke="#000" d="M445.35 444v-7.31h32.37V444h-32.37Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 102.91)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M515.48 103.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 103.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M186.41 444h32.38v-42.16h-32.38z" shape-rendering="crispEdges"/><path stroke="#000" d="M186.41 444v-42.15h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M283.51 444h32.38V78.07h-32.38z" shape-rendering="crispEdges"/><path stroke="#000" d="M283.51 444V78.08h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M380.62 444h32.37v-49.55h-32.37z" shape-rendering="crispEdges"/><path stroke="#000" d="M380.62 444v-49.54h32.36V444h-32.36Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M477.72 444h32.38v-23.77h-32.38z" shape-rendering="crispEdges"/><path stroke="#000" d="M477.72 444v-23.76h32.37V444h-32.37Z"/></g><path fill="none" stroke="#000" d="M89.31 63.01V444h485.51V63.01H89.31Z" color="#000"/><text color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(332.06 32.86)"><tspan>drawing</tspan></text></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#0d1117" d="M0 0h600v480H0z"/><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 444h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 389.57h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 393.47)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 335.15h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 339.05)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 280.72h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 284.62)"><tspan> 3x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 226.29h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 230.19)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 171.86h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 175.76)"><tspan> 5x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 117.44h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 121.34)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M89.31 63.01h9m476.51 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(80.92 66.91)"><tspan> 7x10</tspan><tspan dy="-6" font-size="9.6">7</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M186.41 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(186.41 465.9)"><tspan>tri</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M283.51 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(283.51 465.9)"><tspan>circle filled</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M380.62 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(380.62 465.9)"><tspan>hollow circle</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M477.72 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(477.72 465.9)"><tspan>line</tspan></text></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M89.31 63.01V444h485.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 137.32 116.19)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M508.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M154.04 444h32.38v-81.68h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M154.04 444v-81.67h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M251.15 444h32.37v-73.84h-32.37z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M251.15 444v-73.83h32.36V444h-32.36Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M348.25 444h32.38v-26.31h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M348.25 444v-26.3h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M445.35 444h32.38v-6.64h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M445.35 444v-6.63h32.37V444h-32.37Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M508.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M186.41 444h32.38v-42.16h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M186.41 444v-42.15h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M283.51 444h32.38V78.07h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M283.51 444V78.08h32.37V444h-32.37Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M380.62 444h32.37v-49.55h-32.37z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M380.62 444v-49.54h32.36V444h-32.36Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M477.72 444h32.38v-23.77h-32.38z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M477.72 444v-23.76h32.37V444h-32.37Z"/></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M89.31 63.01V444h485.51V63.01H89.31Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(332.06 32.86)"><tspan>drawing</tspan></text></svg> \ No newline at end of file
diff --git a/resizing.svg b/resizing.svg
index 7738c10..0a113d7 100644
--- a/resizing.svg
+++ b/resizing.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#fff" d="M0 0h600v480H0z"/><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 444h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 380.5h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 384.4)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 317h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 320.9)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 253.5h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 257.4)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 190.01h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 193.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 126.51h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 130.41)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M114.48 63.01h9m451.34 0h-9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 66.91)"><tspan> 1.2x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M229.57 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(229.57 465.9)"><tspan>lanczos3</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M344.65 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(344.65 465.9)"><tspan>catmull</tspan></text></g><g fill="none" stroke="currentColor" color="#000"><path stroke="#000" d="M459.74 444v-9m0-371.99v9"/><text fill="#000" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(459.74 465.9)"><tspan>nearest</tspan></text></g><path fill="none" stroke="#000" d="M114.48 63.01V444h460.34V63.01H114.48Z" color="#000"/><text color="#000" font-family="Arial" font-size="12" text-anchor="middle" transform="rotate(-90 136.345 117.165)"><tspan>cycles</tspan></text><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 84.91)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M515.48 85.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 85.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M186.41 444h28.78v-53.53h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M186.41 444v-53.52h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M301.49 444h28.78v-43.95h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M301.49 444v-43.94h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#9400D3" stroke="none" d="M416.58 444h28.78v-7.81h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M416.58 444v-7.8h28.77v7.8h-28.77Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 102.91)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M515.48 103.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 103.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M215.18 444h28.78V71.82h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M215.18 444V71.83h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M330.26 444h28.79V166.29h-28.79z" shape-rendering="crispEdges"/><path stroke="#000" d="M330.26 444V166.3h28.78V444h-28.78Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#009E73" stroke="none" d="M445.35 444h28.78V332.24h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M445.35 444V332.25h28.77V444h-28.77Z"/></g><text color="#000" font-family="Arial" font-size="12" text-anchor="end" transform="translate(507.09 120.91)"><tspan>resize</tspan></text><g fill="none" stroke="currentColor" color="#000"><path fill="#56B4E9" stroke="none" d="M515.48 121.51h42.56v-9h-42.56z" shape-rendering="crispEdges"/><path stroke="#000" d="M515.48 121.51h42.56v-9h-42.56v9Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#56B4E9" stroke="none" d="M243.95 444h28.78V203.79h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M243.95 444V203.8h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" color="#000"><path fill="#56B4E9" stroke="none" d="M359.04 444h28.78V270.9h-28.78z" shape-rendering="crispEdges"/><path stroke="#000" d="M359.04 444V270.91h28.77V444h-28.77Z"/></g><path fill="none" stroke="#000" d="M114.48 63.01V444h460.34V63.01H114.48Z" color="#000"/><text color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(344.65 32.86)"><tspan>resizing</tspan></text></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" width="600" height="480"><path fill="#0d1117" d="M0 0h600v480H0z"/><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 444h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 447.9)"><tspan> 0</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 380.5h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 384.4)"><tspan> 2x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 317h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 320.9)"><tspan> 4x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 253.5h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 257.4)"><tspan> 6x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 190.01h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 193.91)"><tspan> 8x10</tspan><tspan dy="-6" font-size="9.6">9</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 126.51h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 130.41)"><tspan> 1x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M114.48 63.01h9m451.34 0h-9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="end" transform="translate(106.09 66.91)"><tspan> 1.2x10</tspan><tspan dy="-6" font-size="9.6">10</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M229.57 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(229.57 465.9)"><tspan>lanczos3</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M344.65 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(344.65 465.9)"><tspan>catmull</tspan></text></g><g fill="none" stroke="currentColor" stroke-width="3" color="#000"><path stroke="#E6EDF3" d="M459.74 444v-9m0-371.99v9"/><text fill="#E6EDF3" stroke="none" font-family="Arial" font-size="12" text-anchor="middle" transform="translate(459.74 465.9)"><tspan>nearest</tspan></text></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M114.48 63.01V444h460.34V63.01H114.48Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="rotate(-90 137.32 116.19)"><tspan>cycles</tspan></text><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 87.06)"><tspan>fimg</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M508.48 87.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 87.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M186.41 444h28.78v-53.53h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M186.41 444v-53.52h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M301.49 444h28.78v-43.95h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M301.49 444v-43.94h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#73D0FF" stroke="none" d="M416.58 444h28.78v-7.81h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M416.58 444v-7.8h28.77v7.8h-28.77Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 108.06)"><tspan>imgproc</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M508.48 108.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 108.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M215.18 444h28.78V71.82h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M215.18 444V71.83h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M330.26 444h28.79V166.29h-28.79z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M330.26 444V166.3h28.78V444h-28.78Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#FFD173" stroke="none" d="M445.35 444h28.78V332.24h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M445.35 444V332.25h28.77V444h-28.77Z"/></g><text fill="#E6EDF3" stroke-width="2" color="#000" font-family="Verdana" font-size="14" text-anchor="end" transform="translate(498.69 129.06)"><tspan>resize</tspan></text><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M508.48 129.76h48.16v-10.5h-48.16z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M508.48 129.76h48.16v-10.5h-48.16v10.5Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M243.95 444h28.78V203.79h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M243.95 444V203.8h28.77V444h-28.77Z"/></g><g fill="none" stroke="currentColor" stroke-width="2" color="#000"><path fill="#D5FF80" stroke="none" d="M359.04 444h28.78V270.9h-28.78z" shape-rendering="crispEdges"/><path stroke="#1A1F29" d="M359.04 444V270.91h28.77V444h-28.77Z"/></g><path fill="none" stroke="#E6EDF3" stroke-width="3" d="M114.48 63.01V444h460.34V63.01H114.48Z" color="#000"/><text fill="#E6EDF3" stroke-width="3" color="#000" font-family="Verdana" font-size="18" text-anchor="middle" transform="translate(344.65 32.86)"><tspan>resizing</tspan></text></svg> \ No newline at end of file