@Override protected final void runTile(int tileLeftX, int tileTopY, int tileWidth, int tileHeight, int localRowIndex, int localColumnIndex) throws IOException, IllegalAccessException, InterruptedException { if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, ""); // add an empty line logger.log(Level.FINE, "Write mask values for tile region: row index: "+ localRowIndex+", column index: "+localColumnIndex+", bounds [x=" + tileLeftX+", y="+tileTopY+", width="+tileWidth+", height="+tileHeight+"]"); } File nodesFile = AbstractWriteMasksTilesComputing.computeMaskTilePath(this.temporaryFolder, tileLeftX, tileTopY, tileWidth, tileHeight).toFile(); BufferedOutputStreamWrapper outputFileStream = null; try { outputFileStream = new BufferedOutputStreamWrapper(nodesFile); int tileBottomY = tileTopY + tileHeight; int tileRightX = tileLeftX + tileWidth; for (int y = tileTopY; y < tileBottomY; y++) { for (int x = tileLeftX; x < tileRightX; x++) { outputFileStream.writeBoolean(isValidMaskPixel(x, y)); } } } finally { if (outputFileStream != null) { try { outputFileStream.close(); } catch (IOException exception) { // ignore exception } } } }
protected void writeNode(BufferedOutputStreamWrapper nodesFileStream, Node nodeToWrite) throws IOException { nodesFileStream.writeInt(nodeToWrite.getId()); nodesFileStream.writeInt(nodeToWrite.getPerimeter()); nodesFileStream.writeInt(nodeToWrite.getArea()); BoundingBox box = nodeToWrite.getBox(); nodesFileStream.writeInt(box.getLeftX()); nodesFileStream.writeInt(box.getTopY()); nodesFileStream.writeInt(box.getWidth()); nodesFileStream.writeInt(box.getHeight()); Contour contour = nodeToWrite.getContour(); nodesFileStream.writeInt(contour.size()); byte[] bits = contour.getBits(); nodesFileStream.writeInt(bits.length); nodesFileStream.write(bits); nodesFileStream.writeInt(nodeToWrite.getNumberOfComponentsPerPixel()); }
@Override protected void writeNode(BufferedOutputStreamWrapper nodesFileStream, Node nodeToWrite) throws IOException { super.writeNode(nodesFileStream, nodeToWrite); BaatzSchapeNode node = (BaatzSchapeNode)nodeToWrite; int count = node.getNumberOfComponentsPerPixel(); for (int i=0; i<count; i++) { nodesFileStream.writeFloat(node.getMeansAt(i)); nodesFileStream.writeFloat(node.getSpectralSumAt(i)); nodesFileStream.writeFloat(node.getSquareMeansAt(i)); nodesFileStream.writeFloat(node.getStdAt(i)); } }
outputFileStream = new BufferedOutputStreamWrapper(nodesFile); outputFileStream.writeInt(this.sourceBandNames.length); for (int i=0; i<this.sourceBandNames.length; i++) { Band band = this.sourceProduct.getBand(this.sourceBandNames[i]); outputFileStream.writeFloat(band.getSampleFloat(x, y)); if (outputFileStream != null) { try { outputFileStream.close(); } catch (IOException exception) {
try { File nodesFile = this.temporaryFolder.resolve(nodesPath).toFile(); nodesFileStream = new BufferedOutputStreamWrapper(nodesFile); edgesFileStream = new BufferedOutputStreamWrapper(edgesFile); nodesFileStream.writeInt(nodeCount); edgesFileStream.writeInt(node.getId()); edgesFileStream.writeInt(edgeCount); for (int k=0; k<edgeCount; k++) { Edge edge = node.getEdgeAt(k); if (nodesFileStream != null) { try { nodesFileStream.close(); } catch (IOException exception) { edgesFileStream.close(); } catch (IOException exception) {
public final void writeFloat(float v) throws IOException { writeInt(Float.floatToIntBits(v)); } }
try { File nodesFile = this.temporaryFolder.resolve(nodesPath).toFile(); nodesFileStream = new BufferedOutputStreamWrapper(nodesFile); edgesFileStream = new BufferedOutputStreamWrapper(edgesFile); nodesFileStream.writeInt(borderNodes.size()); edgesFileStream.writeInt(node.getId()); edgesFileStream.writeInt(edgeCountToWrite); if (nodesFileStream != null) { try { nodesFileStream.close(); } catch (IOException exception) { edgesFileStream.close(); } catch (IOException exception) {
@Override protected void writeNode(BufferedOutputStreamWrapper nodesFileStream, Node nodeToWrite) throws IOException { super.writeNode(nodesFileStream, nodeToWrite); FullLambdaScheduleNode node = (FullLambdaScheduleNode)nodeToWrite; int count = node.getNumberOfComponentsPerPixel(); for (int i=0; i<count; i++) { nodesFileStream.writeFloat(node.getMeansAt(i)); } }
@Override protected void writeNode(BufferedOutputStreamWrapper nodesFileStream, Node nodeToWrite) throws IOException { super.writeNode(nodesFileStream, nodeToWrite); SpringNode node = (SpringNode)nodeToWrite; int count = node.getNumberOfComponentsPerPixel(); for (int i=0; i<count; i++) { nodesFileStream.writeFloat(node.getMeansAt(i)); } }