Package net.imglib2.outofbounds
Class AbstractOutOfBoundsMirror<T>
java.lang.Object
net.imglib2.outofbounds.AbstractOutOfBoundsMirror<T>
- Type Parameters:
T-
- All Implemented Interfaces:
EuclideanSpace,Localizable,Bounded,OutOfBounds<T>,Positionable,RandomAccess<T>,RealLocalizable,Sampler<T>
- Direct Known Subclasses:
OutOfBoundsMirrorDoubleBoundary,OutOfBoundsMirrorSingleBoundary
Abstract implementation of shared functions for mirroring out of bounds.
Internally used coordinates use an interval [0n,max
n-minn] and compensate for min-shift on
localization and positioning.
- Author:
- Stephan Saalfeld
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final long[]Dimensions of the wrappedRandomAccessible.protected final boolean[]protected final boolean[]protected booleanprotected final long[]Minimum of the wrappedRandomAccessible.protected final intprotected final RandomAccess<T> protected final long[]Period of the extended interval.protected final long[]Position relative to min, for internal calculations. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractOutOfBoundsMirror(AbstractOutOfBoundsMirror<T> outOfBounds) -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidabstract AbstractOutOfBoundsMirror<T> copy()get()Access the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at.doublegetDoublePosition(int d) Return the current position in a given dimension.floatgetFloatPosition(int d) Return the current position in a given dimension.intgetIntPosition(int d) Return the current position in a given dimension.longgetLongPosition(int d) Return the current position in a given dimension.booleanTrue if located out of image bounds.voidlocalize(double[] pos) Write the current position into the passed array.voidlocalize(float[] pos) Write the current position into the passed array.voidlocalize(int[] pos) Write the current position into the passed array.voidlocalize(long[] pos) Write the current position into the passed array.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) Override with a more efficient version.voidmove(Localizable localizable) Move the element relative to its current location using anLocalizableas distance vector.intGets the space's number of dimensions.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(Localizable localizable) Place the element at the same location as a givenLocalizabletoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.imglib2.Positionable
bck, fwd, setPositionMethods inherited from interface net.imglib2.RandomAccess
copyRandomAccess
-
Field Details
-
outOfBoundsRandomAccess
-
n
protected final int n -
dimension
protected final long[] dimensionDimensions of the wrappedRandomAccessible. -
zeroMinPos
protected final long[] zeroMinPosPosition relative to min, for internal calculations. zeroMinPos = position - min. -
min
protected final long[] minMinimum of the wrappedRandomAccessible. -
p
protected final long[] pPeriod of the extended interval. This depends on whether boundary pixels are mirrored. SeeOutOfBoundsMirrorDoubleBoundary, seeOutOfBoundsMirrorSingleBoundary. -
inc
protected final boolean[] inc -
dimIsOutOfBounds
protected final boolean[] dimIsOutOfBounds -
isOutOfBounds
protected boolean isOutOfBounds
-
-
Constructor Details
-
AbstractOutOfBoundsMirror
-
AbstractOutOfBoundsMirror
public AbstractOutOfBoundsMirror(F f)
-
-
Method Details
-
checkOutOfBounds
protected final void checkOutOfBounds() -
numDimensions
public int numDimensions()Description copied from interface:EuclideanSpaceGets the space's number of dimensions.- Specified by:
numDimensionsin interfaceEuclideanSpace
-
isOutOfBounds
public boolean isOutOfBounds()Description copied from interface:BoundedTrue if located out of image bounds.- Specified by:
isOutOfBoundsin interfaceBounded
-
get
Description copied from interface:SamplerAccess the actual T instance providing access to a pixel, sub-pixel or integral region value theSamplerpoints at. -
copy
- Specified by:
copyin interfaceOutOfBounds<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)
-
localize
public void localize(float[] pos) Description copied from interface:RealLocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceRealLocalizable- Parameters:
pos- receives current position
-
localize
public void localize(double[] pos) Description copied from interface:RealLocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceRealLocalizable- Parameters:
pos- receives current position
-
localize
public void localize(int[] pos) Description copied from interface:LocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceLocalizable- Parameters:
pos- receives current position
-
localize
public void localize(long[] pos) Description copied from interface:LocalizableWrite the current position into the passed array.- Specified by:
localizein interfaceLocalizable- Parameters:
pos- receives current position
-
getFloatPosition
public float getFloatPosition(int d) Description copied from interface:RealLocalizableReturn the current position in a given dimension.- Specified by:
getFloatPositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getDoublePosition
public double getDoublePosition(int d) Description copied from interface:RealLocalizableReturn the current position in a given dimension.- Specified by:
getDoublePositionin interfaceRealLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getIntPosition
public int getIntPosition(int d) Description copied from interface:LocalizableReturn the current position in a given dimension.- Specified by:
getIntPositionin interfaceLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
getLongPosition
public long getLongPosition(int d) Description copied from interface:LocalizableReturn the current position in a given dimension.- Specified by:
getLongPositionin interfaceLocalizable- Parameters:
d- dimension- Returns:
- dimension of current position
-
move
public void move(long distance, int d) Override with a more efficient version.- Specified by:
movein interfacePositionable- Parameters:
distance- relative offset in dimension dd- 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
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(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
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()
-
toString
-