Revision: 6186 http://sourceforge.net/p/jump-pilot/code/6186 Author: michaudm Date: 2019-05-25 07:23:42 +0000 (Sat, 25 May 2019) Log Message: ----------- GraphToolBox : fix skeletonizer plugin v 0.6.2
Modified Paths: -------------- plug-ins/GraphToolboxPlugin/trunk/build.xml plug-ins/GraphToolboxPlugin/trunk/doc/GraphToolboxExtension4OJ.odt plug-ins/GraphToolboxPlugin/trunk/doc/GraphToolboxExtension4OJ_fr.odt plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/GraphExtension.java plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/SkeletonPlugIn.java Modified: plug-ins/GraphToolboxPlugin/trunk/build.xml =================================================================== --- plug-ins/GraphToolboxPlugin/trunk/build.xml 2019-04-23 11:46:09 UTC (rev 6185) +++ plug-ins/GraphToolboxPlugin/trunk/build.xml 2019-05-25 07:23:42 UTC (rev 6186) @@ -17,7 +17,7 @@ <property name="dist" value="dist" /> <property name="javadoc" value="javadoc" /> - <property name="version" value="0.6.1" /> + <property name="version" value="0.6.2" /> <!-- =================================================================== --> <!-- Defines the classpath used for compilation and test. --> Modified: plug-ins/GraphToolboxPlugin/trunk/doc/GraphToolboxExtension4OJ.odt =================================================================== (Binary files differ) Modified: plug-ins/GraphToolboxPlugin/trunk/doc/GraphToolboxExtension4OJ_fr.odt =================================================================== (Binary files differ) Modified: plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/GraphExtension.java =================================================================== --- plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/GraphExtension.java 2019-04-23 11:46:09 UTC (rev 6185) +++ plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/GraphExtension.java 2019-05-25 07:23:42 UTC (rev 6186) @@ -35,8 +35,9 @@ * <li>CycleFinderPlugIn : computes a graph from a linear network and find base cycles</li> * </ul> * @author Michaël Michaud - * @version 0.6.1 (2018-06-17) + * @version 0.6.2 (2019-05-22) */ +//version 0.6.2 (2019-05-22) fix bug in SkeletonPlugIn : incorrect relativeMinForkLength //version 0.6.1 (2018-06-17) refactor to use AbstractPlugIn parameters in GraphNodesPlugIn //version 0.6.0 (2018-06-12) refactor to use AbstractPlugIn parameters in SkeletonPlugIn //version 0.5.9 (2018-06-06) fix a new robustess problem Modified: plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/SkeletonPlugIn.java =================================================================== --- plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/SkeletonPlugIn.java 2019-04-23 11:46:09 UTC (rev 6185) +++ plug-ins/GraphToolboxPlugin/trunk/src/fr/michaelm/jump/plugin/graph/SkeletonPlugIn.java 2019-05-25 07:23:42 UTC (rev 6186) @@ -47,6 +47,7 @@ private static String P_MIN_FORK_LENGTH = "MinForkLength"; private static String P_RELATIVE_MIN_FORK_LENGTH = "MinForkLengthRelative"; private static String P_SNAP_TO_BOUNDARY = "SnapToBoundary"; + private static String P_MEAN_WIDTH = "MeanWidth"; // Internal intermediate result private static String GRAPH = I18NPlug.getI18N("Graph"); private static String CENTRAL_SKELETON = I18NPlug.getI18N("SkeletonPlugIn"); @@ -163,6 +164,12 @@ displayVoronoiEdges = dialog.getBoolean(DISPLAY_VORONOI_EDGES); } + private double getMinForkLength() { + return getBooleanParam(P_RELATIVE_MIN_FORK_LENGTH) ? + getDoubleParam(P_MIN_FORK_LENGTH) * getDoubleParam(P_MEAN_WIDTH) + : getDoubleParam(P_MIN_FORK_LENGTH); + } + public void run(TaskMonitor monitor, PlugInContext context) { monitor.report(SKELETONIZE); LayerManager layerManager = context.getLayerManager(); @@ -199,7 +206,7 @@ } newFeature.setAttribute("mean_width", meanWidth); newFeature.setAttribute("min_width", getDoubleParam(P_MIN_WIDTH)); - newFeature.setAttribute("min_fork_length", getDoubleParam(P_MIN_FORK_LENGTH)); + newFeature.setAttribute("min_fork_length", getMinForkLength()); g = skeletonize(g, edges); newFeature.setGeometry(g); newFeature.setAttribute("iteration_number", ((Object[])g.getUserData())[0]); @@ -255,9 +262,10 @@ } addParameter(P_MIN_WIDTH, semiMinWidth); } - if (getBooleanParam(P_RELATIVE_MIN_FORK_LENGTH)) { - addParameter(P_MIN_FORK_LENGTH, getDoubleParam(P_MIN_FORK_LENGTH)*meanWidth); - } + addParameter(P_MEAN_WIDTH, meanWidth); + //if (getBooleanParam(P_RELATIVE_MIN_FORK_LENGTH)) { + // addParameter(P_MIN_FORK_LENGTH, getDoubleParam(P_MIN_FORK_LENGTH)*meanWidth); + //} simplification = getDoubleParam(P_MIN_WIDTH)/5.0; densification = getDoubleParam(P_MIN_WIDTH)/2.0; return geometry; @@ -598,7 +606,7 @@ if (nodes.nbOfDegreeN()==2) nonTerminalSegmentNumber++; if (nonTerminalSegmentNumber>1 && iterative) break; if (nodes.nbOfDegree1() != 1) continue; - if (e.getGeometry().getLength() > getDoubleParam(P_MIN_FORK_LENGTH)) continue; + if (e.getGeometry().getLength() > getMinForkLength()) continue; PointPairDistance ppd = new PointPairDistance(); DistanceToPoint.computeDistance(boundary, nodes.getDegree1().getCoordinate(), ppd); double coeff = ppd.getDistance() / e.getGeometry().getLength(); _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel