use of net.imglib2.algorithm.neighborhood.RectangleShape in project imagej-ops by imagej.
the class DilationTest method testListDilateFull.
@Test
public void testListDilateFull() {
final List<Shape> shapes = new ArrayList<>();
shapes.add(new DiamondShape(1));
shapes.add(new DiamondShape(1));
shapes.add(new RectangleShape(1, false));
shapes.add(new HorizontalLineShape(2, 1, false));
@SuppressWarnings("unchecked") final IterableInterval<ByteType> out1 = (IterableInterval<ByteType>) ops.run(ListDilate.class, IterableInterval.class, in, shapes, true);
final Img<ByteType> out2 = Dilation.dilateFull(in, shapes, 1);
final Cursor<ByteType> c1 = out1.cursor();
final Cursor<ByteType> c2 = out2.cursor();
while (c1.hasNext()) assertEquals(c1.next().get(), c2.next().get());
}
use of net.imglib2.algorithm.neighborhood.RectangleShape in project imagej-ops by imagej.
the class ErosionTest method testListErodeFull.
@Test
public void testListErodeFull() {
final List<Shape> shapes = new ArrayList<>();
shapes.add(new DiamondShape(1));
shapes.add(new DiamondShape(1));
shapes.add(new RectangleShape(1, false));
shapes.add(new HorizontalLineShape(2, 1, false));
final Img<ByteType> out2 = Erosion.erodeFull(in, shapes, 1);
@SuppressWarnings("unchecked") final IterableInterval<ByteType> out1 = (IterableInterval<ByteType>) ops.run(ListErode.class, IterableInterval.class, in, shapes, true);
assertIterationsEqual(out1, out2);
}
use of net.imglib2.algorithm.neighborhood.RectangleShape in project imagej-ops by imagej.
the class ErosionTest method testListErode.
// @Test
public void testListErode() {
final List<Shape> shapes = new ArrayList<>();
shapes.add(new DiamondShape(1));
shapes.add(new DiamondShape(1));
shapes.add(new RectangleShape(1, false));
shapes.add(new HorizontalLineShape(2, 1, false));
final Img<ByteType> out2 = in.copy();
Erosion.erode(Views.extendValue(in, new ByteType((byte) -128)), out2, shapes, 1);
@SuppressWarnings("unchecked") final IterableInterval<ByteType> out1 = (IterableInterval<ByteType>) ops.run(ListErode.class, IterableInterval.class, in, shapes, false);
assertIterationsEqual(out1, out2);
}
use of net.imglib2.algorithm.neighborhood.RectangleShape in project imagej-ops by imagej.
the class NonLinearFiltersTest method before.
/**
* Initialize images.
*
* @throws Exception
*/
@Before
public void before() throws Exception {
in = generateByteArrayTestImg(true, new long[] { 10, 10 });
out = generateByteArrayTestImg(false, new long[] { 10, 10 });
shape = new RectangleShape(1, false);
}
use of net.imglib2.algorithm.neighborhood.RectangleShape in project imagej-ops by imagej.
the class IntegralCursorTest method testIntegralCursor.
@SuppressWarnings({ "unchecked", "rawtypes" })
@Test
public void testIntegralCursor() {
Shape rectangleShape = new RectangleShape(1, false);
IterableInterval<Neighborhood<ByteType>> ii = rectangleShape.neighborhoodsSafe(img);
Cursor<Neighborhood<ByteType>> cursor = ii.cursor();
// Manually select the neighborhood that is centered on the image
cursor.fwd();
cursor.fwd();
cursor.fwd();
cursor.fwd();
cursor.fwd();
IntegralCursor<ByteType> integralCursor = new IntegralCursor<>((RectangleNeighborhood) cursor.get());
assertEquals(integralCursor.next(), new ByteType((byte) 1));
assertEquals(integralCursor.next(), new ByteType((byte) 2));
assertEquals(integralCursor.next(), new ByteType((byte) 5));
assertEquals(integralCursor.next(), new ByteType((byte) 4));
assertFalse(integralCursor.hasNext());
integralCursor.reset();
assertEquals(integralCursor.next(), new ByteType((byte) 1));
assertEquals(integralCursor.next(), new ByteType((byte) 2));
assertEquals(integralCursor.next(), new ByteType((byte) 5));
assertEquals(integralCursor.next(), new ByteType((byte) 4));
assertFalse(integralCursor.hasNext());
}
Aggregations