databionics.esom.grid
Class RectangularGrid

java.lang.Object
  extended by databionics.esom.grid.Grid
      extended by databionics.esom.grid.MatrixGrid
          extended by databionics.esom.grid.RectangularGrid
Direct Known Subclasses:
PlanarGrid, ToroidRectangularGrid

public abstract class RectangularGrid
extends MatrixGrid

Abstract base class for all grid structures with a rectangular shaped grid.


Field Summary
protected  int columns
          columns of rectangle
protected static org.apache.log4j.Logger log
          interface to log4j system
protected  int rows
          rows of rectangle
 
Fields inherited from class databionics.esom.grid.MatrixGrid
weights
 
Fields inherited from class databionics.esom.grid.Grid
dim, distanceFunction, distanceFunctionName, size
 
Constructor Summary
RectangularGrid()
          Standard constructor
RectangularGrid(int rows, int cols, int dim)
          Constructor with sizes
 
Method Summary
 int coordinates2index(int row, int col)
          Convert row/column coordinates on grid to unique index
static int coordinates2index(int row, int col, int columns)
          Convert row/column coordinates on grid to unique index
 int getColumns()
          Get number of columns
 cern.colt.matrix.DoubleMatrix1D getNeuron(int row, int col)
          Access to a weight vector by coordinates
 int getRows()
          Get number of rows
 WtsFile getWts()
          Convert grid to wts file
abstract  int gridDistance(int row1, int col1, int row2, int col2)
          Distance of two neurons on the grid
 int index2col(int index)
          Convert unique index on grid to column coordinate
static int index2col(int index, int columns)
          Convert unique index on grid to column coordinate
 int index2row(int index)
          Convert unique index on grid to row coordinate
static int index2row(int index, int columns)
          Convert unique index on grid to row coordinate
 void init(java.lang.String method, Descriptives desc, cern.jet.random.engine.RandomEngine random)
          Initialize the dimensions of the weights by pca
static RectangularGrid loadWeights(java.lang.String filename)
          Load the weight vectors from a *.wts file
static int manhattanGridDistance(int row1, int col1, int row2, int col2)
          Manhattan distance on rectangular grids.
static int maximumGridDistance(int row1, int col1, int row2, int col2)
          Maximum distance on rectangular grids.
 boolean saveWeights(java.lang.String filename)
          Save the weight vectors to a *.wts file
 boolean saveWeights(java.lang.String filename, StringList comment)
          Save the weight vectors to a *.wts file
 void setColumns(int columns)
          Set number of columns
 void setRows(int rows)
          Set number of rows
static int squaredEuclideanGridDistance(int row1, int col1, int row2, int col2)
          Squared Euclidean distance on rectangular grids.
 
Methods inherited from class databionics.esom.grid.MatrixGrid
getNeuron, getWeights, init, setDim, setSize
 
Methods inherited from class databionics.esom.grid.Grid
dim, findNeighbors, getDistanceFunction, getDistanceFunctionName, init, init, setDistanceFunction, setDistanceFunction, size, transformRadius
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final org.apache.log4j.Logger log
interface to log4j system


rows

protected int rows
rows of rectangle


columns

protected int columns
columns of rectangle

Constructor Detail

RectangularGrid

public RectangularGrid()
Standard constructor


RectangularGrid

public RectangularGrid(int rows,
                       int cols,
                       int dim)
Constructor with sizes

Parameters:
rows - Rows of grid
cols - Columns of grid
dim - number of weights per neuron
Method Detail

coordinates2index

public static int coordinates2index(int row,
                                    int col,
                                    int columns)
Convert row/column coordinates on grid to unique index

Parameters:
row - row number on grid
col - column number on grid
columns - number of columns in grid
Returns:
unique index of neuron

index2row

public static int index2row(int index,
                            int columns)
Convert unique index on grid to row coordinate

Parameters:
index - unique index of neuron
columns - number of columns in grid
Returns:
row number on grid

index2col

public static int index2col(int index,
                            int columns)
Convert unique index on grid to column coordinate

Parameters:
index - unique index of neuron
columns - number of columns in grid
Returns:
column number on grid

manhattanGridDistance

public static int manhattanGridDistance(int row1,
                                        int col1,
                                        int row2,
                                        int col2)
Manhattan distance on rectangular grids.

Parameters:
row1 - row number on grid
col1 - column number on grid
row2 - row number on grid
col2 - column number on grid

squaredEuclideanGridDistance

public static int squaredEuclideanGridDistance(int row1,
                                               int col1,
                                               int row2,
                                               int col2)
Squared Euclidean distance on rectangular grids.

Parameters:
row1 - row number on grid
col1 - column number on grid
row2 - row number on grid
col2 - column number on grid

maximumGridDistance

public static int maximumGridDistance(int row1,
                                      int col1,
                                      int row2,
                                      int col2)
Maximum distance on rectangular grids.

Parameters:
row1 - row number on grid
col1 - column number on grid
row2 - row number on grid
col2 - column number on grid

init

public void init(java.lang.String method,
                 Descriptives desc,
                 cern.jet.random.engine.RandomEngine random)
Initialize the dimensions of the weights by pca

Overrides:
init in class Grid
Parameters:
method - name of initialization method
desc - statistics about the training data
random - An already existing random number generator.

getNeuron

public cern.colt.matrix.DoubleMatrix1D getNeuron(int row,
                                                 int col)
Access to a weight vector by coordinates

Parameters:
row - row number on grid
col - column number on grid

getColumns

public int getColumns()
Get number of columns

Returns:
number of columns

setColumns

public void setColumns(int columns)
Set number of columns

Parameters:
columns - number of columns

getRows

public int getRows()
Get number of rows

Returns:
number of rows

setRows

public void setRows(int rows)
Set number of rows

Parameters:
rows - number of rows

coordinates2index

public int coordinates2index(int row,
                             int col)
Convert row/column coordinates on grid to unique index

Parameters:
row - row number on grid
col - column number on grid
Returns:
unique index of neuron

index2row

public int index2row(int index)
Convert unique index on grid to row coordinate

Parameters:
index - unique index of neuron
Returns:
row number on grid

index2col

public int index2col(int index)
Convert unique index on grid to column coordinate

Parameters:
index - unique index of neuron
Returns:
column number on grid

gridDistance

public abstract int gridDistance(int row1,
                                 int col1,
                                 int row2,
                                 int col2)
Distance of two neurons on the grid

Parameters:
row1 - row number on grid
col1 - column number on grid
row2 - row number on grid
col2 - column number on grid

saveWeights

public boolean saveWeights(java.lang.String filename)
Save the weight vectors to a *.wts file

Parameters:
filename - name of the file

saveWeights

public boolean saveWeights(java.lang.String filename,
                           StringList comment)
Save the weight vectors to a *.wts file

Parameters:
filename - Name of the file
comment - Comment block with training parameters

loadWeights

public static RectangularGrid loadWeights(java.lang.String filename)
Load the weight vectors from a *.wts file

Parameters:
filename - Name of the file
Returns:
new grid with the weights

getWts

public WtsFile getWts()
Convert grid to wts file

Returns:
wts returns the wts.


Copyright © 2005-2006 Databionics Research Group. All Rights Reserved.