private void RowFFT(ref Complex[,] inputs) { for (int i = 0; i < _ImageHeight; i++) { DFT dft = new DFT(); for (int j = 0; j < _ImageWidth; j++) { dft.append(inputs[j, i]); } dft.setInverse(_IsInverse); List <Complex> res = dft.transform(); for (int j = 0; j < res.Count; j++) { _output[j, i] = res[j]; } } }
private void ColFFT(ref Complex[,] inputs) { for (int i = 0; i < _ImageWidth; i++) { DFT dft = new DFT(); for (int j = 0; j < _ImageHeight; j++) { dft.append(inputs[i, j]); } dft.setInverse(_IsInverse); List <Complex> res = dft.transform(); for (int j = 0; j < res.Count; j++) { _output[i, j] = res[j]; updateMaxVal(res[j].Magnitude()); } } }