Interface Matrix

All Known Implementing Classes:
MatrixInt, MatrixShort

public interface Matrix
A matrix for the computation of the Diff-X path.

This interface is intended to provide methods for initialising and accessing the values of the matrix regardless of the storage method used.

Implementations could use binary matrices, I/O objects, etc...

Version:
7 April 2005
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    get(int i, int j)
    Returns the value at the given position.
    void
    incrementByMaxPath(int i, int j)
    Increment by the maximum path.
    void
    incrementPathBy(int i, int j, int n)
    Increment the path.
    boolean
    isGreaterX(int i, int j)
    Returns true we should move on the X direction.
    boolean
    isGreaterY(int i, int j)
    Returns true we should move on the X direction.
    boolean
    isSameXY(int i, int j)
    Returns true we moving on the X direction is equivalent to moving on the Y direction.
    void
    Releases all the resources used only by this matrix object.
    void
    set(int i, int j, int x)
    Sets the value of the matrix at the given position.
    void
    setup(int width, int height)
    Create a matrix of the given width and height.
  • Method Details

    • setup

      void setup(int width, int height)
      Create a matrix of the given width and height.
      Parameters:
      width - The number of columns.
      height - The number of rows.
    • set

      void set(int i, int j, int x)
      Sets the value of the matrix at the given position.
      Parameters:
      i - The column index.
      j - The row index.
      x - The value to set.
    • get

      int get(int i, int j)
      Returns the value at the given position.
      Parameters:
      i - The column index.
      j - The row index.
      Returns:
      The value at the given position.
    • incrementPathBy

      void incrementPathBy(int i, int j, int n)
      Increment the path.

      value(i, j) := value(i+1, j+1) + n

      Parameters:
      i - The column index.
      j - The row index.
      n - The increment number.
    • incrementByMaxPath

      void incrementByMaxPath(int i, int j)
      Increment by the maximum path.

      value(i, j) := max( value(i+1, j) , value(i, j+1) )

      Parameters:
      i - The column index.
      j - The row index.
    • isGreaterX

      boolean isGreaterX(int i, int j)
      Returns true we should move on the X direction.

      if value(i+1, j) > value(i, j+1)

      Parameters:
      i - The column index.
      j - The row index.
      Returns:
      true to move to i+1; false otherwise.
    • isGreaterY

      boolean isGreaterY(int i, int j)
      Returns true we should move on the X direction.

      if value(i+1, j) < value(i, j+1)

      Parameters:
      i - The column index.
      j - The row index.
      Returns:
      true to move to j+1; false otherwise.
    • isSameXY

      boolean isSameXY(int i, int j)
      Returns true we moving on the X direction is equivalent to moving on the Y direction.

      if value(i+1, j) == value(i, j+1)

      Parameters:
      i - The column index.
      j - The row index.
      Returns:
      true if it is the same; false otherwise.
    • release

      void release()
      Releases all the resources used only by this matrix object.

      This class is not usable, until after invoking this method, unless it is setup again.