*/
public static BufferedImage intensityArrayToBufferedImage(byte[] array, int w, int h){
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);
int[] nBits = {8};
ColorModel cm = new ComponentColorModel(cs, nBits, false, true, Transparency.OPAQUE, DataBuffer.TYPE_BYTE);
SampleModel sm = cm.createCompatibleSampleModel(w, h);
DataBufferByte db = new DataBufferByte(array, w*h);
WritableRaster raster = Raster.createWritableRaster(sm, db, null);
BufferedImage bm = new BufferedImage(cm, raster, false, null);
return bm;
}