public class SourceOptimizedCompositeXYProjector<A,S extends RandomAccessibleInterval<A> & IterableInterval<A>,T extends RandomAccessibleInterval<ARGBType> & IterableInterval<ARGBType>> extends CompositeXYProjector<A>
CompositeXYProjector
but uses a source that is both a
RandomAccessibleInterval
and an IterableInterval
, and a
RandomAccessibleInterval
target. This allows the natural iteration
order of the source to be used, instead of that of the target.
Furthermore, one source cursor is created for each component being
composited. This optimizes for scenarios where each composited component is
not stored conveniently relative to each other (for example - in the case of
CellImg
instances where each channel is in a different cell).
NB: because N cursors are created, one for each composite component, the
memory requirements for this projector are higher than
CompositeXYProjector
.
NB: Because this is an XY projector, the assumption is the provided source's natural iteration order will cover XY first. If that assumption is false, the projector will fail to produce a correct image.
for the code upon which this class was based.
currentConverters, currentPositions
max, min
position
n
Constructor and Description |
---|
SourceOptimizedCompositeXYProjector(S source,
T target,
ArrayList<Converter<A,ARGBType>> converters,
int dimIndex) |
Modifier and Type | Method and Description |
---|---|
void |
map() |
isComposite, isComposite, mapSingle, setComposite, setComposite, updateCurrentArrays
bck, equals, fwd, hashCode, move, move, move, move, move, setPosition, setPosition, setPosition, setPosition, setPosition, toString, wrap
getDoublePosition, getFloatPosition, getIntPosition, getLongPosition, localize, localize, localize, localize
numDimensions
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
numDimensions
localize, positionAsLongArray, positionAsPoint
localize, positionAsDoubleArray, positionAsRealPoint
public void map()
map
in interface Projector
map
in class CompositeXYProjector<A>
Copyright © 2014–2022 ImageJ. All rights reserved.