at.tuwien.ifs.somtoolbox.visualization
Class PMatrix

java.lang.Object
  extended by at.tuwien.ifs.somtoolbox.visualization.AbstractBackgroundImageVisualizer
      extended by at.tuwien.ifs.somtoolbox.visualization.AbstractMatrixVisualizer
          extended by at.tuwien.ifs.somtoolbox.visualization.UMatrix
              extended by at.tuwien.ifs.somtoolbox.visualization.PMatrix
All Implemented Interfaces:
BackgroundImageVisualizer, MatrixVisualizer, Comparable<BackgroundImageVisualizer>

public class PMatrix
extends UMatrix

This visualizer implements:

Version:
$Id: PMatrix.java 3874 2010-11-02 14:14:38Z mayer $
Author:
Rudolf Mayer

Nested Class Summary
 class PMatrix.PMatrixControlPanel
           
 
Nested classes/interfaces inherited from class at.tuwien.ifs.somtoolbox.visualization.AbstractBackgroundImageVisualizer
AbstractBackgroundImageVisualizer.ContourInterpolationMode, AbstractBackgroundImageVisualizer.ContourMode, AbstractBackgroundImageVisualizer.VisualizationControlPanel
 
Field Summary
private  InputVectorDistanceMatrix distanceMatrix
           
static double PARETO_SIZE
          pareto-optimal size, as dervied in the paper "Maps for the Visualization of high-dimensional Data Space"
(package private)  cern.colt.matrix.DoubleMatrix1D percentiles
           
private static HashMap<org.apache.commons.collections.keyvalue.MultiKey,cern.colt.matrix.DoubleMatrix2D> pMatrixCache
           
private  double radius
          The radius for the density calculation
 
Fields inherited from class at.tuwien.ifs.somtoolbox.visualization.UMatrix
UMATRIX_SHORT_NAMES
 
Fields inherited from class at.tuwien.ifs.somtoolbox.visualization.AbstractMatrixVisualizer
maximumMatrixValue, minimumMatrixValue, palette
 
Fields inherited from class at.tuwien.ifs.somtoolbox.visualization.AbstractBackgroundImageVisualizer
cache, CACHE_KEY_SECTION_SEPARATOR, CACHE_KEY_SEPARATOR, contourInterpolationMode, contourMode, controlPanel, currentZDimSlice, inputObjects, interpolate, log, map, MAX_CACHE_SIZE_MB, neededInputObjects, NUM_VISUALIZATIONS, numberOfContours, opacity, preferredScaleFactor, VISUALIZATION_DESCRIPTIONS, VISUALIZATION_NAMES, VISUALIZATION_SHORT_NAMES, visualizationUpdateListener, zSize
 
Fields inherited from interface at.tuwien.ifs.somtoolbox.visualization.BackgroundImageVisualizer
DEFAULT_BACKGROUND_VISUALIZATION_SCALE
 
Constructor Summary
PMatrix()
           
 
Method Summary
private  int calculateParetoRadiusPercentile(InputVectorDistanceMatrix distances, cern.colt.matrix.DoubleMatrix1D percentiles)
           
static int coordinates2index(int row, int col, int columns)
           
private  cern.colt.matrix.DoubleMatrix1D createPercentiles(InputVectorDistanceMatrix distances)
           
 cern.colt.matrix.DoubleMatrix2D createPMatrix(GrowingSOM gsom)
           
 cern.colt.matrix.DoubleMatrix2D createUStarMatrix(GrowingSOM gsom)
           
 BufferedImage createVisualization(int index, GrowingSOM gsom, int width, int height)
          Creates a visualisation image.
private  cern.colt.matrix.DoubleMatrix1D getAllDensities(InputVectorDistanceMatrix distances, double radius)
           
protected  String getCacheKey(GrowingSOM gsom, int index, int width, int height)
          The key of a cache is created as follows: VisualisationShortName + Hashcode of the SOM + Width + Height + Opacity.
Sub-classes might add more information to the cache, if needed.
 String[] needsAdditionalFiles()
          Checks whether this visualisation still needs some input files to generate an image.
private  void setOptimalRadius()
           
private  void updateRadiusTextField()
           
 
Methods inherited from class at.tuwien.ifs.somtoolbox.visualization.UMatrix
createUMatrix, getPreferredPaletteName
 
Methods inherited from class at.tuwien.ifs.somtoolbox.visualization.AbstractMatrixVisualizer
computeHitHistogram, computeSpline, constrainWithinPalette, createImage, drawContour, getCurrentPalette, getMaximumMatrixValue, getMinimumMatrixValue, getPalette, getVisualization, invalidateCache, reversePalette, setInterpolate, setPalette
 
