at.tuwien.ifs.somtoolbox.output
Class HTMLOutputter

java.lang.Object
  extended by at.tuwien.ifs.somtoolbox.output.HTMLOutputter
All Implemented Interfaces:
SOMToolboxApp

public class HTMLOutputter
extends java.lang.Object
implements SOMToolboxApp

Version:
$Id: HTMLOutputter.java 3996 2011-01-19 15:05:13Z mayer $
Author:
Michael Dittenbach, Christoph Becker, Rudolf Mayer

Nested Class Summary
 
Nested classes/interfaces inherited from interface at.tuwien.ifs.somtoolbox.apps.SOMToolboxApp
SOMToolboxApp.Type
 
Field Summary
private static java.lang.String _bodyTag
           
private static java.lang.String _bodyTagClose
           
private static java.lang.String _docType
           
private static java.lang.String _headTag
           
private static java.lang.String _headTagClose
           
private static java.lang.String _htmlTag
           
private static java.lang.String _htmlTagClose
           
private static java.lang.String _linkToStyle
           
private static java.lang.String _scriptTag
           
private static java.lang.String _titleTag
           
private static java.lang.String _titleTagClose
           
private static java.lang.String _xmlHeader
           
static SOMToolboxApp.Type APPLICATION_TYPE
           
static java.lang.String DESCRIPTION
           
private  java.lang.String linksuffix
          suffix to append to hrefs.
static java.lang.String LONG_DESCRIPTION
           
static com.martiansoftware.jsap.Parameter[] OPTIONS
           
private static java.lang.String styleFileName
           
private static java.lang.String tooltipFileName
           
 
Fields inherited from interface at.tuwien.ifs.somtoolbox.apps.SOMToolboxApp
DEV_BY_STRING, HOMEPAGE, INFO, INFO_TEXT, LICENSE_TEXT, REQUIRED_MEMBERS, TYPE_GROUPED_COMPARATOR
 
Constructor Summary
HTMLOutputter()
           
 
Method Summary
private  void _write(GrowingSOM gsom, java.lang.String fDir, java.lang.String fName, java.lang.String[] dataNames)
           
private  double[] calcMinMax(GrowingSOM gsom)
           
private  java.lang.String createHTML(GrowingSOM gsom, java.lang.String fDir, java.lang.String fName, double[] minmax, java.lang.String[] dataNames)
          Creates the string containing the HTML representation of a map.
private  java.lang.String createMiniMap(java.lang.String fName, Unit u)
           
private  java.lang.String createTooltipDataTable(java.lang.String[] names, double[] distances, double minDistance, double maxDistance, java.lang.String[] hlDataNames)
           
private  java.lang.String emptyUnitRepresentation(Unit u)
           
private  java.lang.String expandedUnitRepresentation(Unit u, double[] minmax, java.lang.String fDir, java.lang.String fName, java.lang.String[] hlDataNames)
           
 java.lang.String getLinksuffix()
           
private  java.lang.String labelInfo(Unit u, double[] minmax)
           
private  java.lang.String leafUnitRepresentation(Unit u, double[] minmax, java.lang.String[] hlDataNames)
           
static void main(java.lang.String[] args)
          Main method for standalone operation.
private  java.lang.String mapQuantizationInfo(GrowingSOM gsom)
           
private  java.lang.String mapRepresentation(GrowingSOM gsom, double[] minmax, java.lang.String fDir, java.lang.String fName, java.lang.String[] dataNames)
           
private  java.lang.String nonEmptyUnitRepresentation(Unit u, double[] minmax, java.lang.String fDir, java.lang.String fName, java.lang.String[] hlDataNames)
           
 void setLinksuffix(java.lang.String linksuffix)
           
private  java.lang.String unitRepresentation(Unit u, double[] minmax, java.lang.String fDir, java.lang.String fName, java.lang.String[] dataNames)
           
private  java.lang.String upperLayerMapInfo(java.lang.String name, Unit su)
           
 void write(GHSOM ghsom, java.lang.String fDir, java.lang.String fName)
           
 void write(GHSOM ghsom, java.lang.String fDir, java.lang.String fName, java.lang.String[] dataNames)
          Writes the HTML representation of a GHSOM to a file.
 void write(GrowingSOM gsom, java.lang.String fDir, java.lang.String fName)
           
 void write(GrowingSOM gsom, java.lang.String fDir, java.lang.String fName, java.lang.String[] dataNames)
          Writes the HTML representation of a GrowingSOM to a file.
private static void writeStyleFile(java.lang.String fDir)
           
private static void writeTooltipFile(java.lang.String fDir)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OPTIONS

public static final com.martiansoftware.jsap.Parameter[] OPTIONS

DESCRIPTION

public static java.lang.String DESCRIPTION

LONG_DESCRIPTION

public static java.lang.String LONG_DESCRIPTION

APPLICATION_TYPE

public static final SOMToolboxApp.Type APPLICATION_TYPE

styleFileName

private static final java.lang.String styleFileName
See Also:
Constant Field Values

tooltipFileName

private static final java.lang.String tooltipFileName
See Also:
Constant Field Values

_xmlHeader

private static final java.lang.String _xmlHeader
See Also:
Constant Field Values

_docType

private static final java.lang.String _docType
See Also:
Constant Field Values

_htmlTag

private static final java.lang.String _htmlTag
See Also:
Constant Field Values

_headTag

private static final java.lang.String _headTag
See Also:
Constant Field Values

_linkToStyle

private static final java.lang.String _linkToStyle
See Also:
Constant Field Values

_titleTag

private static final java.lang.String _titleTag
See Also:
Constant Field Values

_titleTagClose

private static final java.lang.String _titleTagClose
See Also:
Constant Field Values

_headTagClose

