/** * Implemented as specified by {@link PixelBuffer} I/F. * @see PixelBuffer#getRow(Integer, Integer, Integer, Integer) */ public PixelData getRow(Integer y, Integer z, Integer c, Integer t) throws IOException, DimensionsOutOfBoundsException { //dimension check getRowOffset Long offset = getRowOffset(y, z, c, t); Integer size = getRowSize(); return getRegion(size, offset); }
/** * Implemented as specified by {@link PixelBuffer} I/F. * @see PixelBuffer#getRegionDirect(Integer, Long, byte[]) */ public byte[] getRegionDirect(Integer size, Long offset, byte[] buffer) throws IOException { if (buffer.length != size) throw new ApiUsageException("Buffer size incorrect."); final PixelData pd = getRegion(size, offset); pd.getData().get(buffer); pd.dispose(); return buffer; }
/** * Implemented as specified by {@link PixelBuffer} I/F. * @see PixelBuffer#getTimepoint(Integer) */ public PixelData getTimepoint(Integer t) throws IOException, DimensionsOutOfBoundsException { Long offset = getTimepointOffset(t); Integer size = safeLongToInteger(getTimepointSize()); return getRegion(size, offset); }
/** * Implemented as specified by {@link PixelBuffer} I/F. * @see PixelBuffer#getStack(Integer, Integer) */ public PixelData getStack(Integer c, Integer t) throws IOException, DimensionsOutOfBoundsException { Long offset = getStackOffset(c, t); Integer size = safeLongToInteger(getStackSize()); return getRegion(size, offset); }
/** * Implemented as specified by {@link PixelBuffer} I/F. * @see PixelBuffer#getPlane(Integer, Integer, Integer) */ public PixelData getPlane(Integer z, Integer c, Integer t) throws IOException, DimensionsOutOfBoundsException { log.info("Retrieving plane: " + z + "x" + c + "x" + t); Long offset = getPlaneOffset(z, c, t); Integer size = safeLongToInteger(getPlaneSize()); PixelData region = getRegion(size, offset); byte[] nullPlane = PixelsService.nullPlane; for (int i = 0; i < PixelsService.NULL_PLANE_SIZE; i++) { if (region.getData().get(i) != nullPlane[i]) { return region; } } region.dispose(); return null; // All of the nullPlane bytes match, non-filled plane }