2299 lines
137 KiB
XML
2299 lines
137 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
|
|
<svg
|
|
width="344.94019mm"
|
|
height="241.99199mm"
|
|
viewBox="0 0 344.94018 241.99199"
|
|
version="1.1"
|
|
id="svg5"
|
|
xml:space="preserve"
|
|
inkscape:version="1.4.2 (1:1.4.2+202505120737+ebf0e940d0)"
|
|
sodipodi:docname="SoftwareDiagram.svg"
|
|
inkscape:export-filename="SoftwareDiagram.png"
|
|
inkscape:export-xdpi="220.90787"
|
|
inkscape:export-ydpi="220.90787"
|
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
|
id="namedview7"
|
|
pagecolor="#ffffff"
|
|
bordercolor="#666666"
|
|
borderopacity="1.0"
|
|
inkscape:showpageshadow="2"
|
|
inkscape:pageopacity="0.0"
|
|
inkscape:pagecheckerboard="0"
|
|
inkscape:deskcolor="#d1d1d1"
|
|
inkscape:document-units="mm"
|
|
showgrid="false"
|
|
inkscape:current-layer="g2-2-2"
|
|
showguides="true"
|
|
inkscape:export-bgcolor="#ffffffff"><inkscape:grid
|
|
type="xygrid"
|
|
id="grid9959"
|
|
originx="-7.9935483"
|
|
originy="4.8632749"
|
|
spacingy="1"
|
|
spacingx="1"
|
|
units="mm"
|
|
visible="false" /><inkscape:page
|
|
x="7.0732824e-08"
|
|
y="6.4144771e-08"
|
|
width="344.94019"
|
|
height="241.99199"
|
|
id="page13"
|
|
margin="0"
|
|
bleed="0" /></sodipodi:namedview><defs
|
|
id="defs2"><marker
|
|
style="overflow:visible"
|
|
id="Arrow3"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><rect
|
|
x="-94.48819"
|
|
y="75.590553"
|
|
width="548.03149"
|
|
height="302.36221"
|
|
id="rect13135" /><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-6"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-7"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-6-3"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-7-5"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-6-3-2"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-7-5-9"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-2"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-70"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-6-9"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-7-3"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-7"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-5"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-7-8"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-5-9"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><style
|
|
id="style72">.cls-1{fill:#e24329;}.cls-2{fill:#fc6d26;}.cls-3{fill:#fca326;}</style><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-6-3-5"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-7-5-0"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker><marker
|
|
style="overflow:visible"
|
|
id="Arrow3-6-3-2-3"
|
|
refX="0"
|
|
refY="0"
|
|
orient="auto-start-reverse"
|
|
inkscape:stockid="Arrow3"
|
|
markerWidth="4.2071066"
|
|
markerHeight="6.9999995"
|
|
viewBox="0 0 4.2071068 7"
|
|
inkscape:isstock="true"
|
|
inkscape:collect="always"
|
|
preserveAspectRatio="xMidYMid"><path
|
|
style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:round"
|
|
d="M 3,-3 0,0 3,3"
|
|
id="arrow3-7-5-9-6"
|
|
transform="rotate(180,0.125,0)"
|
|
sodipodi:nodetypes="ccc" /></marker></defs><g
|
|
inkscape:label="Layer 1"
|
|
inkscape:groupmode="layer"
|
|
id="layer1"
|
|
transform="translate(-7.9935485,4.8632748)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#7e7e7e;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:1, 2.00001;stroke-dashoffset:0;stroke-opacity:1"
|
|
id="rect234-7-6-6"
|
|
width="58.063263"
|
|
height="111.95364"
|
|
x="219.1615"
|
|
y="54.076134"
|
|
ry="0" /><rect
|
|
style="fill:none;fill-opacity:1;stroke:#ff2222;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:1, 2.00002;stroke-dashoffset:0;stroke-opacity:1"
|
|
id="rect234-7-6-6-3"
|
|
width="249.64281"
|
|
height="118.03572"
|
|
x="95.254944"
|
|
y="50.436325"
|
|
ry="0" /><rect
|
|
style="fill:none;fill-opacity:1;stroke:#ff2222;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:1, 2;stroke-dashoffset:1.6;stroke-opacity:1"
|
|
id="rect234-7-6-6-3-1"
|
|
width="43.938206"
|
|
height="17.829006"
|
|
x="95.254944"
|
|
y="150.64304"
|
|
ry="0" /><g
|
|
id="g15301-3-6"
|
|
transform="translate(16.693936,85.582305)"><g
|
|
id="g13141-2-6-2-3"
|
|
transform="translate(125.76745,-12.807905)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.500004;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-7-1-2-1"
|
|
width="49.381409"
|
|
height="29.416882"
|
|
x="80"
|
|
y="52.116669"
|
|
ry="0.78370988" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:40.8713;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-8-8-9"
|
|
transform="translate(60.287356,5.4163737)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan14">Other "Things"</tspan></text><g
|
|
id="g2-8-8"
|
|
transform="translate(13.169261,-126.54738)"><g
|
|
id="LOGO-5-3"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.91034,178.83736)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-741-1"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-8-8"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-5-9"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-9-6"
|
|
style="fill:#fc6d26" /></g><rect
|
|
style="fill:none;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke"
|
|
id="rect1-7-4"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="103.20403"
|
|
y="180.30244"
|
|
ry="1.3326334" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-5-3"
|
|
transform="matrix(1.9854168,0,0,1.9854168,67.602161,86.046892)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan15">...</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:32.511;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-8-8-9-6"
|
|
transform="translate(60.287356,8.9441436)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan16">Others things, can be </tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan17">installed defined in any </tspan><tspan
|
|
x="21.304592"
|
|
y="57.290466"
|
|
id="tspan18">installed python </tspan><tspan
|
|
x="21.304592"
|
|
y="60.818241"
|
|
id="tspan52">package, and included in </tspan><tspan
|
|
x="21.304592"
|
|
y="64.346016"
|
|
id="tspan53">the config. As of yet </tspan><tspan
|
|
x="21.304592"
|
|
y="67.873794"
|
|
id="tspan54">there is no way to define </tspan><tspan
|
|
x="21.304592"
|
|
y="71.401573"
|
|
id="tspan55">a UI</tspan></text></g></g><g
|
|
id="g15301-3-6-7"
|
|
transform="translate(16.648088,39.71398)"><g
|
|
id="g13141-2-6-2-3-0"
|
|
transform="translate(125.76745,-13.095733)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.500004;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-7-1-2-1-9"
|
|
width="49.381409"
|
|
height="36.900429"
|
|
x="80"
|
|
y="52.116665"
|
|
ry="0.98308277" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:40.8713;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-8-8-9-3"
|
|
transform="translate(60.287356,5.4163737)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan56">Things</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:32.511;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-8-8-9-6-2"
|
|
transform="translate(60.287356,8.9441436)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan57">Except for during start </tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan58">up all functionality is </tspan><tspan
|
|
x="21.304592"
|
|
y="57.290466"
|
|
id="tspan59">defined either within </tspan><tspan
|
|
x="21.304592"
|
|
y="60.818241"
|
|
id="tspan60">"Things" or in code </tspan><tspan
|
|
x="21.304592"
|
|
y="64.346016"
|
|
id="tspan61">called by Things.
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="67.873794"
|
|
id="tspan62">
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="71.401573"
|
|
id="tspan63">Things communicate </tspan><tspan
|
|
x="21.304592"
|
|
y="74.929352"
|
|
id="tspan64">with each other via </tspan><tspan
|
|
x="21.304592"
|
|
y="78.45713"
|
|
id="tspan78">thing_slots.</tspan></text><a
|
|
id="a26"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-microscope-server"><g
|
|
id="g2-8"
|
|
transform="translate(13.377604,-123.85228)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-7"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-5"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-741"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-8"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-5"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-9"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-5"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan79">1</tspan></text></g></a></g></g><g
|
|
id="g13141"
|
|
transform="translate(17.78657,18.778472)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#9c7efa;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
|
|
id="rect234-7"
|
|
width="37.75"
|
|
height="20.467146"
|
|
x="80"
|
|
y="52.116669"
|
|
ry="2.1319942" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:33.3205;display:inline;fill:#9c7efa;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35"
|
|
transform="translate(63.374919,6.963966)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan80">Uvicorn,
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan81">An Async Sever </tspan><tspan
|
|
x="21.304592"
|
|
y="59.054343"
|
|
id="tspan82">Gateway Interface </tspan><tspan
|
|
x="21.304592"
|
|
y="63.464057"
|
|
id="tspan83">(ASGI) web server</tspan></text></g><text
|
|
xml:space="preserve"
|
|
transform="scale(0.26458333)"
|
|
id="text13133"
|
|
style="font-size:13.3333px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:center;letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect13135);display:inline" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#7e7e7e;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2"
|
|
transform="translate(199.77192,8.3318452)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan117">Things</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#7e7e7e;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-1"
|
|
transform="translate(263.35597,8.8016102)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan118">Other custom utilities/libraries</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:42.1194;display:inline;fill:#ff2222;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6"
|
|
transform="translate(76.327734,4.7483568)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan119">systemd service on </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan120">Raspberry Pi
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="59.054343"
|
|
id="tspan131"><tspan
|
|
style="font-style:italic;-inkscape-font-specification:'Open Sans Italic'"
|
|
id="tspan130">All python runs in "ofm" </tspan></tspan><tspan
|
|
x="21.304592"
|
|
y="63.464057"
|
|
id="tspan133"><tspan
|
|
style="font-style:italic;-inkscape-font-specification:'Open Sans Italic'"
|
|
id="tspan132">virtual environment</tspan></tspan></text><g
|
|
id="g11"
|
|
transform="translate(0,4.0796152)"><rect
|
|
style="fill:#b8f3f7;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:1, 2.00003;stroke-dashoffset:0;stroke-opacity:1"
|
|
id="rect234-7-6-6-3-5"
|
|
width="65.173698"
|
|
height="132.57152"
|
|
x="13.993548"
|
|
y="29.950129"
|
|
ry="4.0044417" /><g
|
|
id="g13166"
|
|
transform="translate(7.9820287,-13.196068)"><rect
|
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-5"
|
|
width="59.132027"
|
|
height="38.342243"
|
|
x="8.8345165"
|
|
y="52.215397"
|
|
ry="3.9939835" /><a
|
|
id="a27"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-connect"><g
|
|
id="g2-5"
|
|
transform="translate(-48.618332,-120.0636)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-8"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-4"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-74"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-4"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-3"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-07"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-6"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan134">2</tspan></text></g></a><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844"
|
|
transform="translate(-9.4215016,5.3456785)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan135">OpenFlexure Connect (Electron </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan151">app)
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="59.054343"
|
|
id="tspan153"><tspan
|
|
style="font-style:italic;-inkscape-font-specification:'Open Sans Italic'"
|
|
id="tspan152">[or browser]</tspan></tspan></text><g
|
|
id="g13151"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234"
|
|
width="54.727367"
|
|
height="20.467146"
|
|
x="11.045641"
|
|
y="67.192055"
|
|
ry="2.1319942" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;stroke-width:0.264583"
|
|
x="14.038027"
|
|
y="73.083778"
|
|
id="text844-3"><tspan
|
|
sodipodi:role="line"
|
|
style="text-align:start;text-anchor:start;stroke-width:0.264583"
|
|
x="14.038027"
|
|
y="73.083778"
|
|
id="tspan15438">Web App written in Vue.js</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:47.1501;display:inline;stroke-width:0.264583"
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="text844-3-7"
|
|
transform="translate(-0.5291667,-3.1750001)"><tspan
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="tspan167"><tspan
|
|
style="font-style:italic;-inkscape-font-specification:'Open Sans Italic'"
|
|
id="tspan159">Created by (and served from) the </tspan></tspan><tspan
|
|
x="15.056169"
|
|
y="83.743759"
|
|
id="tspan169"><tspan
|
|
style="font-style:italic;-inkscape-font-specification:'Open Sans Italic'"
|
|
id="tspan168">server. Viewed in browser or </tspan></tspan><tspan
|
|
x="15.056169"
|
|
y="87.271538"
|
|
id="tspan171"><tspan
|
|
style="font-style:italic;-inkscape-font-specification:'Open Sans Italic'"
|
|
id="tspan170">OpenFlexure Connect</tspan></tspan></text><g
|
|
transform="matrix(0.03593806,0,0,-0.03593806,55.545877,78.256879)"
|
|
id="g1418"
|
|
style="stroke-width:9.81601"><g
|
|
transform="translate(178.06,235.01)"
|
|
id="g1412"
|
|
style="stroke-width:9.81601"><path
|
|
d="M 0,0 -22.669,-39.264 -45.338,0 h -75.491 L -22.669,-170.02 75.491,0 Z"
|
|
fill="#41b883"
|
|
id="path1410"
|
|
style="stroke-width:29.5803" /></g><g
|
|
transform="translate(178.06,235.01)"
|
|
id="g1416"
|
|
style="stroke-width:9.81601"><path
|
|
d="M 0,0 -22.669,-39.264 -45.338,0 H -81.565 L -22.669,-102.01 36.227,0 Z"
|
|
fill="#34495e"
|
|
id="path1414"
|
|
style="stroke-width:29.5803" /></g></g><a
|
|
id="a24"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-microscope-server"><g
|
|
id="g2-1-4"
|
|
transform="translate(-50.205834,-98.103183)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-2-7"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-8-9"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-7-5"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-9-0"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-2-4"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-0-8"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-3-1"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan172">1</tspan></text></g></a></g></g><g
|
|
id="g9"><rect
|
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-5-6"
|
|
width="59.132027"
|
|
height="52.04464"
|
|
x="16.816545"
|
|
y="81.935104"
|
|
ry="3.0902033" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-7"
|
|
transform="translate(-1.4394729,35.065387)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan173">Python code
|
|
</tspan></text><g
|
|
id="g4"
|
|
transform="translate(7.9820287,47.277262)"><a
|
|
id="a22"
|
|
xlink:href="https://github.com/labthings/labthings-fastapi"><g
|
|
id="g3-0-4"
|
|
transform="translate(-44.681259,-116.01128)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-1-6-4"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="97.488258"
|
|
y="190.33562"
|
|
ry="1.3326334" /><g
|
|
style="fill:none"
|
|
id="g1-9-3"
|
|
transform="matrix(0.00480606,0,0,0.00480606,99.075735,191.41727)"><path
|
|
fill-rule="evenodd"
|
|
clip-rule="evenodd"
|
|
d="M 8,0 C 3.58,0 0,3.58 0,8 c 0,3.54 2.29,6.53 5.47,7.59 0.4,0.07 0.55,-0.17 0.55,-0.38 0,-0.19 -0.01,-0.82 -0.01,-1.49 C 4,14.09 3.48,13.23 3.32,12.78 3.23,12.55 2.84,11.84 2.5,11.65 2.22,11.5 1.82,11.13 2.49,11.12 3.12,11.11 3.57,11.7 3.72,11.94 4.44,13.15 5.59,12.81 6.05,12.6 6.12,12.08 6.33,11.73 6.56,11.53 4.78,11.33 2.92,10.64 2.92,7.58 2.92,6.71 3.23,5.99 3.74,5.43 3.66,5.23 3.38,4.41 3.82,3.31 c 0,0 0.67,-0.21 2.2,0.82 0.64,-0.18 1.32,-0.27 2,-0.27 0.68,0 1.36,0.09 2,0.27 1.53,-1.04 2.2,-0.82 2.2,-0.82 0.44,1.1 0.16,1.92 0.08,2.12 0.51,0.56 0.82,1.27 0.82,2.15 0,3.07 -1.87,3.75 -3.65,3.95 0.29,0.25 0.54,0.73 0.54,1.48 0,1.07 -0.01,1.93 -0.01,2.2 0,0.21 0.15,0.46 0.55,0.38 C 13.71,14.53 16,11.53 16,8 16,3.58 12.42,0 8,0 Z"
|
|
transform="scale(64)"
|
|
fill="#1b1f23"
|
|
id="path1-3-1" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-2-0-9"
|
|
transform="matrix(1.9854168,0,0,1.9854168,62.94471,96.08002)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan174">1</tspan></text></g></a><g
|
|
id="g13151-5"
|
|
transform="translate(0,2.1166667)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-3"
|
|
width="54.727371"
|
|
height="18.4979"
|
|
x="11.045641"
|
|
y="61.900383"
|
|
ry="1.7612126" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;stroke-width:0.264583"
|
|
x="15.625525"
|
|
y="66.733772"
|
|
id="text844-3-5"><tspan
|
|
sodipodi:role="line"
|
|
style="text-align:start;text-anchor:start;stroke-width:0.264583"
|
|
x="15.625525"
|
|
y="66.733772"
|
|
id="tspan15438-6">LabThings-FastAPI Client</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#1b853a;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3"
|
|
transform="translate(-5.6409226,20.960041)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan176"><tspan
|
|
style="font-family:monospace;-inkscape-font-specification:monospace"
|
|
id="tspan175">labthings-fastapi.client.
|
|
</tspan></tspan><tspan
|
|
x="21.304592"
|
|
y="53.766315"
|
|
id="tspan178"><tspan
|
|
style="font-family:monospace;-inkscape-font-specification:monospace"
|
|
id="tspan177">ThingClient</tspan></tspan></text></g></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.9988;display:inline;stroke-width:0.264583"
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="text844-3-7-2"
|
|
transform="translate(4.8198429,9.9033083)"><tspan
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="tspan179">LabThings with automatically </tspan><tspan
|
|
x="15.056169"
|
|
y="83.743759"
|
|
id="tspan180">make a "ThingClient" class that </tspan><tspan
|
|
x="15.056169"
|
|
y="87.271538"
|
|
id="tspan181">communicates over HTTP and </tspan><tspan
|
|
x="15.056169"
|
|
y="90.799316"
|
|
id="tspan182">provides methods for calling all </tspan><tspan
|
|
x="15.056169"
|
|
y="94.327095"
|
|
id="tspan183">actions and reading properties of </tspan><tspan
|
|
x="15.056169"
|
|
y="97.854873"
|
|
id="tspan184">any "Thing" running on the server.</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:42.1194;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-6"
|
|
transform="translate(-2.5345212,-16.56553)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan185">User's Computer</tspan></text><g
|
|
id="g12"><rect
|
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-5-6-5-6"
|
|
width="59.132004"
|
|
height="19.205902"
|
|
x="16.816559"
|
|
y="136.90742"
|
|
ry="4.9415431" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-7-5"
|
|
transform="translate(-1.4394729,91.506419)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan186">Local terminal</tspan></text><g
|
|
id="g17702-20"
|
|
transform="translate(9.0331949,81.282693)"><path
|
|
id="rect16151-615"
|
|
style="fill:#181818;stroke-width:0.264999;stroke-linecap:round;stroke-dashoffset:6.04949"
|
|
d="m 11.178251,63.224724 h 39.678016 v 8.932683 H 11.178251 Z"
|
|
sodipodi:nodetypes="ccccc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3-2-54"
|
|
transform="translate(-9.1497732,16.263405)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan187">$ ssh microscope.local</tspan></text></g></g></g><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Bold';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:48.6222;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0797344;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-6-3"
|
|
transform="matrix(3.3183038,0,0,3.3183038,80.896785,-146.15333)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan188">v3 Software Architecture</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#cc00a7;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-3-6"
|
|
transform="translate(62.811423,87.541444)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan189">ssh</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#cc00a7;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-3-7"
|
|
transform="translate(116.4806,34.406016)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan190">ASGI</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:42.489;display:inline;fill:#ff2222;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-2"
|
|
transform="translate(75.773346,105.8293)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan191">The systemd service is </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan192">run on startup. It is </tspan><tspan
|
|
x="21.304592"
|
|
y="59.054343"
|
|
id="tspan194">managed by <tspan
|
|
style="font-family:monospace;-inkscape-font-specification:monospace"
|
|
id="tspan193">systemctl</tspan> </tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:56.6158;display:inline;fill:#cc00a7;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-2-9"
|
|
transform="translate(130.78178,70.681411)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan195">Things add API endpoints to the </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan196">FastAPI server for communication.
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="59.054343"
|
|
id="tspan198">(see <tspan
|
|
style="font-family:monospace;-inkscape-font-specification:monospace"
|
|
id="tspan197">add_to_fastapi</tspan>) </tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:56.6158;display:inline;fill:#1b853a;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-2-9-4"
|
|
transform="translate(130.80366,88.494955)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan199">Things generate a Thing </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan200">Description that describe their </tspan><tspan
|
|
x="21.304592"
|
|
y="59.054343"
|
|
id="tspan201">functionality and data and the </tspan><tspan
|
|
x="21.304592"
|
|
y="63.464057"
|
|
id="tspan202">HTTP endpoints.</tspan></text><g
|
|
id="g8"><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#cc00a7;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-3"
|
|
transform="translate(61.404598,23.316425)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan203">HTTP</tspan></text><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3);stop-color:#000000"
|
|
d="M 97.486081,74.057953 H 76.63137"
|
|
id="path1373"
|
|
sodipodi:nodetypes="cc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-6);stop-color:#000000"
|
|
d="M 76.334039,75.653339 H 97.18875"
|
|
id="path1373-5"
|
|
sodipodi:nodetypes="cc" /></g><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-2);stop-color:#000000"
|
|
d="M 152.69541,85.364085 H 136.00623"
|
|
id="path1373-6"
|
|
sodipodi:nodetypes="cc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-6-9);stop-color:#000000"
|
|
d="m 135.79232,86.959471 h 16.68919"
|
|
id="path1373-5-0"
|
|
sodipodi:nodetypes="cc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#cc00a7;fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-opacity:1"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-6-3-1"
|
|
transform="translate(61.404598,31.713224)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan204">HTTP</tspan></text><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-6-3);stop-color:#000000"
|
|
d="m 76.270389,90.86181 h 4.07117 l 0.03668,-6.605796 h 17.080637"
|
|
id="path1373-5-6"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-6-3-2);stop-color:#000000"
|
|
d="M 97.696373,85.493514 H 81.525604 l -0.03668,6.605796 h -4.981038"
|
|
id="path1373-5-6-1"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-6-3-5);stop-color:#000000"
|
|
d="m 76.220853,145.52994 5.536503,0 0.03668,-6.74971 h 15.065836"
|
|
id="path1373-5-6-0"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-6-3-2-3);stop-color:#000000"
|
|
d="M 97.097369,140.01772 H 82.941401 l -0.03668,6.74972 -6.446371,0"
|
|
id="path1373-5-6-1-6"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-2);stop-color:#000000;stop-opacity:1"
|
|
d="m 188.90327,90.003929 h 23.78957 v 0 h 9.23939"
|
|
id="path4133"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow3-2);stop-color:#000000;stop-opacity:1"
|
|
d="m 212.69284,90.003929 0,39.368581 h 9.23939"
|
|
id="path4135"
|
|
sodipodi:nodetypes="ccc" /><path
|
|
style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow3);stop-color:#000000"
|
|
d="m 188.90327,88.788638 h 24.8977 v 2.403251 h 8.13126"
|
|
id="path4133-6"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
|
d="m 213.80097,91.191889 0,39.368581 h 8.13126"
|
|
id="path4135-2"
|
|
sodipodi:nodetypes="ccc" /><path
|
|
style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#1b853a;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow3-7);stop-color:#000000"
|
|
d="m 187.55243,102.32454 h 27.54353 v -9.767583 h 6.83627"
|
|
id="path4133-6-9"
|
|
sodipodi:nodetypes="cccc" /><path
|
|
style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#1b853a;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
|
|
d="m 215.09596,102.32454 0,29.601 h 6.83627"
|
|
id="path4135-2-2"
|
|
sodipodi:nodetypes="ccc" /><g
|
|
id="g11070"
|
|
transform="translate(19.374071,24.076136)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-6"
|
|
width="54.254227"
|
|
height="59.410969"
|
|
x="127.14751"
|
|
y="29.518194"
|
|
ry="2.8414457" /><a
|
|
id="a25"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-microscope-server"><g
|
|
id="g2-1"
|
|
transform="translate(65.167473,-142.78246)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-2"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-8"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-7"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-9"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-2"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-0"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-3"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan205">1</tspan></text></g></a><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2"
|
|
transform="translate(108.53339,-16.604642)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan206">OpenFlexure Microscope
|
|
</tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan207">Server</tspan></text><g
|
|
id="g6088"><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-0"
|
|
transform="translate(113.80442,30.857861)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan208">Thing Descriptions</tspan></text></g><g
|
|
id="g13170"
|
|
transform="translate(0,2.1166667)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-6-9"
|
|
width="49.75"
|
|
height="29.75"
|
|
x="130"
|
|
y="40.25"
|
|
ry="3.098958" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#1b853a;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1"
|
|
transform="translate(111.68774,-1.7338049)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan210"><tspan
|
|
style="font-family:monospace;-inkscape-font-specification:monospace"
|
|
id="tspan209">labthings-fastapi.server.
|
|
</tspan></tspan><tspan
|
|
x="21.304592"
|
|
y="53.766315"
|
|
id="tspan212"><tspan
|
|
style="font-family:monospace;-inkscape-font-specification:monospace"
|
|
id="tspan211">ThingServer</tspan></tspan></text><g
|
|
id="g13141-2"
|
|
transform="translate(53.619135,5.0166626)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#9c7efa;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
|
|
id="rect234-7-7"
|
|
width="35.380871"
|
|
height="9.8666668"
|
|
x="80"
|
|
y="52.116669"
|
|
ry="1.0277778" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:33.3205;display:inline;fill:#9c7efa;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0"
|
|
transform="translate(60.287356,5.4163737)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan213">FastAPI</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#1b853a;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6"
|
|
transform="translate(61.01141,8.9078049)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan214">sever.app:FastAPI</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-3"
|
|
transform="translate(111.51272,-5.5546383)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan215">LabThings-FastAPI Server</tspan></text><a
|
|
id="a23"
|
|
xlink:href="https://github.com/labthings/labthings-fastapi"><g
|
|
id="g3-0"
|
|
transform="translate(69.176352,-141.06933)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-1-6"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="97.488258"
|
|
y="190.33562"
|
|
ry="1.3326334" /><g
|
|
style="fill:none"
|
|
id="g1-9"
|
|
transform="matrix(0.00480606,0,0,0.00480606,99.075735,191.41727)"><path
|
|
fill-rule="evenodd"
|
|
clip-rule="evenodd"
|
|
d="M 8,0 C 3.58,0 0,3.58 0,8 c 0,3.54 2.29,6.53 5.47,7.59 0.4,0.07 0.55,-0.17 0.55,-0.38 0,-0.19 -0.01,-0.82 -0.01,-1.49 C 4,14.09 3.48,13.23 3.32,12.78 3.23,12.55 2.84,11.84 2.5,11.65 2.22,11.5 1.82,11.13 2.49,11.12 3.12,11.11 3.57,11.7 3.72,11.94 4.44,13.15 5.59,12.81 6.05,12.6 6.12,12.08 6.33,11.73 6.56,11.53 4.78,11.33 2.92,10.64 2.92,7.58 2.92,6.71 3.23,5.99 3.74,5.43 3.66,5.23 3.38,4.41 3.82,3.31 c 0,0 0.67,-0.21 2.2,0.82 0.64,-0.18 1.32,-0.27 2,-0.27 0.68,0 1.36,0.09 2,0.27 1.53,-1.04 2.2,-0.82 2.2,-0.82 0.44,1.1 0.16,1.92 0.08,2.12 0.51,0.56 0.82,1.27 0.82,2.15 0,3.07 -1.87,3.75 -3.65,3.95 0.29,0.25 0.54,0.73 0.54,1.48 0,1.07 -0.01,1.93 -0.01,2.2 0,0.21 0.15,0.46 0.55,0.38 C 13.71,14.53 16,11.53 16,8 16,3.58 12.42,0 8,0 Z"
|
|
transform="scale(64)"
|
|
fill="#1b1f23"
|
|
id="path1-3" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-2-0"
|
|
transform="matrix(1.9854168,0,0,1.9854168,62.94471,96.08002)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan216">1</tspan></text></g></a></g><path
|
|
id="path5736"
|
|
style="fill:none;stroke:#1b853a;stroke-width:0.264999;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
|
d="m 139.63182,74.680106 a 5.6878148,3.3862759 0 0 0 -5.6877,3.386207 5.6878148,3.3862759 0 0 0 1.00662,1.914381 5.6878148,3.3862759 0 0 0 -1.00662,1.92193 5.6878148,3.3862759 0 0 0 5.6877,3.386568 5.6878148,3.3862759 0 0 0 3.74329,-0.839811 5.6878148,3.3862759 0 0 0 3.73604,0.839811 5.6878148,3.3862759 0 0 0 3.7427,-0.839811 5.6878148,3.3862759 0 0 0 3.73604,0.839811 5.6878148,3.3862759 0 0 0 3.74268,-0.839449 5.6878148,3.3862759 0 0 0 3.73605,0.839449 5.6878148,3.3862759 0 0 0 5.6883,-3.386568 5.6878148,3.3862759 0 0 0 -1.00602,-1.92193 5.6878148,3.3862759 0 0 0 1.00602,-1.914381 5.6878148,3.3862759 0 0 0 -5.6883,-3.386207 5.6878148,3.3862759 0 0 0 -3.74087,0.838732 5.6878148,3.3862759 0 0 0 -3.73786,-0.838732 5.6878148,3.3862759 0 0 0 -3.73967,0.837654 5.6878148,3.3862759 0 0 0 -3.73907,-0.837654 5.6878148,3.3862759 0 0 0 -3.73665,0.836214 5.6878148,3.3862759 0 0 0 -3.74268,-0.836214 z" /><path
|
|
style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#1b853a;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow3-7-8);stop-color:#000000"
|
|
d="m 147.11115,67.529165 v 7.150941"
|
|
id="path4133-6-9-7"
|
|
sodipodi:nodetypes="cc" /></g><g
|
|
id="g12545"
|
|
transform="translate(17.78657,24.076136)"><circle
|
|
style="fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264999;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:1.60059;stroke-opacity:1"
|
|
id="path12188"
|
|
cx="187.87453"
|
|
cy="57.622402"
|
|
r="2.3675005" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#cc00a7;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-3-8"
|
|
transform="translate(165.47749,8.6466651)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan217">1</tspan></text></g><g
|
|
id="g12545-6"
|
|
transform="translate(17.78657,41.4814)"><circle
|
|
style="fill:none;fill-opacity:1;stroke:#1b853a;stroke-width:0.264999;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:1.60059;stroke-opacity:1"
|
|
id="path12188-8"
|
|
cx="187.87453"
|
|
cy="57.622402"
|
|
r="2.3675005" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#1b853a;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-3-8-8"
|
|
transform="translate(165.47749,8.6466651)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan218">2</tspan></text></g><g
|
|
id="g12545-1"
|
|
transform="translate(-39.04947,62.204496)"><circle
|
|
style="fill:none;fill-opacity:1;stroke:#cc00a7;stroke-width:0.264999;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:1.60059;stroke-opacity:1"
|
|
id="path12188-4"
|
|
cx="187.87453"
|
|
cy="57.622402"
|
|
r="2.3675005" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#cc00a7;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-3-8-9"
|
|
transform="translate(165.47749,8.6466651)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan219">1</tspan></text></g><g
|
|
id="g12545-6-2"
|
|
transform="translate(-39.04947,79.609757)"><circle
|
|
style="fill:none;fill-opacity:1;stroke:#1b853a;stroke-width:0.264999;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:1.60059;stroke-opacity:1"
|
|
id="path12188-8-0"
|
|
cx="187.87453"
|
|
cy="57.622402"
|
|
r="2.3675005" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#1b853a;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-3-8-8-6"
|
|
transform="translate(165.47749,8.6466651)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan220">2</tspan></text></g><g
|
|
style="clip-rule:evenodd;fill-rule:evenodd;stroke-width:1.76361;stroke-linejoin:round;stroke-miterlimit:1.41421"
|
|
id="g19314"
|
|
transform="matrix(0.15002369,0,0,0.15002369,15.876651,1.1367253)"><g
|
|
transform="matrix(0.598566,0,0,0.598566,-78.224807,-25.189982)"
|
|
id="g17"
|
|
inkscape:label="text"
|
|
style="stroke-width:1.76361">
|
|
<path
|
|
inkscape:connector-curvature="0"
|
|
id="path2"
|
|
style="fill:#c5247f;fill-opacity:1;fill-rule:nonzero;stroke-width:1.21952"
|
|
d="m 261.96386,122.95376 c 14.66099,-46.840913 58.42891,-80.869876 110.08329,-80.869876 51.65438,0 95.4223,34.028963 110.08399,80.869876 v 0 l 6.9e-4,0.003 c 0.37548,1.19974 0.7316,2.40777 1.06835,3.62341 16.36137,49.59512 84.91648,30.40625 84.91648,30.40625 l 45.29059,116.99198 -171.99733,66.58436 -29.07719,-75.10906 -0.1224,0.0456 -16.09514,-41.94031 c 1.22255,-0.46883 2.42575,-0.97223 3.60889,-1.50745 5.29959,-2.57926 9.91045,-5.43028 13.91695,-8.47699 10.92348,-8.63949 18.93855,-20.511 22.86,-33.89205 5.61698,-21.69207 -1.29516,-41.48876 -1.49086,-42.04196 -9.53704,-25.53814 -34.27098,-43.926962 -62.96302,-43.926962 -28.69203,0 -53.42598,18.388822 -62.96233,43.926962 -0.19569,0.55181 -7.10853,20.3492 -1.49085,42.04196 3.92144,13.38105 11.93582,25.25256 22.86,33.89205 4.00581,3.04671 8.61736,5.89773 13.91695,8.47699 1.18314,0.53522 2.38633,1.03862 3.60889,1.50745 l -0.0526,0.13692 c 0,0 -16.04328,41.80339 -16.04328,41.80339 l -0.12239,-0.0456 -29.07651,75.10906 L 130.68702,273.9784 175.9776,156.98642 c 0,0 68.55511,19.18887 84.91648,-30.40625 0.33676,-1.21564 0.69357,-2.42367 1.06905,-3.62341 z"
|
|
inkscape:label="emblem" />
|
|
<text
|
|
id="text5"
|
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:113.605px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;opacity:1;stroke-width:1.93904"
|
|
y="164.33951"
|
|
x="655.23792"
|
|
inkscape:label="openflexure"><tspan
|
|
y="164.33951"
|
|
x="655.23792"
|
|
id="tspan35"
|
|
sodipodi:role="line"
|
|
style="stroke-width:1.93904">open<tspan
|
|
id="tspan37"
|
|
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:113.605px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:1.93904">flexure</tspan></tspan></text>
|
|
<text
|
|
id="text13"
|
|
style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:113.605px;font-family:'Open Sans';-inkscape-font-specification:'Open Sans, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;opacity:1;stroke-width:1.93904"
|
|
y="277.94449"
|
|
x="655.23792"
|
|
inkscape:label="microscope"><tspan
|
|
y="277.94449"
|
|
x="655.23792"
|
|
id="tspan49"
|
|
sodipodi:role="line"
|
|
style="stroke-width:1.93904">microscope</tspan></text>
|
|
|
|
</g></g><text
|
|
xml:space="preserve"
|
|
style="font-weight:600;font-size:4.9389px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Semi-Bold';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
|
|
x="140.47612"
|
|
y="184.50215"
|
|
id="text3"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan3"
|
|
style="stroke-width:0.264583"
|
|
x="140.47612"
|
|
y="184.50215" /></text><g
|
|
id="g11070-4"
|
|
transform="translate(-134.09892,42.596973)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-6-8"
|
|
width="253.35805"
|
|
height="136.57356"
|
|
x="227.42459"
|
|
y="-8.3172293"
|
|
ry="2.8414457" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-7"
|
|
transform="translate(75.353446,-10.87906)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan221">Raspbian OpenFlexure</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:55.6129;display:inline;fill:#7e7e7e;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-5"
|
|
transform="translate(200.30729,12.926222)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan222">Things, are WC3 Web Of Things compliant </tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan223">Python Objects used to add functionality </tspan><tspan
|
|
x="21.304592"
|
|
y="57.290466"
|
|
id="tspan224">(such as hardware control) with HTTP API </tspan><tspan
|
|
x="21.304592"
|
|
y="60.818241"
|
|
id="tspan225">endpoints</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.6947;display:inline;fill:#7e7e7e;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-2-5-8"
|
|
transform="translate(263.54648,13.112113)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan226">The server makes use of a number of </tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan227">other python libraries. Some are </tspan><tspan
|
|
x="21.304592"
|
|
y="57.290466"
|
|
id="tspan228">standard libraries such as NumPy, Pillow, </tspan><tspan
|
|
x="21.304592"
|
|
y="60.818241"
|
|
id="tspan229">SciPy, etc. Others are specific to </tspan><tspan
|
|
x="21.304592"
|
|
y="64.346016"
|
|
id="tspan230">OpenFlexure</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;stroke-width:0.264583"
|
|
x="97.004364"
|
|
y="46.05175"
|
|
id="text6"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan5"
|
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;text-anchor:start;stroke-width:0.264583"
|
|
x="97.004364"
|
|
y="46.05175">A customised Raspberry Pi operating system, for the embedded Raspberry Pi in the Microscope</tspan></text><a
|
|
id="a28"
|
|
xlink:href="https://gitlab.com/openflexure/raspberry-pi-os-image-customiser"><g
|
|
id="g2-1-0"
|
|
transform="translate(34.237517,-141.38259)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-2-6"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-8-92"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-7-54"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-9-05"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-2-9"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-0-4"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-3-9"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan231">3</tspan></text></g></a><rect
|
|
style="fill:none;fill-opacity:1;stroke:#7e7e7e;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:1, 2.00001;stroke-dashoffset:0;stroke-opacity:1"
|
|
id="rect234-7-6-6-0"
|
|
width="58.063263"
|
|
height="111.95364"
|
|
x="281.98734"
|
|
y="54.076138"
|
|
ry="0" /><g
|
|
id="g6"
|
|
transform="translate(-2.553195,-4.0983888)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.500003;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-7-2-3"
|
|
width="52.371429"
|
|
height="14.909955"
|
|
x="287.67917"
|
|
y="83.542847"
|
|
ry="1.1470081" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:37.2843;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-0-1"
|
|
transform="translate(267.96654,36.842553)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan232">OpenFlexure Stitching</tspan></text><a
|
|
id="a30"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-stitching"><g
|
|
id="g2-7-3"
|
|
transform="translate(223.88058,-92.131311)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-6-9"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-54-4"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-8-0"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-1-3"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-28-9"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-93-1"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-8-6"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan233">5</tspan></text></g></a><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:37.1719;display:inline;stroke-width:0.264583"
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="text6-3"
|
|
transform="translate(0,0.52916667)"><tspan
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="tspan234">For stitching images </tspan><tspan
|
|
x="289.38358"
|
|
y="94.302484"
|
|
id="tspan235">together</tspan></text></g><g
|
|
id="g6-7"
|
|
transform="translate(-2.553195,49.676856)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.500003;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-7-2-3-5"
|
|
width="52.371429"
|
|
height="30.97831"
|
|
x="287.67917"
|
|
y="83.542847"
|
|
ry="3.2470024" /><text
|
|
xml:space="preserve"
|
|
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:49.1001;display:inline;fill:#ff2222;fill-opacity:1;stroke-width:0.264583"
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="text6-3-0"
|
|
transform="translate(0.4012199,13.788378)"><tspan
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="tspan236">Plan to remove this in favour of </tspan><tspan
|
|
x="289.38358"
|
|
y="94.302484"
|
|
id="tspan237">bringing these methods into the </tspan><tspan
|
|
x="289.38358"
|
|
y="97.83027"
|
|
id="tspan238">microscope where they can be tested.</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:37.2843;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-0-1-6"
|
|
transform="translate(267.96654,36.842553)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan239">Camera stage </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan240">mapping</tspan></text><a
|
|
id="a33"
|
|
xlink:href="https://gitlab.com/openflexure/microscope-extensions/camera-stage-mapping"><g
|
|
id="g2-7-3-7"
|
|
transform="translate(223.88058,-92.131311)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-6-9-6"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-54-4-2"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-8-0-8"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-1-3-2"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-28-9-9"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-93-1-9"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-8-6-0"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan241">8</tspan></text></g></a><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:50.667;display:inline;stroke-width:0.264583"
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="text6-3-7"
|
|
transform="translate(0,6.3500003)"><tspan
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="tspan242">For analysing images to calibrate </tspan><tspan
|
|
x="289.38358"
|
|
y="94.302484"
|
|
id="tspan243">stage movement</tspan></text></g><g
|
|
id="g6-7-9"
|
|
transform="translate(-2.553195,31.860321)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.500003;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-7-2-3-5-9"
|
|
width="52.371429"
|
|
height="14.584316"
|
|
x="287.67917"
|
|
y="83.542847"
|
|
ry="2.1803718" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:37.2843;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-0-1-6-1"
|
|
transform="translate(267.96654,36.842553)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan244">Micat</tspan></text><a
|
|
id="a32"
|
|
xlink:href="https://gitlab.com/openflexure/micat"><g
|
|
id="g2-7-3-7-1"
|
|
transform="translate(223.88058,-92.131311)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-6-9-6-0"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-54-4-2-0"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-8-0-8-7"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-1-3-2-5"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-28-9-9-8"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-93-1-9-7"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-8-6-0-4"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan245">7
|
|
</tspan></text></g></a><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:37.3055;display:inline;stroke-width:0.264583"
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="text6-3-7-0"><tspan
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="tspan246">For analysing images for </tspan><tspan
|
|
x="289.38358"
|
|
y="94.302484"
|
|
id="tspan247">optical system calibration</tspan></text></g><g
|
|
id="g14"
|
|
transform="translate(3.8173973)"><a
|
|
id="a21"
|
|
xlink:href="https://github.com/labthings/labthings-fastapi"><g
|
|
id="g10"
|
|
transform="translate(193.30842,-6.4847987)"><g
|
|
id="g3"
|
|
transform="translate(-61.416974,24.489389)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-1"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="97.488258"
|
|
y="190.33562"
|
|
ry="1.3326334" /><g
|
|
style="fill:none"
|
|
id="g1"
|
|
transform="matrix(0.00480606,0,0,0.00480606,99.075735,191.41727)"><path
|
|
fill-rule="evenodd"
|
|
clip-rule="evenodd"
|
|
d="M 8,0 C 3.58,0 0,3.58 0,8 c 0,3.54 2.29,6.53 5.47,7.59 0.4,0.07 0.55,-0.17 0.55,-0.38 0,-0.19 -0.01,-0.82 -0.01,-1.49 C 4,14.09 3.48,13.23 3.32,12.78 3.23,12.55 2.84,11.84 2.5,11.65 2.22,11.5 1.82,11.13 2.49,11.12 3.12,11.11 3.57,11.7 3.72,11.94 4.44,13.15 5.59,12.81 6.05,12.6 6.12,12.08 6.33,11.73 6.56,11.53 4.78,11.33 2.92,10.64 2.92,7.58 2.92,6.71 3.23,5.99 3.74,5.43 3.66,5.23 3.38,4.41 3.82,3.31 c 0,0 0.67,-0.21 2.2,0.82 0.64,-0.18 1.32,-0.27 2,-0.27 0.68,0 1.36,0.09 2,0.27 1.53,-1.04 2.2,-0.82 2.2,-0.82 0.44,1.1 0.16,1.92 0.08,2.12 0.51,0.56 0.82,1.27 0.82,2.15 0,3.07 -1.87,3.75 -3.65,3.95 0.29,0.25 0.54,0.73 0.54,1.48 0,1.07 -0.01,1.93 -0.01,2.2 0,0.21 0.15,0.46 0.55,0.38 C 13.71,14.53 16,11.53 16,8 16,3.58 12.42,0 8,0 Z"
|
|
transform="scale(64)"
|
|
fill="#1b1f23"
|
|
id="path1" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-2"
|
|
transform="matrix(1.9854168,0,0,1.9854168,62.94471,96.08002)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan248">1</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:44.3218;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1"
|
|
transform="translate(28.160238,167.04096)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan249">github.com/labthings/labthings-</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan250">fastapi</tspan></text></g></a><a
|
|
id="a15"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-microscope-server"><g
|
|
id="g7"
|
|
transform="translate(-9.5250005,1.5875)"><g
|
|
id="g2"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan251">1</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:44.3218;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan252">gitlab.com/openflexure/</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan253">openflexure-microscope-server</tspan></text></g></a><a
|
|
id="a13"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-connect"
|
|
target=""><g
|
|
id="g7-2"
|
|
transform="translate(54.099477,1.8718434)"><g
|
|
id="g2-2"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan254">2</tspan></text></g><a
|
|
id="a12"
|
|
xlink:href=""><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:44.3218;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan255">gitlab.com/openflexure/</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan256">openflexure-connect</tspan></text></a></g></a><a
|
|
id="a14"
|
|
xlink:href="https://gitlab.com/openflexure/raspberry-pi-os-image-customiser"><g
|
|
id="g7-2-6"
|
|
transform="translate(126.70485,1.8718434)"><g
|
|
id="g2-2-2"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83-3"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0-5"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5-4"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52-4"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90-9"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2-9"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80-6"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan257">3</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:47.8765;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0-0"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan258">gitlab.com/openflexure/raspberry-</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan259">pi-os-image-customiser</tspan></text></g></a><a
|
|
id="a16"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-microscope-cli"><g
|
|
id="g7-2-5"
|
|
transform="translate(-9.5250005,14.018861)"><g
|
|
id="g2-2-1"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83-9"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0-7"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5-43"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52-1"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90-4"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2-6"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80-4"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan260">4</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:44.3218;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0-4"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan261">gitlab.com/openflexure/</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan262">openflexure-microscope-cli</tspan></text></g></a><a
|
|
id="a19"
|
|
xlink:href="https://gitlab.com/bath_open_instrumentation_group/pysangaboard"><g
|
|
id="g7-2-8"
|
|
transform="translate(126.70485,14.018861)"><g
|
|
id="g2-2-9"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83-33"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0-0"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5-6"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52-8"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90-7"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2-90"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80-37"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan263">6</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:63.1072;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0-6"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan264">gitlab.com/bath_open_instrumentation_group/</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan265">pysangaboard</tspan></text></g></a><a
|
|
id="a17"
|
|
xlink:href="https://gitlab.com/openflexure/micat"><g
|
|
id="g7-2-59"
|
|
transform="translate(-9.5250005,26.45022)"><g
|
|
id="g2-2-3"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83-2"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0-57"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5-08"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52-19"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90-97"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2-8"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80-5"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan266">7
|
|
</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:62.75;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0-9"
|
|
transform="translate(94.763804,135.70104)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan267">gitlab.com/openflexure/micat</tspan></text></g></a><a
|
|
id="a18"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-stitching"><g
|
|
id="g7-2-58"
|
|
transform="translate(54.099477,14.018861)"><g
|
|
id="g2-2-7"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83-87"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0-9"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5-60"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52-41"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90-0"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2-4"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80-0"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan268">5</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:44.3218;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0-2"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan269">gitlab.com/openflexure/</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan270">openflexure-stitching</tspan></text></g></a><a
|
|
id="a20"
|
|
xlink:href="https://gitlab.com/openflexure/microscope-extensions/camera-stage-mapping"><g
|
|
id="g7-2-3"
|
|
transform="translate(54.099477,26.45022)"><g
|
|
id="g2-2-92"
|
|
transform="translate(0,4.7625002)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-83-5"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-0-83"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-5-0"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-52-17"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-90-89"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-2-1"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-80-49"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan271">8</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:48.3874;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-0-7"
|
|
transform="translate(94.763804,134.11353)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan272">gitlab.com/openflexure/microscope-</tspan><tspan
|
|
x="21.304592"
|
|
y="53.762691"
|
|
id="tspan273">extensions/camera-stage-mapping</tspan></text></g></a><g
|
|
id="g3-6"
|
|
transform="translate(38.119409,50.311629)"><rect
|
|
style="fill:none;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke"
|
|
id="rect1-1-4"
|
|
width="218.64067"
|
|
height="42.239395"
|
|
x="51.279865"
|
|
y="125.8181"
|
|
ry="1.3326334" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52778px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:59.476;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-4-1-6-4"
|
|
transform="translate(33.766534,79.79883)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan274">Repository URLs</tspan></text></g></g><g
|
|
id="g5"
|
|
transform="translate(0,-49.101066)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.500003;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-7-2-3-5-9-3"
|
|
width="52.371429"
|
|
height="14.584316"
|
|
x="285.62866"
|
|
y="146.6877"
|
|
ry="2.1803718" /><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:33.3205;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-35-0-0"
|
|
transform="translate(265.96652,100.84995)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan275">PySangaboard</tspan></text><a
|
|
id="a31"
|
|
xlink:href="https://gitlab.com/bath_open_instrumentation_group/pysangaboard"><g
|
|
id="g2-7"
|
|
transform="translate(221.32739,-28.635658)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-6"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-54"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-8"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-1"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-28"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-93"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-8"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan276">6</tspan></text></g></a><text
|
|
xml:space="preserve"
|
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:37.3055;display:inline;stroke-width:0.264583"
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="text6-3-7-0-9"
|
|
transform="translate(-1.7406986,64.538728)"><tspan
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="tspan277">Motor control</tspan></text></g><g
|
|
id="g13166-3-9"
|
|
transform="translate(88.879776,41.640742)"><rect
|
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-dasharray:none"
|
|
id="rect234-7-5-6-5"
|
|
width="45.292286"
|
|
height="54.527985"
|
|
x="8.8345165"
|
|
y="52.215397"
|
|
ry="3.7866247" /><text
|
|
xml:space="preserve"
|
|
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:41.1848;display:inline;fill:#ff2222;fill-opacity:1;stroke-width:0.264583"
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="text6-3-0-6"
|
|
transform="translate(-278.87673,8.1433512)"><tspan
|
|
x="289.38358"
|
|
y="90.774696"
|
|
id="tspan278">Plan to move these scripts into </tspan><tspan
|
|
x="289.38358"
|
|
y="94.302484"
|
|
id="tspan279">the OS repo.</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-size:3.52777px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:44.8976;display:inline;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-7-0"
|
|
transform="translate(-10.744418,6.0580183)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan280">OpenFlexure Microscope </tspan><tspan
|
|
x="21.304592"
|
|
y="54.64463"
|
|
id="tspan281">CLI
|
|
</tspan></text><a
|
|
id="a29"
|
|
xlink:href="https://gitlab.com/openflexure/openflexure-microscope-cli"><g
|
|
id="g2-10-1"
|
|
transform="translate(-62.208149,-119.73772)"><rect
|
|
style="fill:#ffffff;stroke:#065bf9;stroke-width:0.282001;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;paint-order:fill markers stroke;fill-opacity:1"
|
|
id="rect1-9-7"
|
|
width="11.907674"
|
|
height="6.9632993"
|
|
x="102.67485"
|
|
y="177.12749"
|
|
ry="1.3326334" /><g
|
|
id="LOGO-6-5"
|
|
transform="matrix(0.02603441,0,0,0.02603441,101.38117,175.66234)"><path
|
|
class="cls-1"
|
|
d="m 282.83,170.73 -0.27,-0.69 -26.14,-68.22 a 6.81,6.81 0 0 0 -2.69,-3.24 7,7 0 0 0 -8,0.43 7,7 0 0 0 -2.32,3.52 l -17.65,54 h -71.47 l -17.65,-54 a 6.86,6.86 0 0 0 -2.32,-3.53 7,7 0 0 0 -8,-0.43 6.87,6.87 0 0 0 -2.69,3.24 L 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.08,-56.04 z"
|
|
id="path76-1-9"
|
|
style="fill:#e24329" /><path
|
|
class="cls-2"
|
|
d="m 282.83,170.73 -0.27,-0.69 a 88.3,88.3 0 0 0 -35.15,15.8 L 190,229.25 c 19.55,14.79 36.57,27.64 36.57,27.64 l 40.06,-30 0.1,-0.08 a 48.56,48.56 0 0 0 16.1,-56.08 z"
|
|
id="path78-5-7"
|
|
style="fill:#fc6d26" /><path
|
|
class="cls-3"
|
|
d="m 153.43,256.89 19.7,14.91 12,9.06 a 8.07,8.07 0 0 0 9.76,0 l 12,-9.06 19.7,-14.91 c 0,0 -17.04,-12.89 -36.59,-27.64 -19.55,14.75 -36.57,27.64 -36.57,27.64 z"
|
|
id="path80-9-7"
|
|
style="fill:#fca326" /><path
|
|
class="cls-2"
|
|
d="M 132.58,185.84 A 88.19,88.19 0 0 0 97.44,170 l -0.26,0.69 a 48.54,48.54 0 0 0 16.1,56.1 l 0.09,0.07 0.24,0.17 39.82,29.82 c 0,0 17,-12.85 36.57,-27.64 z"
|
|
id="path82-4-6"
|
|
style="fill:#fc6d26" /></g><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:45.8948;display:inline;fill:#065bf9;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-6-7-9-7-3-0-3"
|
|
transform="matrix(1.9854168,0,0,1.9854168,68.131328,82.87189)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan282">4</tspan></text></g></a><g
|
|
id="g17702"
|
|
transform="translate(-6.6463931,6.2925213)"><path
|
|
id="rect16151"
|
|
style="fill:#181818;stroke-width:0.264999;stroke-linecap:round;stroke-dashoffset:6.04949"
|
|
d="m 16.641098,63.224724 h 18.234776 v 5.046995 H 16.641098 Z"
|
|
sodipodi:nodetypes="ccccc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3-2"
|
|
transform="translate(-3.6810273,16.263405)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan283">$ ofm start</tspan></text></g><g
|
|
id="g17702-2"
|
|
transform="translate(14.976446,6.2925213)"><path
|
|
id="rect16151-6"
|
|
style="fill:#181818;stroke-width:0.264999;stroke-linecap:round;stroke-dashoffset:6.04949"
|
|
d="m 16.641098,63.224724 h 18.234776 v 5.046995 H 16.641098 Z"
|
|
sodipodi:nodetypes="ccccc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3-2-1"
|
|
transform="translate(-3.6810273,16.263405)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan284">$ ofm stop</tspan></text></g><g
|
|
id="g17702-0"
|
|
transform="translate(-6.6463931,13.255809)"><path
|
|
id="rect16151-61"
|
|
style="fill:#181818;stroke-width:0.264999;stroke-linecap:round;stroke-dashoffset:6.04949"
|
|
d="m 16.641098,63.224724 h 18.234776 v 5.046995 H 16.641098 Z"
|
|
sodipodi:nodetypes="ccccc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3-2-5"
|
|
transform="translate(-3.6810273,16.263405)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan285">$ ofm status</tspan></text></g><g
|
|
id="g17702-0-0"
|
|
transform="translate(-6.6463931,27.187449)"><path
|
|
id="rect16151-61-9"
|
|
style="fill:#181818;stroke-width:0.264999;stroke-linecap:round;stroke-dashoffset:6.04949"
|
|
d="m 16.641098,63.224724 h 22 v 5.046995 h -22 z"
|
|
sodipodi:nodetypes="ccccc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3-2-5-1"
|
|
transform="translate(-3.6810273,16.263405)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan286">$ ofm activate</tspan></text></g><g
|
|
id="g17702-9"
|
|
transform="translate(14.976446,13.255809)"><path
|
|
id="rect16151-4"
|
|
style="fill:#181818;stroke-width:0.264999;stroke-linecap:round;stroke-dashoffset:6.04949"
|
|
d="m 16.641098,63.224724 h 18.234776 v 5.046995 H 16.641098 Z"
|
|
sodipodi:nodetypes="ccccc" /><text
|
|
xml:space="preserve"
|
|
style="font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:53.4457;display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.264583"
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="text844-2-1-3-2-9"
|
|
transform="translate(-3.6810273,16.263405)"><tspan
|
|
x="21.304592"
|
|
y="50.234917"
|
|
id="tspan287">$ ofm log</tspan></text></g><text
|
|
xml:space="preserve"
|
|
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:35.3031;display:inline;stroke-width:0.264583"
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="text844-3-7-7"
|
|
transform="translate(-4.4766282,-16.121765)"><tspan
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="tspan288">Most commands are a </tspan><tspan
|
|
x="15.056169"
|
|
y="83.743759"
|
|
id="tspan289">wrapper around systemctl</tspan></text><text
|
|
xml:space="preserve"
|
|
style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:1.25;font-family:'Open Sans';-inkscape-font-specification:'Open Sans Italic';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;white-space:pre;inline-size:42.8539;display:inline;stroke-width:0.264583"
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="text844-3-7-7-7"
|
|
transform="translate(-4.8056531,5.8657173)"><tspan
|
|
x="15.056169"
|
|
y="80.215981"
|
|
id="tspan290">Activates the ofm python </tspan><tspan
|
|
x="15.056169"
|
|
y="83.743759"
|
|
id="tspan291">environment </tspan></text></g></g></svg>
|