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; } } }
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; }