docs: int estimateVersionBySize( QrCode qr ) {
  		// Just need the homography for this corner square square
  		gridReader.setMarkerUnknownVersion(qr,0);
  
  		// Compute location of position patterns relative to corner PP
  		gridReader.imageToGrid(qr.ppRight.get(0),grid);
  
  		// see if pp is miss aligned. Probably not a flat surface
  		// or they don't belong to the same qr code
  		if( Math.abs(grid.y/grid.x) >= 0.3 )
  			return -1;
  
  		double versionX = ((grid.x+7)-17)/4;
  
  		gridReader.imageToGrid(qr.ppDown.get(0),grid);
  
  		if( Math.abs(grid.x/grid.y) >= 0.3 )
  			return -1;
  
  		double versionY = ((grid.y+7)-17)/4;
  
  		// see if they are in agreement
  		if( Math.abs(versionX-versionY)/Math.max(versionX,versionY) > 0.4 )
  			return -1;
  
  		return (int)((versionX+versionY)/2.0 + 0.5);
  	}