<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="www.draw.io" modified="2019-09-30T16:15:14.526Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36" version="12.0.0" etag="rhMy0NE5JtH5DVEzCCdY" type="device" pages="1">
  <diagram id="-uvM03qkD8U0JZqrbtWH">
    <mxGraphModel dx="1107" dy="1101" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="2" value="Visualization Libraries" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#dae8fc;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;strokeColor=#6c8ebf;glass=0;comic=0;shadow=0;swimlaneFillColor=#ffffff;" vertex="1" parent="1">
          <mxGeometry x="20" y="20" width="140" height="104" as="geometry"/>
        </mxCell>
        <mxCell id="3" value="bqplot" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="2">
          <mxGeometry y="26" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="4" value="matplotlib" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="2">
          <mxGeometry y="52" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="5" value="plotly" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="2">
          <mxGeometry y="78" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="6" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;shadow=0;" edge="1" parent="2" source="4" target="4">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="7" value="Scientific Libraries" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#dae8fc;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;strokeColor=#6c8ebf;comic=0;shadow=0;swimlaneFillColor=#ffffff;" vertex="1" parent="1">
          <mxGeometry x="20" y="133.5" width="140" height="234" as="geometry"/>
        </mxCell>
        <mxCell id="8" value="specutils" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="26" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="9" value="photutils" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="52" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="10" value="spectral-cube" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="78" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="11" value="astropy" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="104" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="12" value="ndcube" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="130" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="13" value="numpy" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="156" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="14" value="scipy" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="182" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="15" value="dask" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;shadow=0;" vertex="1" parent="7">
          <mxGeometry y="208" width="140" height="26" as="geometry"/>
        </mxCell>
        <mxCell id="16" value="Glue-Jupyter Package" style="swimlane;shadow=0;fillColor=#fff2cc;strokeColor=#d6b656;comic=0;swimlaneFillColor=#ffffff;" vertex="1" parent="1">
          <mxGeometry x="310" y="20" width="480" height="401" as="geometry"/>
        </mxCell>
        <mxCell id="17" value="&lt;span style=&quot;font-weight: normal&quot;&gt;User API&lt;/span&gt;" style="swimlane;html=1;startSize=20;horizontal=1;childLayout=flowLayout;flowOrientation=west;resizable=0;interRankCellSpacing=50;containerType=tree;rounded=0;shadow=0;glass=0;strokeColor=#b85450;fillColor=#f8cecc;swimlaneFillColor=#ffffff;comic=0;verticalAlign=middle;spacing=2;flipV=0;flipH=1;" vertex="1" parent="16">
          <mxGeometry x="10" y="30.5" width="460" height="235" as="geometry"/>
        </mxCell>
        <mxCell id="18" value="Viewer Widget Classes" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.layered_rect;dx=10;outlineConnect=0;rounded=1;shadow=0;strokeColor=#b85450;fillColor=#f8cecc;" vertex="1" parent="17">
          <mxGeometry x="20" y="40" width="190" height="40" as="geometry"/>
        </mxCell>
        <mxCell id="19" value="Plugin Widget Classes" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.layered_rect;dx=10;outlineConnect=0;rounded=1;shadow=0;strokeColor=#b85450;fillColor=#f8cecc;" vertex="1" parent="17">
          <mxGeometry x="20" y="160" width="190" height="40" as="geometry"/>
        </mxCell>
        <mxCell id="20" value="Plugins Registry" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;shadow=0;rounded=1;fillColor=#f8cecc;strokeColor=#b85450;comic=0;" vertex="1" parent="17">
          <mxGeometry x="260" y="165" width="180" height="50" as="geometry"/>
        </mxCell>
        <mxCell id="21" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=190;exitDy=25;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;noEdgeStyle=1;orthogonal=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=0;" edge="1" parent="17" source="19" target="20">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="222" y="190"/>
              <mxPoint x="248" y="190"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="22" value="Viewer Registry" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;shadow=0;rounded=1;fillColor=#f8cecc;strokeColor=#b85450;comic=0;" vertex="1" parent="17">
          <mxGeometry x="260" y="45.5" width="180" height="49" as="geometry"/>
        </mxCell>
        <mxCell id="23" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=190;exitDy=25;exitPerimeter=0;noEdgeStyle=1;orthogonal=1;fillColor=#f8cecc;strokeColor=#b85450;shadow=0;" edge="1" parent="17" source="18" target="22">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="222" y="70"/>
              <mxPoint x="248" y="70"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="24" value="UI Framework" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;shadow=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;connectable=1;fillColor=#fff2cc;strokeColor=#d6b656;comic=0;" vertex="1" parent="16">
          <mxGeometry x="10" y="283" width="460" height="50" as="geometry"/>
        </mxCell>
        <mxCell id="25" value="Application Engine" style="shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;shadow=0;fillColor=#fff2cc;strokeColor=#d6b656;comic=0;" vertex="1" parent="16">
          <mxGeometry x="10" y="351" width="460" height="40" as="geometry"/>
        </mxCell>
        <mxCell id="26" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=460;entryDy=35;entryPerimeter=0;comic=1;shadow=0;" edge="1" parent="16" source="22" target="24">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="580" y="101"/>
              <mxPoint x="580" y="318"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="27" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shadow=0;" edge="1" source="28" target="25" parent="1">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="28" value="Declaration Configuration" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;shadow=0;fillColor=#d5e8d4;strokeColor=#82b366;comic=0;" vertex="1" parent="1">
          <mxGeometry x="180" y="309" width="80" height="90" as="geometry"/>
        </mxCell>
        <mxCell id="29" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=15;entryPerimeter=0;comic=1;shadow=0;" edge="1" source="4" target="18" parent="1">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="30" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=15;entryPerimeter=0;comic=1;shadow=0;" edge="1" source="11" target="19" parent="1">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="31" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;shadow=0;" edge="1" source="20" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="780" y="340" as="targetPoint"/>
            <Array as="points">
              <mxPoint x="860" y="241"/>
              <mxPoint x="860" y="340"/>
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="32" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0;exitDx=0;exitDy=15;exitPerimeter=0;entryX=0;entryY=0;entryDx=25;entryDy=0;entryPerimeter=0;shadow=0;" edge="1" source="24" target="28" parent="1">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
        <mxCell id="33" value="Application" style="swimlane;rounded=1;shadow=0;glass=0;comic=0;strokeColor=#9673a6;fillColor=#e1d5e7;startSize=19;swimlaneFillColor=#ffffff;" vertex="1" parent="1">
          <mxGeometry x="475" y="440" width="150" height="110" as="geometry"/>
        </mxCell>
        <mxCell id="34" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=0;shadow=0;glass=0;comic=0;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="33">
          <mxGeometry x="6" y="6" width="8" height="8" as="geometry"/>
        </mxCell>
        <mxCell id="35" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=0;shadow=0;glass=0;comic=0;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="33">
          <mxGeometry x="18" y="6" width="8" height="8" as="geometry"/>
        </mxCell>
        <mxCell id="36" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;rounded=0;shadow=0;glass=0;comic=0;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="33">
          <mxGeometry x="30" y="6" width="8" height="8" as="geometry"/>
        </mxCell>
        <mxCell id="37" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;comic=1;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;shadow=0;" edge="1" source="25" target="33" parent="1">
          <mxGeometry relative="1" as="geometry"/>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>