Class ISOMLayout<V,​E>

  • All Implemented Interfaces:
    com.google.common.base.Function<V,​java.awt.geom.Point2D>, Layout<V,​E>, IterativeContext, java.util.function.Function<V,​java.awt.geom.Point2D>

    public class ISOMLayout<V,​E>
    extends AbstractLayout<V,​E>
    implements IterativeContext
    Implements a self-organizing map layout algorithm, based on Meyer's self-organizing graph methods.
    • Field Detail

      • maxEpoch

        private int maxEpoch
      • epoch

        private int epoch
      • radiusConstantTime

        private int radiusConstantTime
      • radius

        private int radius
      • minRadius

        private int minRadius
      • adaption

        private double adaption
      • initialAdaption

        private double initialAdaption
      • minAdaption

        private double minAdaption
      • coolingFactor

        private double coolingFactor
      • queue

        private java.util.List<V> queue
      • status

        private java.lang.String status
    • Constructor Detail

      • ISOMLayout

        public ISOMLayout​(Graph<V,​E> g)
    • Method Detail

      • getStatus

        public java.lang.String getStatus()
        Returns:
        the current number of epochs and execution status, as a string.
      • initialize

        public void initialize()
        Description copied from interface: Layout
        Initializes fields in the node that may not have been set during the constructor. Must be called before the iterations begin.
        Specified by:
        initialize in interface Layout<V,​E>
      • step

        public void step()
        Advances the current positions of the graph elements.
        Specified by:
        step in interface IterativeContext
      • adjust

        private void adjust()
      • updateParameters

        private void updateParameters()
      • adjustVertex

        private void adjustVertex​(V v,
                                  java.awt.geom.Point2D tempXYD)
      • isIncremental

        public boolean isIncremental()
        This one is an incremental visualization.
        Returns:
        true is the layout algorithm is incremental, false otherwise
      • done

        public boolean done()
        Returns true if the vertex positions are no longer being updated. Currently ISOMLayout stops updating vertex positions after a certain number of iterations have taken place.
        Specified by:
        done in interface IterativeContext
        Returns:
        true if the vertex position updates have stopped, false otherwise
      • reset

        public void reset()
        Resets the layout iteration count to 0, which allows the layout algorithm to continue updating vertex positions.
        Specified by:
        reset in interface Layout<V,​E>