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,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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classISOMLayout.ISOMVertexData
-
Field Summary
Fields Modifier and Type Field Description private doubleadaptionprivate doublecoolingFactorprotected GraphElementAccessor<V,E>elementAccessorprivate intepochprivate doubleinitialAdaptionprotected com.google.common.cache.LoadingCache<V,ISOMLayout.ISOMVertexData>isomVertexDataprivate intmaxEpochprivate doubleminAdaptionprivate intminRadiusprivate java.util.List<V>queueprivate intradiusprivate intradiusConstantTimeprivate java.lang.Stringstatus-
Fields inherited from class edu.uci.ics.jung.algorithms.layout.AbstractLayout
graph, initialized, locations, size
-
-
Constructor Summary
Constructors Constructor Description ISOMLayout(Graph<V,E> g)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidadjust()private voidadjustVertex(V v, java.awt.geom.Point2D tempXYD)booleandone()Returnstrueif the vertex positions are no longer being updated.protected ISOMLayout.ISOMVertexDatagetISOMVertexData(V v)java.lang.StringgetStatus()voidinitialize()Initializes fields in the node that may not have been set during the constructor.booleanisIncremental()This one is an incremental visualization.voidreset()Resets the layout iteration count to 0, which allows the layout algorithm to continue updating vertex positions.voidstep()Advances the current positions of the graph elements.private voidupdateParameters()-
Methods inherited from class edu.uci.ics.jung.algorithms.layout.AbstractLayout
apply, getGraph, getSize, getX, getY, isLocked, lock, lock, offsetVertex, setGraph, setInitializer, setLocation, setLocation, setSize
-
-
-
-
Field Detail
-
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 java.util.List<V> queue
-
status
private java.lang.String status
-
-
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:LayoutInitializes fields in the node that may not have been set during the constructor. Must be called before the iterations begin.- Specified by:
initializein interfaceLayout<V,E>
-
step
public void step()
Advances the current positions of the graph elements.- Specified by:
stepin interfaceIterativeContext
-
adjust
private void adjust()
-
updateParameters
private void updateParameters()
-
adjustVertex
private void adjustVertex(V v, java.awt.geom.Point2D tempXYD)
-
getISOMVertexData
protected ISOMLayout.ISOMVertexData getISOMVertexData(V v)
-
isIncremental
public boolean isIncremental()
This one is an incremental visualization.- Returns:
trueis the layout algorithm is incremental,falseotherwise
-
done
public boolean done()
Returnstrueif the vertex positions are no longer being updated. CurrentlyISOMLayoutstops updating vertex positions after a certain number of iterations have taken place.- Specified by:
donein interfaceIterativeContext- Returns:
trueif the vertex position updates have stopped,falseotherwise
-
-