extractBits(matrix) {
			let compact = this.ddata.isCompact();
			let layers = this.ddata.getNbLayers();
			let baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines
			let alignmentMap = new Int32Array(baseMatrixSize);
			let rawbits = new Array(this.totalBitsInLayer(layers, compact));
			if (compact) {
				for (let i = 0; i < alignmentMap.length; i++) {
					alignmentMap[i] = i;
				}
			}
			else {
				let matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);
				let origCenter = baseMatrixSize / 2;
				let center = Integer.truncDivision(matrixSize, 2);
				for (let i = 0; i < origCenter; i++) {
					let newOffset = i + Integer.truncDivision(i, 15);
					alignmentMap[origCenter - i - 1] = center - newOffset - 1;
					alignmentMap[origCenter + i] = center + newOffset + 1;
				}
			}
			for (let i = 0, rowOffset = 0; i < layers; i++) {
				let rowSize = (layers - i) * 4 + (compact ? 9 : 12);
				// The top-left most point of this layer is <low, low> (not including alignment lines)
				let low = i * 2;
				// The bottom-right most point of this layer is <high, high> (not including alignment lines)
				let high = baseMatrixSize - 1 - low;
				// We pull bits from the two 2 x rowSize columns and two rowSize x 2 rows
				for (let j = 0; j < rowSize; j++) {
					let columnOffset = j * 2;
					for (let k = 0; k < 2; k++) {
						// left column
						rawbits[rowOffset + columnOffset + k] =
							matrix.get(alignmentMap[low + k], alignmentMap[low + j]);
						// bottom row
						rawbits[rowOffset + 2 * rowSize + columnOffset + k] =
							matrix.get(alignmentMap[low + j], alignmentMap[high - k]);
						// right column
						rawbits[rowOffset + 4 * rowSize + columnOffset + k] =
							matrix.get(alignmentMap[high - k], alignmentMap[high - j]);
						// top row
						rawbits[rowOffset + 6 * rowSize + columnOffset + k] =
							matrix.get(alignmentMap[high - j], alignmentMap[low + k]);
					}
				}
				rowOffset += rowSize * 8;
			}
			return rawbits;
		}
Gets the array of bits from an Aztec Code matrix

@return the array of bits