gselzer on sharpen-smooth
Add DefaultSmooth and DefaultSh… Preserve differentiation in sum… Rely on helper Ops to decrease … and 1 more (compare)
UnsignedLongType
.
while queue has more units of work:
workUnit = queue.remove()
for each pixel in constant-size block at workUnit.offset:
noiseValue = workUnit.rng.next()
pixel += noiseValue
Extra credit: instead of:
noiseValue = workUnit.rng.next()
You could do:
noiseValue = distroFunction.apply(workUnit.rng.next())
distroFunction
is the noise function!
LoopBuilder
yesterday
RAI
s, whereas scijava-ops cannot work on RAI
s. Of course, ImageJ-Ops can work on RAI
s, and we can convert II
s to RAI
s, not sure how slow that operation isChunk
s had a bit more metadata (such as where they were in the image). This information is needed for our deterministic noise addersRAI
s"—you mean that we do not want scijava-ops to have a dependency on imglib2, right? So yeah, we should discuss with the ImgLib2 team whether to migrate the parallelization framework upstream of imglib2 into some very lightweight scijava-utils or scijava-parallelization thing.
Chunk
, but we do not have access to the Interval
that the Chunk
is operating on. This means we cannot use the min
of the Interval
to deterministically generate a seed
@Sacrosanct
is best.