code: public static ComplexImg transform(ColorImg img, int channel) {
  		sanityCheckForward(img, channel);
  		// transform
  		ComplexImg transformed = new ComplexImg(img.getDimension());
  		FFT.fft(
  				img.getData()[channel], // input
  				transformed.getDataReal(), // real out
  				transformed.getDataImag(), // imaginary out
  				img.getWidth(), img.getHeight()); // dimensions
  		return transformed;
  	}
docs: Fourier transforms the specified channel of the specified {@link ColorImg}.
  @param img of which one channel is to be transformed
  @param channel the channel which will be transformed
  @return the transform as ComplexImg
  
  @throws IllegalArgumentException if the specified channel is out of range ([0..3]) or is alpha (3)
  but the specified image does not have an alpha channel