extractDataRegion(bitMatrix) {
        const symbolSizeRows = this.version.getSymbolSizeRows();
        const symbolSizeColumns = this.version.getSymbolSizeColumns();
        if (bitMatrix.getHeight() !== symbolSizeRows) {
            throw new IllegalArgumentException('Dimension of bitMatrix must match the version size');
        }
        const dataRegionSizeRows = this.version.getDataRegionSizeRows();
        const dataRegionSizeColumns = this.version.getDataRegionSizeColumns();
        const numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0;
        const numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0;
        const sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows;
        const sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns;
        const bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionColumn, sizeDataRegionRow);
        for (let dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) {
            const dataRegionRowOffset = dataRegionRow * dataRegionSizeRows;
            for (let dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) {
                const dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns;
                for (let i = 0; i < dataRegionSizeRows; ++i) {
                    const readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i;
                    const writeRowOffset = dataRegionRowOffset + i;
                    for (let j = 0; j < dataRegionSizeColumns; ++j) {
                        const readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j;
                        if (bitMatrix.get(readColumnOffset, readRowOffset)) {
                            const writeColumnOffset = dataRegionColumnOffset + j;
                            bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset);
                        }
                    }
                }
            }
        }
        return bitMatrixWithoutAlignment;
    }
/**
     * <p>Extracts the data region from a {@link BitMatrix} that contains
     * alignment patterns.</p>
     *
     * @param bitMatrix Original {@link BitMatrix} with alignment patterns
     * @return BitMatrix that has the alignment patterns removed
     */
Extracts the data region from a  BitMatrix that contains
alignment patterns.

@param bitMatrix Original  BitMatrix with alignment patterns
@return BitMatrix that has the alignment patterns removed
Extracts the data region from a BitMatrix that contains alignment patterns . @param bitMatrix Original BitMatrix with alignment patterns @return BitMatrix that has the alignment patterns removed
extractDataRegion(bitMatrix) {
        const symbolSizeRows = this.version.getSymbolSizeRows();
        const symbolSizeColumns = this.version.getSymbolSizeColumns();
        if (bitMatrix.getHeight() !== symbolSizeRows) {
            throw new IllegalArgumentException('Dimension of bitMatrix must match the version size');
        }
        const dataRegionSizeRows = this.version.getDataRegionSizeRows();
        const dataRegionSizeColumns = this.version.getDataRegionSizeColumns();
        const numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0;
        const numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0;
        const sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows;
        const sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns;
        const bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionColumn, sizeDataRegionRow);
        for (let dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) {
            const dataRegionRowOffset = dataRegionRow * dataRegionSizeRows;
            for (let dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) {
                const dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns;
                for (let i = 0; i < dataRegionSizeRows; ++i) {
                    const readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i;
                    const writeRowOffset = dataRegionRowOffset + i;
                    for (let j = 0; j < dataRegionSizeColumns; ++j) {
                        const readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j;
                        if (bitMatrix.get(readColumnOffset, readRowOffset)) {
                            const writeColumnOffset = dataRegionColumnOffset + j;
                            bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset);
                        }
                    }
                }
            }
        }
        return bitMatrixWithoutAlignment;
    }
extractDataRegion ( bitMatrix ) { const symbolSizeRows = this . version . getSymbolSizeRows ( ) ; const symbolSizeColumns = this . version . getSymbolSizeColumns ( ) ; if ( bitMatrix . getHeight ( ) !== symbolSizeRows ) { throw new IllegalArgumentException ( 'Dimension of bitMatrix must match the version size' ) ; } const dataRegionSizeRows = this . version . getDataRegionSizeRows ( ) ; const dataRegionSizeColumns = this . version . getDataRegionSizeColumns ( ) ; const numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0 ; const numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0 ; const sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows ; const sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns ; const bitMatrixWithoutAlignment = new BitMatrix ( sizeDataRegionColumn , sizeDataRegionRow ) ; for ( let dataRegionRow = 0 ; dataRegionRow < numDataRegionsRow ; ++ dataRegionRow ) { const dataRegionRowOffset = dataRegionRow * dataRegionSizeRows ; for ( let dataRegionColumn = 0 ; dataRegionColumn < numDataRegionsColumn ; ++ dataRegionColumn ) { const dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns ; for ( let i = 0 ; i < dataRegionSizeRows ; ++ i ) { const readRowOffset = dataRegionRow * ( dataRegionSizeRows + 2 ) + 1 + i ; const writeRowOffset = dataRegionRowOffset + i ; for ( let j = 0 ; j < dataRegionSizeColumns ; ++ j ) { const readColumnOffset = dataRegionColumn * ( dataRegionSizeColumns + 2 ) + 1 + j ; if ( bitMatrix . get ( readColumnOffset , readRowOffset ) ) { const writeColumnOffset = dataRegionColumnOffset + j ; bitMatrixWithoutAlignment . set ( writeColumnOffset , writeRowOffset ) ; } } } } } return bitMatrixWithoutAlignment ; }
<p>Extracts the data region from a {@link BitMatrix} that contains
 alignment patterns.</p>
<p > Extracts the data region from a { @link BitMatrix } that contains alignment patterns . < / p >