52 lines
3.9 KiB
Plaintext
52 lines
3.9 KiB
Plaintext
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
||
|
<name>Shape Recognition</name>
|
||
|
<id>fablabchemnitz.de.shape_recognition</id>
|
||
|
<param name="MainTabs" type="notebook">
|
||
|
<page name="Basic" gui-text="Basic options">
|
||
|
<label>Simple shape
|
||
|
recognition. From a selection of one or many path, find straight
|
||
|
lines, recognizes those parallel or with similar angles or
|
||
|
lenght. Recognizes rectangles, circle and ellipses.</label>
|
||
|
<param name="keepOrigin" type="bool" gui-text="Keep origin path">false</param>
|
||
|
<param name="doUniformization" type="bool" gui-text="Enable uniformization">true</param>
|
||
|
</page>
|
||
|
<page name="page_segments" gui-text="Segments finding">
|
||
|
<label appearance="header">Segment extension</label>
|
||
|
<param name="segExtensionEnable" type="bool" gui-text="Enable">true</param>
|
||
|
<param name="segExtensionDtoSeg" type="float" gui-description="Distance (relative to segment length) from point to segment below wich point is merged to segment" gui-text="Relative distance to segment" precision="3" min="0" max="20">10.0</param>
|
||
|
<param name="segExtensionQual" type="float" gui-description="Fit quality for which a candidate point is actually merged" gui-text="Fit quality" precision="2" max="1.">0.2</param>
|
||
|
<label appearance="header">Remove very small segments/sub-paths</label>
|
||
|
<param name="segRemoveSmallEdge" type="bool" gui-text="Enable">true</param>
|
||
|
</page>
|
||
|
<page name="page_merging" gui-text="Segments merging">
|
||
|
<label appearance="header">Merge aligned consectutive segments</label>
|
||
|
<param name="segAngleMergeEnable" type="bool" gui-text="Enable">true</param>
|
||
|
<param name="segAngleMergePara" type="float" gui-description="How close to parraell do segments need to be to fit" gui-text="Fit parrell at" precision="3" max="1.">0.500</param>
|
||
|
<param name="segAngleMergeTol1" type="float" gui-description="Merge line if angles are less than tolarane 1" gui-text="merge lines with angles within tolerance1" precision="2" max="1.">0.48</param>
|
||
|
<param name="segAngleMergeTol2" type="float" gui-description="Merge line if angles are less than tolarane 2" gui-text="merge lines with angles within tolerance2" precision="3" max="1.">0.50</param>
|
||
|
</page>
|
||
|
<page name="page_normalization" gui-text="length normalization">
|
||
|
<param name="doEqualizeDist" type="bool" gui-text="Equalize segments of similar length">true</param>
|
||
|
<param name="shapeDistLocal" type="float" gui-description="Make lengths the mean of the lengths if they are within this threashold" gui-text="make lengths equal locally" precision="3" max="50.">0.3</param>
|
||
|
<param name="shapeDistGlobal" type="float" gui-description="Make lengths the mean of the lengths if they are within this threashold, globally" gui-text="make lengths equal globally" precision="4" max="50.">0.025</param>
|
||
|
</page>
|
||
|
<page name="page_unif" gui-text="Uniformization">
|
||
|
<param name="doParrallelize" type="bool" gui-text="Parallelize segments">true</param>
|
||
|
<param name="doKnownAngle" type="bool" gui-text="Set segment angles to closest remarkable angles">true</param>
|
||
|
<param name="doEqualizeRadius" type="bool" gui-text="Equalize circle radius of similar length">true</param>
|
||
|
<param name="doCenterCircOnSeg" type="bool" gui-text="Center circle center on nearby segment">true</param>
|
||
|
</page>
|
||
|
</param>
|
||
|
<effect>
|
||
|
<object-type>path</object-type>
|
||
|
<effects-menu>
|
||
|
<submenu name="FabLab Chemnitz">
|
||
|
<submenu name="Tracing/Edge Detection"/>
|
||
|
</submenu>
|
||
|
</effects-menu>
|
||
|
</effect>
|
||
|
<script>
|
||
|
<command location="inx" interpreter="python">shape_recognition.py</command>
|
||
|
</script>
|
||
|
</inkscape-extension>
|