fix: 移动flowchart.drawio到项目根目录

This commit is contained in:
2026-05-08 10:47:16 +08:00
parent 34889647f8
commit 862d02dce6
2 changed files with 109 additions and 107 deletions
+109
View File
@@ -0,0 +1,109 @@
<mxfile host="65bd71144e">
<diagram name="简化版完整算法流程" id="flowchart">
<mxGraphModel dx="1475" dy="1478" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="2000" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="title" value="cDNA微阵列网格划分 —— 简化版完整算法流程" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontStyle=1;fontColor=#1565C0" parent="1" vertex="1">
<mxGeometry x="250" y="20" width="700" height="40" as="geometry"/>
</mxCell>
<mxCell id="s1" value="1. 读取图像" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=14;fontStyle=1;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="480" y="80" width="240" height="45" as="geometry"/>
</mxCell>
<mxCell id="s2" value="2. 转为灰度图&#xa;color.rgb2gray(img)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=13;fontStyle=1;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="480" y="155" width="240" height="45" as="geometry"/>
</mxCell>
<mxCell id="s_otsu" value="3. Otsu 自动阈值&#xa;遍历0~255,选最小类内方差 T&#xa;pct = T / 255(自适应)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=3;fontSize=12;fontStyle=1;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="480" y="230" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s3L" value="3a. 横轴投影&#xa;np.sum(gray, axis=0)&#xa;每列灰度求和" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#3949AB;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="270" y="327" width="210" height="60" as="geometry"/>
</mxCell>
<mxCell id="s3R" value="3b. 纵轴投影&#xa;np.sum(gray, axis=1)&#xa;每行灰度求和" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#3949AB;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="720" y="327" width="210" height="60" as="geometry"/>
</mxCell>
<mxCell id="s4" value="4. 计算投影阈值 X&#xa;X = (max-min) × pct" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=3;fontSize=13;fontStyle=1;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="480" y="437" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s5" value="5. 曲线减去 X&#xa;正 = 斑点,负 = 空隙,零 = 分界线" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=3;fontSize=12;fontStyle=1;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="480" y="527" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s6" value="6. 找过零点,配对取空隙中点&#xa;离开斑点 + 进入下一斑点 → 划线位置" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#1565C0;strokeWidth=3;fontSize=12;fontStyle=1;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="480" y="617" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s7" value="7. 逐格 Otsu 分割&#xa;对每个格子独立算 Otsu 阈值,二值化" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="480" y="717" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s8" value="8. keep_largest_object&#xa;每个格子只保留面积最大的连通域" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="480" y="807" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s9" value="9. remove_small_objects&#xa;全局去噪:面积 &amp;lt; 中位数25% 自动剔除" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="480" y="897" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s10" value="10. 统计斑点数&#xa;ndimage.label 标记连通域,过滤面积&amp;lt;10" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="480" y="987" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s11" value="11. 输出 6 张可视化图片&#xa;网格 / 投影曲线 / 直方图 / 分割 / 后处理" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="480" y="1077" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s1" target="s2" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s2" target="s_otsu" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e3L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s_otsu" target="s3L" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e3R" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s_otsu" target="s3R" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e4L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s3L" target="s4" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e4R" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s3R" target="s4" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s4" target="s5" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" parent="1" source="s5" target="s6" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1;fontStyle=1" parent="1" source="s6" target="s7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1;fontStyle=1" parent="1" source="s7" target="s8" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1;fontStyle=1" parent="1" source="s8" target="s9" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1;fontStyle=1" parent="1" source="s9" target="s10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1;fontStyle=1" parent="1" source="s10" target="s11" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="legend_title" value="图例" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="270" y="929" width="60" height="25" as="geometry"/>
</mxCell>
<mxCell id="leg1" value="输入/输出" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="270" y="964" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg2" value="网格划线" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="270" y="999" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg3" value="过零点/配对" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#1565C0;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="270" y="1034" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg4" value="投影计算" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#3949AB;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="270" y="1069" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg5" value="分割/后处理" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" parent="1" vertex="1">
<mxGeometry x="270" y="1104" width="100" height="28" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
-107
View File
@@ -1,107 +0,0 @@
<mxfile host="draw.io" modified="2026-05-08T12:00:00.000Z" agent="Claude" version="24.0.0">
<diagram name="简化版完整算法流程" id="flowchart">
<mxGraphModel dx="1200" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="2000" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- 标题 -->
<mxCell id="title" value="cDNA微阵列网格划分 —— 简化版完整算法流程" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontStyle=1;fontColor=#1565C0" vertex="1" parent="1">
<mxGeometry x="250" y="20" width="700" height="40" as="geometry"/>
</mxCell>
<!-- ====== 阶段1:输入 ====== -->
<mxCell id="s1" value="1. 读取图像" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=14;fontStyle=1;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="80" width="240" height="45" as="geometry"/>
</mxCell>
<mxCell id="s2" value="2. 转为灰度图&#xa;color.rgb2gray(img)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=13;fontStyle=1;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="155" width="240" height="45" as="geometry"/>
</mxCell>
<!-- ====== 阶段2:网格划线 ====== -->
<mxCell id="s_otsu" value="3. Otsu 自动阈值&#xa;遍历0~255,选最小类内方差 T&#xa;pct = T / 255(自适应)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=3;fontSize=12;fontStyle=1;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="230" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s3L" value="3a. 横轴投影&#xa;np.sum(gray, axis=0)&#xa;每列灰度求和" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#3949AB;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="270" y="320" width="210" height="60" as="geometry"/>
</mxCell>
<mxCell id="s3R" value="3b. 纵轴投影&#xa;np.sum(gray, axis=1)&#xa;每行灰度求和" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#3949AB;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="720" y="320" width="210" height="60" as="geometry"/>
</mxCell>
<mxCell id="s4" value="4. 计算投影阈值 X&#xa;X = (max-min) × pct" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=3;fontSize=13;fontStyle=1;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="430" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s5" value="5. 曲线减去 X&#xa;正 = 斑点,负 = 空隙,零 = 分界线" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=3;fontSize=12;fontStyle=1;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="520" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s6" value="6. 找过零点,配对取空隙中点&#xa;离开斑点 + 进入下一斑点 → 划线位置" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#1565C0;strokeWidth=3;fontSize=12;fontStyle=1;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="610" width="240" height="55" as="geometry"/>
</mxCell>
<!-- ====== 阶段3:分割 ====== -->
<mxCell id="s7" value="7. 逐格 Otsu 分割&#xa;对每个格子独立算 Otsu 阈值,二值化" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="710" width="240" height="55" as="geometry"/>
</mxCell>
<mxCell id="s8" value="8. keep_largest_object&#xa;每个格子只保留面积最大的连通域" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="800" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s9" value="9. remove_small_objects&#xa;全局去噪:面积 &lt; 中位数25% 自动剔除" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="890" width="240" height="50" as="geometry"/>
</mxCell>
<mxCell id="s10" value="10. 统计斑点数&#xa;ndimage.label 标记连通域,过滤面积&lt;10" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="980" width="240" height="50" as="geometry"/>
</mxCell>
<!-- ====== 阶段4:输出 ====== -->
<mxCell id="s11" value="11. 输出 6 张可视化图片&#xa;网格 / 投影曲线 / 直方图 / 分割 / 后处理" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=12;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="480" y="1070" width="240" height="55" as="geometry"/>
</mxCell>
<!-- ====== 连接线 ====== -->
<mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s1" target="s2"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s2" target="s_otsu"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e3L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s_otsu" target="s3L"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e3R" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s_otsu" target="s3R"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e4L" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s3L" target="s4"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e4R" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s3R" target="s4"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s4" target="s5"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s5" target="s6"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s6" target="s7"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s7" target="s8"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s8" target="s9"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s9" target="s10"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#666666;strokeWidth=2;endArrow=classic;endFill=1" edge="1" parent="1" source="s10" target="s11"><mxGeometry relative="1" as="geometry"/></mxCell>
<!-- ====== 图例 ====== -->
<mxCell id="legend_title" value="图例" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" vertex="1" parent="1">
<mxGeometry x="60" y="1000" width="60" height="25" as="geometry"/>
</mxCell>
<mxCell id="leg1" value="输入/输出" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#C8E6C9;strokeColor=#2E7D32;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="60" y="1035" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg2" value="网格划线" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF9C4;strokeColor=#F9A825;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="60" y="1070" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg3" value="过零点/配对" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E3F2FD;strokeColor=#1565C0;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="60" y="1105" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg4" value="投影计算" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E8EAF6;strokeColor=#3949AB;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="60" y="1140" width="100" height="28" as="geometry"/>
</mxCell>
<mxCell id="leg5" value="分割/后处理" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE0B2;strokeColor=#E65100;strokeWidth=2;fontSize=11;align=center;verticalAlign=middle" vertex="1" parent="1">
<mxGeometry x="60" y="1175" width="100" height="28" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>