@Override public Row get() { synchronized (sync) { if (end) { return null; } return onBase ? baseCursor.get() : deltaCursor.get(); } }
@Override public Row get() { if (cursor == null) { return null; } return cursor.get(); }
/** Load the current row. */ void loadCurrent() { synchronized (sync) { baseRow = baseCursor.getSearchRow(); deltaRow = deltaCursor.get(); needNewDelta = false; needNewBase = false; } }
private void scanInRasterOrder(Cursor<V> cur, RandomAccess<V> marker, RandomAccess<T> mask) { assert cur != null; assert marker != null; assert mask != null; cur.setToOrigin(); while (cur.hasNextFwd()) { cur.get().set(checkAroundCursor(cur, marker, mask, m_neighboursPlus)); // this is NO imglib cursor, so fwd must be the last // call cur.fwd(); } }
private void scanInAntiRasterOrder(Cursor<V> cur, RandomAccess<V> marker, RandomAccess<T> mask) { assert cur != null; assert marker != null; assert mask != null; cur.setLastPos(); while (cur.hasNextBwd()) { cur.get().set(checkAroundCursor(cur, marker, mask, m_neighboursMinus)); checkPixels(cur, marker, mask, m_neighboursMinus); // this is NO imglib cursor, so bwd must be the last // call cur.bwd(); } }
private void loadNext(boolean base) { synchronized (sync) { if (base) { if (step(baseCursor)) { baseRow = baseCursor.getSearchRow(); } else { baseRow = null; } } else { if (step(deltaCursor)) { deltaRow = deltaCursor.get(); } else { deltaRow = null; } } } }
private V checkAroundCursor( Cursor<V> cur, RandomAccess<V> marker, RandomAccess<T> mask, long[][] strucElement) { V val = cur.get().copy(); for (long[] e : strucElement) { for (int i = 0; i < e.length; i++) { marker.setPosition(cur.getIntPosition(i) + e[i], i); } val = morphOp(val.copy(), marker.get().copy()); } mask.setPosition(cur.getRandomAccess()); val = pointwiseOp(val, mask.get()); return val; }
private void checkPixels( Cursor<V> cur, RandomAccess<V> marker, RandomAccess<T> mask, long[][] strucElement) { V p = cur.get().copy(); for (long[] e : strucElement) { for (int i = 0; i < e.length; i++) { marker.setPosition(cur.getIntPosition(i) + e[i], i); mask.setPosition(cur.getIntPosition(i) + e[i], i); } V q = marker.get().copy(); T i = mask.get().copy(); if (checkPixelAddToQueue(p, q, i)) { addToQueue(cur.getRandomAccess()); return; } } }