public class WrapperFloatMatrix2D extends FloatMatrix2D
| Constructor and Description |
|---|
WrapperFloatMatrix2D(FloatMatrix2D newContent) |
| Modifier and Type | Method and Description |
|---|---|
FloatMatrix2D |
assign(float[] values)
Sets all cells to the state specified by values.
|
FloatMatrix2D |
assign(FloatMatrix2D y,
FloatFloatFunction function)
Assigns the result of a function to each cell;
x[row,col] = function(x[row,col],y[row,col]).
|
void |
dct2(boolean scale)
Computes the 2D discrete cosine transform (DCT-II) of this matrix.
|
void |
dctColumns(boolean scale)
Computes the discrete cosine transform (DCT-II) of each column of this
matrix.
|
void |
dctRows(boolean scale)
Computes the discrete cosine transform (DCT-II) of each row of this
matrix.
|
void |
dht2()
Computes the 2D discrete Hartley transform (DHT) of this matrix.
|
void |
dhtColumns()
Computes the discrete Hertley transform (DHT) of each column of this
matrix.
|
void |
dhtRows()
Computes the discrete Hertley transform (DHT) of each row of this matrix.
|
void |
dst2(boolean scale)
Computes the 2D discrete sine transform (DST-II) of this matrix.
|
void |
dstColumns(boolean scale)
Computes the discrete sine transform (DST-II) of each column of this
matrix.
|
void |
dstRows(boolean scale)
Computes the discrete sine transform (DST-II) of each row of this matrix.
|
Object |
elements()
Returns the elements of this matrix.
|
boolean |
equals(float value)
Returns whether all cells are equal to the given value.
|
boolean |
equals(Object obj)
Compares this object against the specified object.
|
void |
fft2()
Computes the 2D discrete Fourier transform (DFT) of this matrix.
|
DenseLargeFComplexMatrix2D |
getFft2()
Returns new complex matrix which is the 2D discrete Fourier transform
(DFT) of this matrix.
|
DenseLargeFComplexMatrix2D |
getFftColumns()
Returns new complex matrix which is the discrete Fourier transform (DFT)
of each column of this matrix.
|
DenseLargeFComplexMatrix2D |
getFftRows()
Returns new complex matrix which is the discrete Fourier transform (DFT)
of each row of this matrix.
|
DenseLargeFComplexMatrix2D |
getIfft2(boolean scale)
Returns new complex matrix which is the 2D inverse of the discrete
Fourier transform (IDFT) of this matrix.
|
DenseLargeFComplexMatrix2D |
getIfftColumns(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier
transform (IDFT) of each column of this matrix.
|
DenseLargeFComplexMatrix2D |
getIfftRows(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier
transform (IDFT) of each row of this matrix.
|
float |
getQuick(int row,
int column)
Returns the matrix cell value at coordinate [row,column].
|
void |
idct2(boolean scale)
Computes the 2D inverse of the discrete cosine transform (DCT-III) of
this matrix.
|
void |
idctColumns(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each
column of this matrix.
|
void |
idctRows(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each
row of this matrix.
|
void |
idht2(boolean scale)
Computes the 2D inverse of the discrete Hartley transform (DHT) of this
matrix.
|
void |
idhtColumns(boolean scale)
Computes the inverse of the discrete Hartley transform (DHT) of each
column of this matrix.
|
void |
idhtRows(boolean scale)
Computes the inverse of the discrete Hartley transform (DHT) of each row
of this matrix.
|
void |
idst2(boolean scale)
Computes the 2D inverse of the discrete size transform (DST-III) of this
matrix.
|
void |
idstColumns(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each
column of this matrix.
|
void |
idstRows(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each row
of this matrix.
|
void |
ifft2(boolean scale)
Computes the 2D inverse of the discrete Fourier transform (IDFT) of this
matrix.
|
FloatMatrix2D |
like(int rows,
int columns)
Construct and returns a new empty matrix of the same dynamic type
as the receiver, having the specified number of rows and columns.
|
FloatMatrix1D |
like1D(int size)
Construct and returns a new 1-d matrix of the corresponding dynamic
type, entirelly independent of the receiver.
|
void |
setQuick(int row,
int column,
float value)
Sets the matrix cell at coordinate [row,column] to the specified
value.
|
FloatMatrix1D |
vectorize()
Returns a vector obtained by stacking the columns of the matrix on top of
one another.
|
FloatMatrix1D |
viewColumn(int column)
Constructs and returns a new slice view representing the rows of
the given column.
|
FloatMatrix2D |
viewColumnFlip()
Constructs and returns a new flip view along the column axis.
|
FloatMatrix2D |
viewDice()
Constructs and returns a new dice (transposition) view; Swaps
axes; example: 3 x 4 matrix --> 4 x 3 matrix.
|
FloatMatrix2D |
viewPart(int row,
int column,
int height,
int width)
Constructs and returns a new sub-range view that is a
height x width sub matrix starting at [row,column].
|
FloatMatrix1D |
viewRow(int row)
Constructs and returns a new slice view representing the columns
of the given row.
|
FloatMatrix2D |
viewRowFlip()
Constructs and returns a new flip view along the row axis.
|
FloatMatrix2D |
viewSelection(int[] rowIndexes,
int[] columnIndexes)
Constructs and returns a new selection view that is a matrix
holding the indicated cells.
|
FloatMatrix2D |
viewStrides(int _rowStride,
int _columnStride)
Constructs and returns a new stride view which is a sub matrix
consisting of every i-th cell.
|
aggregate, aggregate, aggregate, aggregate, assign, assign, assign, assign, assign, assign, assign, cardinality, copy, forEachNonZero, get, getMaxLocation, getMinLocation, getNegativeValues, getNonZeros, getPositiveValues, like, normalize, set, toArray, toString, viewSelection, viewSelection, viewSorted, zAssign8Neighbors, zMult, zMult, zMult, zMult, zSumcheckShape, checkShape, columns, columnStride, index, rows, rowStride, size, toStringShortensureCapacity, isView, trimToSizeclonepublic WrapperFloatMatrix2D(FloatMatrix2D newContent)
public FloatMatrix2D assign(float[] values)
FloatMatrix2DThe values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.
assign in class FloatMatrix2Dvalues - the values to be filled into the cells.public FloatMatrix2D assign(FloatMatrix2D y, FloatFloatFunction function)
FloatMatrix2DExample:
// assign x[row,col] = x[row,col]<sup>y[row,col]</sup>
m1 = 2 x 2 matrix
0 1
2 3
m2 = 2 x 2 matrix
0 2
4 6
m1.assign(m2, cern.jet.math.Functions.pow);
-->
m1 == 2 x 2 matrix
1 1
16 729
For further examples, see the package doc.assign in class FloatMatrix2Dy - the secondary matrix to operate on.function - a function object taking as first argument the current cell's
value of this, and as second argument the current
cell's value of y,FloatFunctionspublic Object elements()
FloatMatrix2Delements in class FloatMatrix2Dpublic float getQuick(int row,
int column)
FloatMatrix2DProvided with invalid parameters this method may return invalid objects without throwing any exception. You should only use this method when you are absolutely sure that the coordinate is within bounds. Precondition (unchecked): 0 <= column < columns() && 0 <= row < rows().
getQuick in class FloatMatrix2Drow - the index of the row-coordinate.column - the index of the column-coordinate.public boolean equals(float value)
FloatMatrix2Dequals in class FloatMatrix2Dvalue - the value to test against.public boolean equals(Object obj)
FloatMatrix2Dtrue if and only if the argument is not null
and is at least a FloatMatrix2D object that has the same
number of columns and rows as the receiver and has exactly the same
values at the same coordinates.equals in class FloatMatrix2Dobj - the object to compare with.true if the objects are the same; false
otherwise.public FloatMatrix2D like(int rows, int columns)
FloatMatrix2Dlike in class FloatMatrix2Drows - the number of rows the matrix shall have.columns - the number of columns the matrix shall have.public FloatMatrix1D like1D(int size)
FloatMatrix2Dlike1D in class FloatMatrix2Dsize - the number of cells the matrix shall have.public void dct2(boolean scale)
scale - if true then scaling is performedpublic void dctColumns(boolean scale)
scale - if true then scaling is performedpublic void dctRows(boolean scale)
scale - if true then scaling is performedpublic void dst2(boolean scale)
scale - if true then scaling is performedpublic void dstColumns(boolean scale)
scale - if true then scaling is performedpublic void dstRows(boolean scale)
scale - if true then scaling is performedpublic void dht2()
public void dhtColumns()
public void dhtRows()
public void fft2()
this[k1][2*k2] = Re[k1][k2] = Re[rows-k1][columns-k2],
this[k1][2*k2+1] = Im[k1][k2] = -Im[rows-k1][columns-k2],
0<k1<rows, 0<k2<columns/2,
this[0][2*k2] = Re[0][k2] = Re[0][columns-k2],
this[0][2*k2+1] = Im[0][k2] = -Im[0][columns-k2],
0<k2<columns/2,
this[k1][0] = Re[k1][0] = Re[rows-k1][0],
this[k1][1] = Im[k1][0] = -Im[rows-k1][0],
this[rows-k1][1] = Re[k1][columns/2] = Re[rows-k1][columns/2],
this[rows-k1][0] = -Im[k1][columns/2] = Im[rows-k1][columns/2],
0<k1<rows/2,
this[0][0] = Re[0][0],
this[0][1] = Re[0][columns/2],
this[rows/2][0] = Re[rows/2][0],
this[rows/2][1] = Re[rows/2][columns/2]
This method computes only half of the elements of the real transform. The
other half satisfies the symmetry condition. If you want the full real
forward transform, use getFft2. To get back the original
data, use ifft2.IllegalArgumentException - if the row size or the column size of this matrix is not a
power of 2 number.public DenseLargeFComplexMatrix2D getFft2()
public DenseLargeFComplexMatrix2D getIfft2(boolean scale)
public DenseLargeFComplexMatrix2D getFftColumns()
public DenseLargeFComplexMatrix2D getFftRows()
public DenseLargeFComplexMatrix2D getIfftColumns(boolean scale)
public DenseLargeFComplexMatrix2D getIfftRows(boolean scale)
public void idct2(boolean scale)
scale - if true then scaling is performedpublic void idctColumns(boolean scale)
scale - if true then scaling is performedpublic void idctRows(boolean scale)
scale - if true then scaling is performedpublic void idst2(boolean scale)
scale - if true then scaling is performedpublic void idstColumns(boolean scale)
scale - if true then scaling is performedpublic void idstRows(boolean scale)
scale - if true then scaling is performedpublic void idht2(boolean scale)
scale - if true then scaling is performedpublic void idhtColumns(boolean scale)
scale - if true then scaling is performedpublic void idhtRows(boolean scale)
scale - if true then scaling is performedpublic void ifft2(boolean scale)
this[k1][2*k2] = Re[k1][k2] = Re[rows-k1][columns-k2],
this[k1][2*k2+1] = Im[k1][k2] = -Im[rows-k1][columns-k2],
0<k1<rows, 0<k2<columns/2,
this[0][2*k2] = Re[0][k2] = Re[0][columns-k2],
this[0][2*k2+1] = Im[0][k2] = -Im[0][columns-k2],
0<k2<columns/2,
this[k1][0] = Re[k1][0] = Re[rows-k1][0],
this[k1][1] = Im[k1][0] = -Im[rows-k1][0],
this[rows-k1][1] = Re[k1][columns/2] = Re[rows-k1][columns/2],
this[rows-k1][0] = -Im[k1][columns/2] = Im[rows-k1][columns/2],
0<k1<rows/2,
this[0][0] = Re[0][0],
this[0][1] = Re[0][columns/2],
this[rows/2][0] = Re[rows/2][0],
this[rows/2][1] = Re[rows/2][columns/2]
This method computes only half of the elements of the real transform. The
other half satisfies the symmetry condition. If you want the full real
inverse transform, use getIfft2.scale - if true then scaling is performedIllegalArgumentException - if the row size or the column size of this matrix is not a
power of 2 number.public void setQuick(int row,
int column,
float value)
FloatMatrix2DProvided with invalid parameters this method may access illegal indexes without throwing any exception. You should only use this method when you are absolutely sure that the coordinate is within bounds. Precondition (unchecked): 0 <= column < columns() && 0 <= row < rows().
setQuick in class FloatMatrix2Drow - the index of the row-coordinate.column - the index of the column-coordinate.value - the value to be filled into the specified cell.public FloatMatrix1D vectorize()
FloatMatrix2Dvectorize in class FloatMatrix2Dpublic FloatMatrix1D viewColumn(int column)
FloatMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewColumn(0) ==> | Matrix1D of size 2: 1, 4 |
viewColumn in class FloatMatrix2Dcolumn - the column to fix.FloatMatrix2D.viewRow(int)public FloatMatrix2D viewColumnFlip()
FloatMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
columnFlip ==> | 2 x 3 matrix: 3, 2, 1 6, 5, 4 |
columnFlip ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewColumnFlip in class FloatMatrix2DFloatMatrix2D.viewRowFlip()public FloatMatrix2D viewDice()
FloatMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
transpose ==> | 3 x 2 matrix: 1, 4 2, 5 3, 6 |
transpose ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewDice in class FloatMatrix2Dpublic FloatMatrix2D viewPart(int row, int column, int height, int width)
FloatMatrix2DNote that the view is really just a range restriction: The returned matrix is backed by this matrix, so changes in the returned matrix are reflected in this matrix, and vice-versa.
The view contains the cells from [row,column] to [row+height-1,column+width-1], all inclusive. and has view.rows() == height; view.columns() == width;. A view's legal coordinates are again zero based, as usual. In other words, legal coordinates of the view range from [0,0] to [view.rows()-1==height-1,view.columns()-1==width-1]. As usual, any attempt to access a cell at a coordinate column<0 || column>=view.columns() || row<0 || row>=view.rows() will throw an IndexOutOfBoundsException.
viewPart in class FloatMatrix2Drow - The index of the row-coordinate.column - The index of the column-coordinate.height - The height of the box.width - The width of the box.public FloatMatrix1D viewRow(int row)
FloatMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewRow(0) ==> | Matrix1D of size 3: 1, 2, 3 |
viewRow in class FloatMatrix2Drow - the row to fix.FloatMatrix2D.viewColumn(int)public FloatMatrix2D viewRowFlip()
FloatMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
rowFlip ==> | 2 x 3 matrix: 4, 5, 6 1, 2, 3 |
rowFlip ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewRowFlip in class FloatMatrix2DFloatMatrix2D.viewColumnFlip()public FloatMatrix2D viewSelection(int[] rowIndexes, int[] columnIndexes)
FloatMatrix2DExample:
this = 2 x 3 matrix:
1, 2, 3
4, 5, 6
rowIndexes = (0,1)
columnIndexes = (1,0,1,0)
-->
view = 2 x 4 matrix:
2, 1, 2, 1
5, 4, 5, 4
Note that modifying the index arguments after this call has returned has
no effect on the view. The returned view is backed by this matrix, so
changes in the returned view are reflected in this matrix, and
vice-versa.
To indicate "all" rows or "all columns", simply set the respective parameter
viewSelection in class FloatMatrix2DrowIndexes - The rows of the cells that shall be visible in the new view.
To indicate that all rows shall be visible, simply set
this parameter to null.columnIndexes - The columns of the cells that shall be visible in the new
view. To indicate that all columns shall be visible,
simply set this parameter to null.public FloatMatrix2D viewStrides(int _rowStride, int _columnStride)
FloatMatrix2DviewStrides in class FloatMatrix2D_rowStride - the row step factor._columnStride - the column step factor.Jump to the Parallel Colt Homepage