private void calculateRowFilterBytes() {
		if (interlaceMethod == CrushedPNGConstants.ADAM7_INTERLACE) {
			//Msg.debug(this, "Adam7 interlacing");

			for (int pass = 0; pass < CrushedPNGConstants.STARTING_ROW.length; pass++) {
				int height =
					(imgHeight - CrushedPNGConstants.STARTING_ROW[pass] + CrushedPNGConstants.ROW_INCREMENT[pass] - 1) /
						CrushedPNGConstants.ROW_INCREMENT[pass];
				rowFilterBytes += height;
			}

		} else {
			rowFilterBytes = imgHeight;
		}
	}
<pre>
	   From PNG Specs, http://www.w3.org/TR/PNG-Chunks.html
	   Color    Allowed    Interpretation
	   Type    Bit Depths
	   ------  ----------  ----------------------------------
	   0       1,2,4,8,16  Each pixel is a grayscale sample.
	   
	   2       8,16        Each pixel is an R,G,B triple.
	   
	   3       1,2,4,8     Each pixel is a palette index;
	                       a PLTE chunk must appear.
	   
	   4       8,16        Each pixel is a grayscale sample,
	                       followed by an alpha sample.
	   
	   6       8,16        Each pixel is an R,G,B triple,
	                       followed by an alpha sample.
</pre>
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/png/IHDRChunk.java