public static ByteMatrix readMaskTile(Path parentFolderPath, int tileLeftX, int tileTopY, int tileWidth, int tileHeight)
throws IOException {
File nodesFile = AbstractWriteMasksTilesComputing.computeMaskTilePath(parentFolderPath, tileLeftX, tileTopY, tileWidth, tileHeight).toFile();
BufferedInputStreamWrapper inputFileStream = null;
try {
inputFileStream = new BufferedInputStreamWrapper(nodesFile);
ByteMatrix maskTilePixels = new ByteMatrix(tileHeight, tileWidth);
int tileBottomY = tileTopY + tileHeight;
int tileRightX = tileLeftX + tileWidth;
for (int y = tileTopY; y < tileBottomY; y++) {
for (int x = tileLeftX; x < tileRightX; x++) {
maskTilePixels.setValueAt(y-tileTopY, x-tileLeftX, inputFileStream.readBoolean() ? 1 : (byte)ForestCoverChangeConstants.NO_DATA_VALUE);
}
}
return maskTilePixels;
} finally {
if (inputFileStream != null) {
try {
inputFileStream.close();
} catch (IOException exception) {
}
}
}
}