docs: public static Planar<GrayU8> loadPPM_U8(InputStream inputStream, Planar<GrayU8> storage , GrowQueue_I8 temp )
  			throws IOException
  	{
  		DataInputStream in = new DataInputStream(inputStream);
  
  		readLine(in);
  		String line = readLine(in);
  		while( line.charAt(0) == '#')
  			line = readLine(in);
  		String s[] = line.split(" ");
  		int w = Integer.parseInt(s[0]);
  		int h = Integer.parseInt(s[1]);
  		readLine(in);
  
  		if( storage == null || storage.getNumBands() != 3 )
  			storage = new Planar<>(GrayU8.class,w,h,3 );
  		else
  			storage.reshape(w,h);
  
  		int length = w*h*3;
  		if( temp == null )
  			temp = new GrowQueue_I8(length);
  		temp.resize(length);
  
  		byte data[] = temp.data;
  		read(in,data,length);
  
  		GrayU8 band0 = storage.getBand(0);
  		GrayU8 band1 = storage.getBand(1);
  		GrayU8 band2 = storage.getBand(2);
  
  		int indexIn = 0;
  		for( int y = 0; y < storage.height; y++ ) {
  			int indexOut = storage.startIndex + y*storage.stride;
  			for( int x = 0; x < storage.width; x++ , indexOut++ ) {
  				band0.data[indexOut] = data[indexIn++];
  				band1.data[indexOut] = data[indexIn++];
  				band2.data[indexOut] = data[indexIn++];
  			}
  		}
  
  		return storage;
  	}