Package net.sourceforge.jiu.color.data

# Class MemoryCoOccurrenceFrequencyMatrix

java.lang.Object
net.sourceforge.jiu.color.data.BaseCoOccurrenceFrequencyMatrix
net.sourceforge.jiu.color.data.MemoryCoOccurrenceFrequencyMatrix

All Implemented Interfaces:
  `CoOccurrenceFrequencyMatrix`

public class MemoryCoOccurrenceFrequencyMatrix extends BaseCoOccurrenceFrequencyMatrix
Implements the `CoOccurrenceFrequencyMatrix` interface by using a large array of values in memory.

Author:
  Marco Schmidt

## Field Summary

Fields
Modifier and Type
Field
Description
`private double[]`
`data`
co occurrence frequency values
`private final int`
`dimension`
will be initialized in constructor and never changed
`private int`
`numValues`
total number of values, equals dimension * dimension and data.length

## Constructor Summary

Constructors
Constructor
Description
`MemoryCoOccurrenceFrequencyMatrix(int dimension)`
Creates a co-occurrence frequency matrix of given dimension; allocates dimension times dimension double values for internal array; does not call clear() to set everything to zero, must be done by user (or automatically in init).

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
Sets all values of this matrix to zero.
`int`
`getDimension()`
Returns the dimension of this matrix.
`double`
`getValue(int i)`
Returns the value of this matrix at row i, column i.
`double`
`getValue(int i, int j)`
Returns the value of this matrix at row j, column i.
`void`
`setValue(int i, int j, double newValue)`
Sets value at row j, column i to newValue.

### Methods inherited from class net.sourceforge.jiu.color.data.BaseCoOccurrenceFrequencyMatrix

`computeStatistics, getMean, getScofMean, getScofStddev, getScofSum, getStddev`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### dimension

private final int dimension
will be initialized in constructor and never changed

### numValues

private int numValues
total number of values, equals dimension * dimension and data.length

### data

private double[] data
co occurrence frequency values

## Constructor Details

### MemoryCoOccurrenceFrequencyMatrix

public MemoryCoOccurrenceFrequencyMatrix(int dimension)
Creates a co-occurrence frequency matrix of given dimension; allocates dimension times dimension double values for internal array; does not call clear() to set everything to zero, must be done by user (or automatically in init). Dimension should be number of colors in palette.

Throws:
  `IllegalArgumentException` - if dimension is smaller than 1

## Method Details

### clear

public void clear()
Sets all values of this matrix to zero.

### getDimension

public int getDimension()
Description copied from interface: `CoOccurrenceFrequencyMatrix`
Returns the dimension of this matrix.

### getValue

public double getValue(int i) throws IllegalArgumentException
Returns the value of this matrix at row i, column i. Argument is zero-based, so make sure that 0 <= i < getDimension(). Other values will raise an IllegalArgumentException. Simply calls getValue(i, i).

Parameters:
  `i` - index into the matrix, must be larger than or equal to 0 and smaller than `CoOccurrenceFrequencyMatrix.getDimension()`
Throws:
  `IllegalArgumentException`

### getValue

public double getValue(int i, int j) throws IllegalArgumentException
Returns the value of this matrix at row j, column i. Both arguments are zero-based, so make sure that 0 <= i, j < getDimension(). Other values will raise an IllegalArgumentException.

Throws:
  `IllegalArgumentException`

### setValue

public void setValue(int i, int j, double newValue) throws IllegalArgumentException
Sets value at row j, column i to newValue. Both arguments are zero-based, so make sure that 0 <= i, j < getDimension(). Other values will raise an IllegalArgumentException.

Throws:
  `IllegalArgumentException`