docs: public static GrayF32 convertFrom(BufferedImage src, GrayF32 dst) {
  		if (dst != null) {
  			dst.reshape(src.getWidth(), src.getHeight());
  		} else {
  			dst = new GrayF32( src.getWidth(), src.getHeight());
  		}
  
  		try {
  			DataBuffer buff = src.getRaster().getDataBuffer();
  
  			if ( buff.getDataType() == DataBuffer.TYPE_BYTE ) {
  				if( isKnownByteFormat(src) ) {
  					ConvertRaster.bufferedToGray((DataBufferByte)buff,src.getRaster(),dst);
  				} else {
  					ConvertRaster.bufferedToGray(src, dst.data, dst.startIndex, dst.stride);
  				}
  			} else if (buff.getDataType() == DataBuffer.TYPE_INT) {
  				ConvertRaster.bufferedToGray((DataBufferInt)buff, src.getRaster(), dst);
  			} else {
  				ConvertRaster.bufferedToGray(src, dst.data, dst.startIndex, dst.stride);
  			}
  		} catch( java.security.AccessControlException e) {
  			// Applets don't allow access to the raster()
  			ConvertRaster.bufferedToGray(src, dst.data, dst.startIndex, dst.stride);
  		}
  
  		return dst;
  	}