Class ISOMLayout<V,E>

java.lang.Object
edu.uci.ics.jung.algorithms.layout.AbstractLayout<V,E>
edu.uci.ics.jung.algorithms.layout.ISOMLayout<V,E>
All Implemented Interfaces:
com.google.common.base.Function<V,Point2D>, Layout<V,E>, IterativeContext, Function<V,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 Details

    • isomVertexData

      protected com.google.common.cache.LoadingCache<V,ISOMLayout.ISOMVertexData> isomVertexData
    • 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
    • elementAccessor

      protected GraphElementAccessor<V,E> elementAccessor
    • coolingFactor

      private double coolingFactor
    • queue

      private List<V> queue
    • status

      private String status
  • Constructor Details

    • ISOMLayout

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

    • getStatus

      public 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, Point2D tempXYD)
    • getISOMVertexData

      protected ISOMLayout.ISOMVertexData getISOMVertexData(V v)
    • 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>