Package net.imglib2.view
Class TransformRandomAccess<T>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.AbstractLocalizable
-
- net.imglib2.view.TransformRandomAccess<T>
-
- All Implemented Interfaces:
EuclideanSpace,Localizable,Positionable,RandomAccess<T>,RealLocalizable,Sampler<T>,Typed<T>
public final class TransformRandomAccess<T> extends AbstractLocalizable implements RandomAccess<T>
Wrap asourceRandomAccess which is related to this by a genericTransformtransformToSource.TransformRandomAccessgets called byCursorimplementations overRandomAccessthat initialize at theIntervalmin position - 1, i.e. they callbck(0)aftersetPosition(min). Transforms are not necessarily defined at this position and may throw an exception. Therefore, position update must not apply the transformation! Instead, the transformation is applied atget(). So don't callget()more than once at the same place (generally a good idea).
-
-
Field Summary
Fields Modifier and Type Field Description private RandomAccess<T>sourcesource RandomAccess.private long[]tmpprivate TransformtransformToSource-
Fields inherited from class net.imglib2.AbstractLocalizable
position
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Modifier Constructor Description (package private)TransformRandomAccess(RandomAccess<T> source, Transform transformToSource)protectedTransformRandomAccess(TransformRandomAccess<T> randomAccess)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbck(int d)Move by -1 in one dimension.TransformRandomAccess<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[] pos)Set the position of the element.voidsetPosition(int pos, int d)Set the position of the element for one dimension.voidsetPosition(long[] pos)Set the position of the element.voidsetPosition(long pos, 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
-
source
private final RandomAccess<T> source
source RandomAccess. note that this is the target of the transformToSource.
-
transformToSource
private final Transform transformToSource
-
tmp
private final long[] tmp
-
-
Constructor Detail
-
TransformRandomAccess
TransformRandomAccess(RandomAccess<T> source, Transform transformToSource)
-
TransformRandomAccess
protected TransformRandomAccess(TransformRandomAccess<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[] pos)
Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(long[] pos)
Description copied from interface:PositionableSet the position of the element.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int pos, int d)Description copied from interface:PositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- absolute position in dimension dd- dimension
-
setPosition
public void setPosition(long pos, int d)Description copied from interface:PositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfacePositionable- Parameters:
pos- 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 TransformRandomAccess<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)
-
-