public DoubleMatrix3D like(int slices, int rows, int columns) { return new DenseLargeDoubleMatrix3D(slices, rows, columns); }
/** * Computes the 2D discrete Hertley transform (DHT) of each column of this * matrix. */ public void dht2Slices() { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dht2Slices(); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dht2Slices(); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 3D discrete Hartley transform (DHT) of this matrix. */ public void dht3() { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dht3(); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dht3(); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
public DoubleMatrix3D getImaginaryPart() { final DenseLargeDoubleMatrix3D Im = new DenseLargeDoubleMatrix3D(slices, rows, columns); int nthreads = ConcurrencyUtils.getNumberOfThreads(); if ((nthreads > 1) && (size() >= ConcurrencyUtils.getThreadsBeginN_3D())) { for (int r = 0; r < rows; r++) { for (int c = 0; c < columns; c++) { Im.setQuick(s, r, c, getQuick(s, r, c)[1]);
/** * Returns new complex matrix which is the 3D discrete Fourier transform * (DFT) of this matrix. * * @return the 3D discrete Fourier transform (DFT) of this matrix. * */ public DenseLargeDComplexMatrix3D getFft3() { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { return ((DenseLargeDoubleMatrix3D) content).getFft3(); } else { return ((DenseLargeDoubleMatrix3D) copy()).getFft3(); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Returns new complex matrix which is the 2D discrete Fourier transform * (DFT) of each slice of this matrix. * * @return the 2D discrete Fourier transform (DFT) of each slice of this * matrix. */ public DenseLargeDComplexMatrix3D getFft2Slices() { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { return ((DenseLargeDoubleMatrix3D) content).getFft2Slices(); } else { return ((DenseLargeDoubleMatrix3D) copy()).getFft2Slices(); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 3D discrete sine transform (DST-II) of this matrix. * * @param scale * if true then scaling is performed */ public void dst3(boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dst3(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dst3(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 3D discrete cosine transform (DCT-II) of this matrix. * * @param scale * if true then scaling is performed * */ public void dct3(boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dct3(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dct3(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 2D discrete cosine transform (DCT-II) of each slice of this * matrix. * * @param scale * if true then scaling is performed */ public void dct2Slices(final boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dct2Slices(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dct2Slices(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 2D discrete sine transform (DST-II) of each slice of this * matrix. * * @param scale * if true then scaling is performed * */ public void dst2Slices(final boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dst2Slices(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dst2Slices(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
public DoubleMatrix3D getImaginaryPart() { final DenseLargeDoubleMatrix3D Im = new DenseLargeDoubleMatrix3D(slices, rows, columns); int nthreads = ConcurrencyUtils.getNumberOfThreads(); if ((nthreads > 1) && (size() >= ConcurrencyUtils.getThreadsBeginN_3D())) { for (int r = 0; r < rows; r++) { for (int c = 0; c < columns; c++) { Im.setQuick(s, r, c, getQuick(s, r, c)[1]);
/** * Returns new complex matrix which is the 3D discrete Fourier transform * (DFT) of this matrix. * * @return the 3D discrete Fourier transform (DFT) of this matrix. * */ public DenseLargeDComplexMatrix3D getFft3() { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { return ((DenseLargeDoubleMatrix3D) content).getFft3(); } else { return ((DenseLargeDoubleMatrix3D) copy()).getFft3(); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Returns new complex matrix which is the 2D discrete Fourier transform * (DFT) of each slice of this matrix. * * @return the 2D discrete Fourier transform (DFT) of each slice of this * matrix. */ public DenseLargeDComplexMatrix3D getFft2Slices() { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { return ((DenseLargeDoubleMatrix3D) content).getFft2Slices(); } else { return ((DenseLargeDoubleMatrix3D) copy()).getFft2Slices(); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 3D discrete sine transform (DST-II) of this matrix. * * @param scale * if true then scaling is performed */ public void dst3(boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dst3(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dst3(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 3D discrete cosine transform (DCT-II) of this matrix. * * @param scale * if true then scaling is performed * */ public void dct3(boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dct3(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dct3(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 2D discrete cosine transform (DCT-II) of each slice of this * matrix. * * @param scale * if true then scaling is performed */ public void dct2Slices(final boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dct2Slices(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dct2Slices(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
/** * Computes the 2D discrete sine transform (DST-II) of each slice of this * matrix. * * @param scale * if true then scaling is performed * */ public void dst2Slices(final boolean scale) { if (content instanceof DenseLargeDoubleMatrix3D) { if (this.isNoView == true) { ((DenseLargeDoubleMatrix3D) content).dst2Slices(scale); } else { DenseLargeDoubleMatrix3D copy = (DenseLargeDoubleMatrix3D) copy(); copy.dst2Slices(scale); assign(copy); } } else { throw new IllegalArgumentException("This method is not supported"); } }
public DoubleMatrix3D getRealPart() { final DenseLargeDoubleMatrix3D Re = new DenseLargeDoubleMatrix3D(slices, rows, columns); int nthreads = ConcurrencyUtils.getNumberOfThreads(); if ((nthreads > 1) && (size() >= ConcurrencyUtils.getThreadsBeginN_3D())) { for (int r = 0; r < rows; r++) { for (int c = 0; c < columns; c++) { Re.setQuick(s, r, c, getQuick(s, r, c)[0]);