Package net.imglib2.outofbounds
Class OutOfBoundsPeriodic<T>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.AbstractLocalizable
-
- net.imglib2.outofbounds.OutOfBoundsPeriodic<T>
-
- Type Parameters:
T
-
- All Implemented Interfaces:
EuclideanSpace
,Localizable
,Bounded
,OutOfBounds<T>
,Positionable
,RandomAccess<T>
,RealLocalizable
,Sampler<T>
public class OutOfBoundsPeriodic<T> extends AbstractLocalizable implements OutOfBounds<T>
Coordinates out of image bounds are periodically repeated.Example: width=4 |<-inside->| x: -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 f(x): 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1
- Author:
- Stephan Saalfeld
-
-
Field Summary
Fields Modifier and Type Field Description protected long[]
beforeMin
protected long[]
dimension
Dimensions of the wrappedRandomAccessible
.protected boolean[]
dimIsOutOfBounds
protected boolean
isOutOfBounds
protected long[]
max
Maximum of the wrappedRandomAccessible
.protected long[]
min
Minimum of the wrappedRandomAccessible
.protected RandomAccess<T>
outOfBoundsRandomAccess
protected long[]
pastMax
-
Fields inherited from class net.imglib2.AbstractLocalizable
position
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Constructor Description OutOfBoundsPeriodic(F f)
OutOfBoundsPeriodic(OutOfBoundsPeriodic<T> outOfBounds)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bck(int d)
Move by -1 in one dimension.protected void
checkOutOfBounds()
OutOfBoundsPeriodic<T>
copy()
OutOfBoundsPeriodic<T>
copyRandomAccess()
void
fwd(int d)
Move by 1 in one dimension.T
get()
Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSampler
points at.boolean
isOutOfBounds()
True if located out of image bounds.void
move(int[] distance)
Move the element relative to its current location using an int[] as distance vector.void
move(int distance, int d)
Move the element in one dimension for some distance.void
move(long[] distance)
Move the element relative to its current location using a long[] as distance vector.void
move(long distance, int d)
Move the element in one dimension for some distance.void
move(Localizable localizable)
Move the element relative to its current location using anLocalizable
as distance vector.void
setPosition(int[] position)
Set the position of the element.void
setPosition(int position, int d)
Set the position of the element for one dimension.void
setPosition(long[] position)
Set the position of the element.void
setPosition(long position, int d)
Set the position of the element for one dimension.void
setPosition(Localizable localizable)
Place the element at the same location as a givenLocalizable
java.lang.String
toString()
-
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, wait, wait, wait
-
Methods inherited from interface net.imglib2.EuclideanSpace
numDimensions
-
Methods inherited from interface net.imglib2.Localizable
getIntPosition, getLongPosition, localize, localize
-
Methods inherited from interface net.imglib2.RealLocalizable
getDoublePosition, getFloatPosition, localize, localize
-
-
-
-
Field Detail
-
outOfBoundsRandomAccess
protected final RandomAccess<T> outOfBoundsRandomAccess
-
dimension
protected final long[] dimension
Dimensions of the wrappedRandomAccessible
.
-
min
protected final long[] min
Minimum of the wrappedRandomAccessible
.
-
beforeMin
protected final long[] beforeMin
-
max
protected final long[] max
Maximum of the wrappedRandomAccessible
.
-
pastMax
protected final long[] pastMax
-
dimIsOutOfBounds
protected final boolean[] dimIsOutOfBounds
-
isOutOfBounds
protected boolean isOutOfBounds
-
-
Constructor Detail
-
OutOfBoundsPeriodic
public OutOfBoundsPeriodic(OutOfBoundsPeriodic<T> outOfBounds)
-
OutOfBoundsPeriodic
public OutOfBoundsPeriodic(F f)
-
-
Method Detail
-
checkOutOfBounds
protected final void checkOutOfBounds()
-
isOutOfBounds
public boolean isOutOfBounds()
Description copied from interface:Bounded
True if located out of image bounds.- Specified by:
isOutOfBounds
in interfaceBounded
-
get
public T get()
Description copied from interface:Sampler
Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSampler
points at.
-
copy
public final OutOfBoundsPeriodic<T> copy()
- Specified by:
copy
in interfaceOutOfBounds<T>
- Specified by:
copy
in interfaceSampler<T>
- Returns:
- - A new
Sampler
in 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 anArrayCursor
for example)
-
copyRandomAccess
public final OutOfBoundsPeriodic<T> copyRandomAccess()
- Specified by:
copyRandomAccess
in interfaceRandomAccess<T>
-
fwd
public final void fwd(int d)
Description copied from interface:Positionable
Move by 1 in one dimension.- Specified by:
fwd
in interfacePositionable
- Parameters:
d
- dimension
-
bck
public final void bck(int d)
Description copied from interface:Positionable
Move by -1 in one dimension.- Specified by:
bck
in interfacePositionable
- Parameters:
d
- dimension
-
setPosition
public final void setPosition(long position, int d)
Description copied from interface:Positionable
Set the position of the element for one dimension.- Specified by:
setPosition
in interfacePositionable
- Parameters:
position
- absolute position in dimension dd
- dimension
-
move
public void move(long distance, int d)
Description copied from interface:Positionable
Move the element in one dimension for some distance.- Specified by:
move
in interfacePositionable
- Parameters:
distance
- relative offset in dimension dd
- dimension
-
move
public void move(int distance, int d)
Description copied from interface:Positionable
Move the element in one dimension for some distance.- Specified by:
move
in interfacePositionable
- Parameters:
distance
- relative offset in dimension dd
- dimension
-
move
public void move(Localizable localizable)
Description copied from interface:Positionable
Move the element relative to its current location using anLocalizable
as distance vector.- Specified by:
move
in interfacePositionable
- Parameters:
localizable
- relative offset,EuclideanSpace.numDimensions()
must be ≥EuclideanSpace.numDimensions()
-
move
public void move(int[] distance)
Description copied from interface:Positionable
Move the element relative to its current location using an int[] as distance vector.- Specified by:
move
in interfacePositionable
- Parameters:
distance
- relative offset, length must be ≥EuclideanSpace.numDimensions()
-
move
public void move(long[] distance)
Description copied from interface:Positionable
Move the element relative to its current location using a long[] as distance vector.- Specified by:
move
in interfacePositionable
- Parameters:
distance
- relative offset, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int position, int d)
Description copied from interface:Positionable
Set the position of the element for one dimension.- Specified by:
setPosition
in interfacePositionable
- Parameters:
position
- absolute position in dimension dd
- dimension
-
setPosition
public void setPosition(Localizable localizable)
Description copied from interface:Positionable
Place the element at the same location as a givenLocalizable
- Specified by:
setPosition
in interfacePositionable
- Parameters:
localizable
- absolute position,EuclideanSpace.numDimensions()
must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(int[] position)
Description copied from interface:Positionable
Set the position of the element.- Specified by:
setPosition
in interfacePositionable
- Parameters:
position
- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(long[] position)
Description copied from interface:Positionable
Set the position of the element.- Specified by:
setPosition
in interfacePositionable
- Parameters:
position
- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-