Methods inherited from class at.tuwien.ifs.somtoolbox.visualization.AbstractBackgroundImageVisualizer
appendToCacheKey, buildCacheKey, checkNeededObjectsAvailable, checkVariantIndex, clearVisualisationCache, compareTo, createVisualization, drawBackground, getControlPanel, getHTMLVisualisationControl, getNumberOfVisualizations, getPreferredScaleFactor, getVariantException, getVisualizationDescription, getVisualizationDescriptions, getVisualizationFlavours, getVisualizationFlavours, getVisualizationFlavours, getVisualizationName, getVisualizationNames, getVisualizationShortName, getVisualizationShortNames, invalidateCache, logImageCache, setInputObjects, setMap, setSOMData, setVisualizationUpdateListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface at.tuwien.ifs.somtoolbox.visualization.BackgroundImageVisualizer
getControlPanel, getHTMLVisualisationControl, getNumberOfVisualizations, getPreferredScaleFactor, getVisualization, getVisualizationDescription, getVisualizationDescriptions, getVisualizationFlavours, getVisualizationFlavours, getVisualizationFlavours, getVisualizationName, getVisualizationNames, getVisualizationShortName, getVisualizationShortNames, setInputObjects, setMap, setSOMData, setVisualizationUpdateListener
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

pMatrixCache

private static final HashMap<org.apache.commons.collections.keyvalue.MultiKey,cern.colt.matrix.DoubleMatrix2D> pMatrixCache

PARETO_SIZE

public static final double PARETO_SIZE
pareto-optimal size, as dervied in the paper "Maps for the Visualization of high-dimensional Data Space"

See Also:
Constant Field Values

distanceMatrix

private InputVectorDistanceMatrix distanceMatrix

radius

private double radius
The radius for the density calculation


percentiles

cern.colt.matrix.DoubleMatrix1D percentiles
Constructor Detail

PMatrix

public PMatrix()
Method Detail

needsAdditionalFiles

public String[] needsAdditionalFiles()
Description copied from interface: BackgroundImageVisualizer
Checks whether this visualisation still needs some input files to generate an image.

Specified by:
needsAdditionalFiles in interface BackgroundImageVisualizer
Overrides:
needsAdditionalFiles in class AbstractBackgroundImageVisualizer
Returns:
an array containing the names of the input objects needed

getCacheKey

protected String getCacheKey(GrowingSOM gsom,
                             int index,
                             int width,
                             int height)
Description copied from class: AbstractBackgroundImageVisualizer
The key of a cache is created as follows: VisualisationShortName + Hashcode of the SOM + Width + Height + Opacity.
Sub-classes might add more information to the cache, if needed.

Overrides:
getCacheKey in class AbstractMatrixVisualizer

setOptimalRadius

private void setOptimalRadius()

updateRadiusTextField

private void updateRadiusTextField()

createVisualization

public BufferedImage createVisualization(int index,
                                         GrowingSOM gsom,
                                         int width,
                                         int height)
                                  throws SOMToolboxException
Description copied from class: AbstractBackgroundImageVisualizer
Creates a visualisation image. Subclasses must implement this method.

Overrides:
createVisualization in class UMatrix
Parameters:
index - the index of the variant to use
gsom - the GrowingSOM to take build the visualisation for
width - the desired width of the image, in pixels
height - the desired height of the image, in pixels.
Returns:
an image for this visualisation.
Throws:
SOMToolboxException

createPMatrix

public cern.colt.matrix.DoubleMatrix2D createPMatrix(GrowingSOM gsom)
                                              throws MetricException,
                                                     LayerAccessException
Throws:
MetricException
LayerAccessException

coordinates2index

public static int coordinates2index(int row,
                                    int col,
                                    int columns)

createPercentiles

private cern.colt.matrix.DoubleMatrix1D createPercentiles(InputVectorDistanceMatrix distances)

getAllDensities

private cern.colt.matrix.DoubleMatrix1D getAllDensities(InputVectorDistanceMatrix distances,
                                                        double radius)

calculateParetoRadiusPercentile

private int calculateParetoRadiusPercentile(InputVectorDistanceMatrix distances,
                                            cern.colt.matrix.DoubleMatrix1D percentiles)

createUStarMatrix

public cern.colt.matrix.DoubleMatrix2D createUStarMatrix(GrowingSOM gsom)
                                                  throws MetricException,
                                                         LayerAccessException
Throws:
MetricException
LayerAccessException