mightyscape-1.2/extensions/fablabchemnitz/shape_recognition/shape_recognition.inx

52 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>Shape Recognition (Unstable)</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/Images/Edge Detection"/>
</submenu>
</effects-menu>
</effect>
<script>
<command location="inx" interpreter="python">shape_recognition.py</command>
</script>
</inkscape-extension>