Package net.imglib2.view
Class MixedRandomAccess<T>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.AbstractLocalizable
-
- net.imglib2.view.MixedRandomAccess<T>
-
- Type Parameters:
T-
- All Implemented Interfaces:
EuclideanSpace,Localizable,Positionable,RandomAccess<T>,RealLocalizable,Sampler<T>,Typed<T>
public final class MixedRandomAccess<T> extends AbstractLocalizable implements RandomAccess<T>
-
-
Field Summary
Fields Modifier and Type Field Description private intmnumber of dimensions of source RandomAccess, respectively numTargetDimensions of the Mixed transform.private RandomAccess<T>ssource RandomAccess.private int[]sourceComponentfor each component of the source vector: to which target vector component should it be taken.private boolean[]sourceInvfor each component of the source vector: should the target vector component be inverted (true).private boolean[]sourceZerofor each component of the source vector: should the value be taken to a target vector component (false) or should it be discarded (true).private long[]tmpDistanceprivate long[]tmpPositionprivate long[]translation-
Fields inherited from class net.imglib2.AbstractLocalizable
position
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Modifier Constructor Description (package private)MixedRandomAccess(RandomAccess<T> source, Mixed transformToSource)protectedMixedRandomAccess(MixedRandomAccess<T> randomAccess)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbck(int d)Move by -1 in one dimension.MixedRandomAccess<T>copy()voidfwd(int d)Move by 1 in one dimension.Tget()Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.TgetType()Get an instance ofT.voidmove(int[] distance)Move the element relative to its current location using an int[] as distance vector.voidmove(int distance, int d)Move the element in one dimension for some distance.voidmove(long[] distance)Move the element relative to its current location using a long[] as distance vector.voidmove(long distance, int d)Move the element in one dimension for some distance.voidmove(Localizable localizable)Move the element relative to its current location using anLocalizableas distance vector.voidsetPosition(int[] position)Set the position of the element.voidsetPosition(int position, int d)Set the position of the element for one dimension.voidsetPosition(long[] position)Set the position of the element.voidsetPosition(long position, int d)Set the position of the element for one dimension.voidsetPosition(Localizable localizable)Place the element at the same location as a givenLocalizable-
Methods inherited from class net.imglib2.AbstractLocalizable
getDoublePosition, getFloatPosition, getIntPosition, getLongPosition, localize, localize, localize, localize
-
Methods inherited from class net.imglib2.AbstractEuclideanSpace
numDimensions
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.imglib2.EuclideanSpace
numDimensions
-
Methods inherited from interface net.imglib2.Localizable
getDoublePosition, getFloatPosition, getIntPosition, getLongPosition, localize, localize, localize, localize, positionAsLongArray, positionAsPoint
-
Methods inherited from interface net.imglib2.RandomAccess
copyRandomAccess, setPositionAndGet, setPositionAndGet, setPositionAndGet
-
Methods inherited from interface net.imglib2.RealLocalizable
localize, localize, positionAsDoubleArray, positionAsRealPoint
-
-
-
-
Field Detail
-
s
private final RandomAccess<T> s
source RandomAccess. note that this is the target of the transformToSource.
-
m
private final int m
number of dimensions of source RandomAccess, respectively numTargetDimensions of the Mixed transform.
-
translation
private final long[] translation
-
sourceZero
private final boolean[] sourceZero
for each component of the source vector: should the value be taken to a target vector component (false) or should it be discarded (true).
-
sourceInv
private final boolean[] sourceInv
for each component of the source vector: should the target vector component be inverted (true).
-
sourceComponent
private final int[] sourceComponent
for each component of the source vector: to which target vector component should it be taken.
-
tmpPosition
private final long[] tmpPosition
-
tmpDistance
private final long[] tmpDistance
-
-
Constructor Detail
-
MixedRandomAccess
MixedRandomAccess(RandomAccess<T> source, Mixed transformToSource)
-
MixedRandomAccess
protected MixedRandomAccess(MixedRandomAccess<T> randomAccess)
-
-
Method Detail
-
fwd
public void fwd(int d)
Description copied from interface:PositionableMove by 1 in one dimension.- Specified by:
fwdin interfacePositionable- Parameters:
d- dimension
-
bck
public void bck(int d)
Description copied from interface:PositionableMove by -1 in one dimension.- Specified by:
bckin interfacePositionable- Parameters:
d- dimension
-
move
public void move(int distance, int d)Description copied from interface:PositionableMove the element in one dimension for some distance.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset in dimension dd- dimension
-
move
public void move(long distance, int d)Description copied from interface:PositionableMove the element in one dimension for some distance.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset in dimension dd- dimension
-
move
public void move(Localizable localizable)
Description copied from interface:PositionableMove the element relative to its current location using anLocalizableas distance vector.- Specified by:
movein interfacePositionable- Parameters:
localizable- relative offset,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
move
public void move(int[] distance)
Description copied from interface:PositionableMove the element relative to its current location using an int[] as distance vector.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset, length must be ≥EuclideanSpace.numDimensions()
-
move
public void move(long[] distance)
Description copied from interface:PositionableMove the element relative to its current location using a long[] as distance vector.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(Localizable localizable)
Description copied from interface:PositionablePlace the element at the same location as a givenLocalizable- Specified by:
setPositionin interfacePositionable- Parameters:
localizable- absolute position,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int[] position)
Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(long[] position)
Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int position, int d)Description copied from interface:PositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position in dimension dd- dimension
-
setPosition
public void setPosition(long position, int d)Description copied from interface:PositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfacePositionable- Parameters:
position- absolute position in dimension dd- dimension
-
get
public T get()
Description copied from interface:SamplerAccess the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.
-
getType
public T getType()
Description copied from interface:TypedGet an instance ofT.It should not be assumed that the returned
Tinstance is an independent copy. In particular, repeated calls togetType()may return the same instance.
-
copy
public MixedRandomAccess<T> copy()
- Specified by:
copyin interfaceRandomAccess<T>- Specified by:
copyin interfaceSampler<T>- Returns:
- - A new
Samplerin the same state accessing the same values. It does NOT copy T, just the state of theSampler. Otherwise use T.copy() if available. Sampler.copy().get() == Sampler.get(), i.e. both hold the same value, not necessarily the same instance (this is the case for anArrayCursorfor example)
-
-