ParallelLineMIL extends
	AbstractBinaryFunctionOp<RandomAccessibleInterval<B>, ParallelLineGenerator, Vector3d> implements Contingent { public static void setSeed(final long seed) { ParallelLineMIL.seed = seed; }  @Override Vector3d calculate(final RandomAccessibleInterval<B> interval,
		final ParallelLineGenerator parallelLineGenerator); @Override boolean conforms(); static void setSeed(final long seed);  }
@Test public void testBinaryNoise() { final long seed = 0xc0ff33; final Random noiseRNG = new Random(); noiseRNG.setSeed(seed); final double milLength = Math.sqrt(SIZE * SIZE * 3); final Img<BitType> binaryNoise = ArrayImgs.bits(SIZE, SIZE, SIZE); binaryNoise.forEach(e -> { if (noiseRNG.nextDouble() >= 0.5) { e.setOne(); } }); final Quaterniondc rotation = new Quaterniond(new AxisAngle4d(Math.PI / 4.0, 0, 1, 0)); final PlaneParallelLineGenerator generator = new PlaneParallelLineGenerator(binaryNoise, rotation, rotateOp, 16); generator.setSeed(seed); ParallelLineMIL.setSeed(seed); final Vector3dc milVector = (Vector3dc) IMAGE_J.op().run(ParallelLineMIL.class, binaryNoise, generator, milLength, 1.0); assertEquals(1.9908629972056058, milVector.length(), 1e-12); }