Package com.actelion.research.calc
Class SelfOrganizedMap
- java.lang.Object
-
- com.actelion.research.calc.DataProcessor
-
- com.actelion.research.calc.SelfOrganizedMap
-
public abstract class SelfOrganizedMap extends DataProcessor
-
-
Field Summary
Fields Modifier and Type Field Description static int
cModeFastBestMatchFinding
static int
cModeGrowDuringOptimization
static int
cModeNeighbourhoodGaussean
static int
cModeNeighbourhoodLinear
static int
cModeNeighbourhoodMexicanHat
static int
cModeTopologyUnlimited
protected SOMController
mController
protected double[][]
mInfluence
protected int
mMode
protected int
mNX
protected int
mNY
protected java.lang.Object[][]
mReferenceVector
-
Constructor Summary
Constructors Constructor Description SelfOrganizedMap()
Constructor to be used if SOM interna are read from a SOM file with read()SelfOrganizedMap(int nx, int ny, int mode)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
applyInfluences(java.lang.Object inputVector, java.awt.Point location)
protected void
applyInfluencesSMP(java.lang.Object inputVector, java.awt.Point location)
protected void
calculateInfluences(double time)
static java.lang.String
extractValue(java.lang.String theLine)
java.awt.Point
findBestMatchLocation(java.lang.Object inputVector)
java.awt.Point
findBestMatchLocationQuickly(java.lang.Object inputVector)
java.awt.Point
findBestMatchLocationSMP(java.lang.Object inputVector)
double[]
findExactMatchLocation(java.lang.Object inputVector)
double
getChaos()
int
getCreationMode()
abstract double
getDissimilarity(java.lang.Object vector1, java.lang.Object vector2)
int
getHeight()
double[][]
getInfluence()
double
getMatchScore()
protected abstract java.lang.Object
getMeanVector(java.lang.Object vector1, java.lang.Object vector2)
protected double
getNeighbourInfluence(int dx, int dy, double time)
protected abstract java.lang.Object
getRandomVector()
java.lang.Object
getReferenceVector(int x, int y)
protected double
getTimeInfluence(double time)
int
getWidth()
protected abstract void
initializeNormalization()
void
initializeReferenceVectors(int nx, int ny, int mode)
abstract java.lang.Object
normalizeVector(java.lang.Object vector)
void
organize()
void
read(java.io.BufferedReader reader)
protected abstract java.lang.String
referenceVectorToString(int x, int y)
void
setController(SOMController sc)
protected abstract void
setReferenceVector(int x, int y, java.lang.String ref)
protected abstract void
updateReference(java.lang.Object inputVector, java.lang.Object referenceVector, double influence)
void
write(java.io.BufferedWriter writer)
-
Methods inherited from class com.actelion.research.calc.DataProcessor
addProgressListener, removeProgressListener, setThreadMaster, setVerbose, startProgress, stopProgress, threadMustDie, updateProgress
-
-
-
-
Field Detail
-
cModeNeighbourhoodGaussean
public static final int cModeNeighbourhoodGaussean
- See Also:
- Constant Field Values
-
cModeNeighbourhoodMexicanHat
public static final int cModeNeighbourhoodMexicanHat
- See Also:
- Constant Field Values
-
cModeNeighbourhoodLinear
public static final int cModeNeighbourhoodLinear
- See Also:
- Constant Field Values
-
cModeTopologyUnlimited
public static final int cModeTopologyUnlimited
- See Also:
- Constant Field Values
-
cModeGrowDuringOptimization
public static final int cModeGrowDuringOptimization
- See Also:
- Constant Field Values
-
cModeFastBestMatchFinding
public static final int cModeFastBestMatchFinding
- See Also:
- Constant Field Values
-
mController
protected SOMController mController
-
mReferenceVector
protected java.lang.Object[][] mReferenceVector
-
mNX
protected int mNX
-
mNY
protected int mNY
-
mMode
protected int mMode
-
mInfluence
protected double[][] mInfluence
-
-
Method Detail
-
initializeReferenceVectors
public void initializeReferenceVectors(int nx, int ny, int mode)
-
setController
public void setController(SOMController sc)
-
getWidth
public int getWidth()
-
getHeight
public int getHeight()
-
getCreationMode
public int getCreationMode()
-
organize
public void organize()
-
getReferenceVector
public java.lang.Object getReferenceVector(int x, int y)
-
getInfluence
public double[][] getInfluence()
-
getChaos
public double getChaos()
-
getMatchScore
public double getMatchScore()
-
getTimeInfluence
protected double getTimeInfluence(double time)
-
getNeighbourInfluence
protected double getNeighbourInfluence(int dx, int dy, double time)
-
applyInfluences
protected void applyInfluences(java.lang.Object inputVector, java.awt.Point location)
-
applyInfluencesSMP
protected void applyInfluencesSMP(java.lang.Object inputVector, java.awt.Point location)
-
findBestMatchLocation
public java.awt.Point findBestMatchLocation(java.lang.Object inputVector)
-
findBestMatchLocationSMP
public java.awt.Point findBestMatchLocationSMP(java.lang.Object inputVector)
-
findBestMatchLocationQuickly
public java.awt.Point findBestMatchLocationQuickly(java.lang.Object inputVector)
-
findExactMatchLocation
public double[] findExactMatchLocation(java.lang.Object inputVector)
-
calculateInfluences
protected void calculateInfluences(double time)
-
write
public void write(java.io.BufferedWriter writer) throws java.io.IOException
- Throws:
java.io.IOException
-
read
public void read(java.io.BufferedReader reader) throws java.lang.Exception
- Throws:
java.lang.Exception
-
extractValue
public static java.lang.String extractValue(java.lang.String theLine)
-
referenceVectorToString
protected abstract java.lang.String referenceVectorToString(int x, int y)
-
setReferenceVector
protected abstract void setReferenceVector(int x, int y, java.lang.String ref) throws java.lang.Exception
- Throws:
java.lang.Exception
-
initializeNormalization
protected abstract void initializeNormalization()
-
updateReference
protected abstract void updateReference(java.lang.Object inputVector, java.lang.Object referenceVector, double influence)
-
getMeanVector
protected abstract java.lang.Object getMeanVector(java.lang.Object vector1, java.lang.Object vector2)
-
getRandomVector
protected abstract java.lang.Object getRandomVector()
-
normalizeVector
public abstract java.lang.Object normalizeVector(java.lang.Object vector)
-
getDissimilarity
public abstract double getDissimilarity(java.lang.Object vector1, java.lang.Object vector2)
-
-