private static final java.lang.String _headTagClose
See Also:
Constant Field Values

_bodyTag

private static final java.lang.String _bodyTag
See Also:
Constant Field Values

_scriptTag

private static final java.lang.String _scriptTag
See Also:
Constant Field Values

_bodyTagClose

private static final java.lang.String _bodyTagClose
See Also:
Constant Field Values

_htmlTagClose

private static final java.lang.String _htmlTagClose
See Also:
Constant Field Values

linksuffix

private java.lang.String linksuffix
suffix to append to hrefs. This allows the labelling of hrefs to omit the filesuffix, looks much better. defaults to empty string for backwards compatibility

Constructor Detail

HTMLOutputter

public HTMLOutputter()
Method Detail

getLinksuffix

public java.lang.String getLinksuffix()
Returns:
the linksuffix currently used
See Also:
linksuffix

setLinksuffix

public void setLinksuffix(java.lang.String linksuffix)
Parameters:
linksuffix - the new suffix to use
See Also:
linksuffix

main

public static void main(java.lang.String[] args)
Main method for standalone operation. Three possible uses:
  1. generate HTML representation directly from unit description file
  2. label the already mapped data and generate HTML
  3. map data onto a trained SOM, label the data and generate HTML output.
b. and c. are convenience functions.

Options are:

Parameters:
args - the execution arguments as stated above.

write

public void write(GHSOM ghsom,
                  java.lang.String fDir,
                  java.lang.String fName,
                  java.lang.String[] dataNames)
           throws java.io.IOException
Writes the HTML representation of a GHSOM to a file.

Parameters:
ghsom - The GHSOM to be written.
fDir - Directory where to write the file to.
fName - Filename without suffix. Usually the name of the training run.
Throws:
java.io.IOException

write

public void write(GHSOM ghsom,
                  java.lang.String fDir,
                  java.lang.String fName)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(GrowingSOM gsom,
                  java.lang.String fDir,
                  java.lang.String fName,
                  java.lang.String[] dataNames)
           throws java.io.IOException
Writes the HTML representation of a GrowingSOM to a file.

Parameters:
gsom - The growing SOM to be written.
fDir - Directory where to write the file to.
fName - Filename without suffix. Usually the name of the training run.
Throws:
java.io.IOException

write

public void write(GrowingSOM gsom,
                  java.lang.String fDir,
                  java.lang.String fName)
           throws java.io.IOException
Throws:
java.io.IOException

_write

private void _write(GrowingSOM gsom,
                    java.lang.String fDir,
                    java.lang.String fName,
                    java.lang.String[] dataNames)
             throws java.io.IOException
Throws:
java.io.IOException

createHTML

private java.lang.String createHTML(GrowingSOM gsom,
                                    java.lang.String fDir,
                                    java.lang.String fName,
                                    double[] minmax,
                                    java.lang.String[] dataNames)
                             throws java.io.IOException
Creates the string containing the HTML representation of a map.

Parameters:
gsom - The GrowingSOM to be written.
fDir - Directory where to write the file.
fName - Filename without suffix. Usually the name of the training run.
minmax - Array of double containing the minima and maxima of distances between data items and weight vectors, and label values respectively. These values are used for coloring. [0] minimum distance, [1] maximum distance, [2] minimum label value, [3] maximum label value.
dataNames - Array of strings containing data items to highlight on the map
Returns:
String containing the HTML representation.
Throws:
java.io.IOException

upperLayerMapInfo

private java.lang.String upperLayerMapInfo(java.lang.String name,
                                           Unit su)

mapQuantizationInfo

private java.lang.String mapQuantizationInfo(GrowingSOM gsom)

mapRepresentation

private java.lang.String mapRepresentation(GrowingSOM gsom,
                                           double[] minmax,
                                           java.lang.String fDir,
                                           java.lang.String fName,
                                           java.lang.String[] dataNames)
                                    throws java.io.IOException
Throws:
java.io.IOException

unitRepresentation

private java.lang.String unitRepresentation(Unit u,
                                            double[] minmax,
                                            java.lang.String fDir,
                                            java.lang.String fName,
                                            java.lang.String[] dataNames)
                                     throws java.io.IOException
Throws:
java.io.IOException

emptyUnitRepresentation

private java.lang.String emptyUnitRepresentation(Unit u)

nonEmptyUnitRepresentation

private java.lang.String nonEmptyUnitRepresentation(Unit u,
                                                    double[] minmax,
                                                    java.lang.String fDir,
                                                    java.lang.String fName,
                                                    java.lang.String[] hlDataNames)
                                             throws java.io.IOException
Throws:
java.io.IOException

expandedUnitRepresentation

private java.lang.String expandedUnitRepresentation(Unit u,
                                                    double[] minmax,
                                                    java.lang.String fDir,
                                                    java.lang.String fName,
                                                    java.lang.String[] hlDataNames)
                                             throws java.io.IOException
Throws:
java.io.IOException

leafUnitRepresentation

private java.lang.String leafUnitRepresentation(Unit u,
                                                double[] minmax,
                                                java.lang.String[] hlDataNames)

labelInfo

private java.lang.String labelInfo(Unit u,
                                   double[] minmax)

createTooltipDataTable

private java.lang.String createTooltipDataTable(java.lang.String[] names,
                                                double[] distances,
                                                double minDistance,
                                                double maxDistance,
                                                java.lang.String[] hlDataNames)

createMiniMap

private java.lang.String createMiniMap(java.lang.String fName,
                                       Unit u)

calcMinMax

private double[] calcMinMax(GrowingSOM gsom)

writeTooltipFile

private static void writeTooltipFile(java.lang.String fDir)

writeStyleFile

private static void writeStyleFile(java.lang.String fDir)