Package net.imglib2
Class PointSample<T>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.AbstractLocalizable
-
- net.imglib2.PointSample<T>
-
- All Implemented Interfaces:
EuclideanSpace,Localizable,Positionable,RandomAccess<T>,RealLocalizable,Sampler<T>,Typed<T>
public class PointSample<T> extends AbstractLocalizable implements RandomAccess<T>
A simple default implementation ofRandomAccessthat can be used to combine a real location and a sample instance, e.g. as output of aFunctionRandomAccessible.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.function.Supplier<T>sampleSupplier-
Fields inherited from class net.imglib2.AbstractLocalizable
position
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Modifier Constructor Description PointSample(java.util.function.Supplier<T> sampleSupplier, int n)Create a point in nDimensional space initialized to 0,0,...PointSample(java.util.function.Supplier<T> sampleSupplier, int... position)Create a point at a definite location in a space of the dimensionality of the position.PointSample(java.util.function.Supplier<T> sampleSupplier, long... position)Create a point at a definite location in a space of the dimensionality of the position.protectedPointSample(java.util.function.Supplier<T> sampleSupplier, long[] position, boolean copy)Protected constructor that can re-use the passed position array.PointSample(java.util.function.Supplier<T> sampleSupplier, Localizable localizable)Create a point using the position and dimensionality of aLocalizable
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbck(int d)Move by -1 in one dimension.PointSample<T>copy()booleanequals(java.lang.Object obj)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.inthashCode()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 givenLocalizablejava.lang.StringtoString()static <T> PointSample<T>wrap(T sample, long[] position)Create aPointSamplethat carries the provided sample and stores its coordinates in the provided position array.static <T> PointSample<T>wrapSupplier(java.util.function.Supplier<T> sampleSupplier, long[] position)Create aPointSamplethat carries the provided sample and stores its coordinates in the provided position array.-
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, finalize, getClass, notify, notifyAll, 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
-
sampleSupplier
protected final java.util.function.Supplier<T> sampleSupplier
-
-
Constructor Detail
-
PointSample
protected PointSample(java.util.function.Supplier<T> sampleSupplier, long[] position, boolean copy)
Protected constructor that can re-use the passed position array.- Parameters:
sampleSupplier- a supplier to create the sample instance (can be() -> t) for instances that are re-used (likeType).position- array used to store the position.copy- flag indicating whether position array should be duplicated.
-
PointSample
public PointSample(java.util.function.Supplier<T> sampleSupplier, int n)
Create a point in nDimensional space initialized to 0,0,...- Parameters:
sampleSupplier- a supplier to create the sample instance (can be() -> t) for instances that are re-used (likeType).n- number of dimensions of the space
-
PointSample
public PointSample(java.util.function.Supplier<T> sampleSupplier, long... position)
Create a point at a definite location in a space of the dimensionality of the position.- Parameters:
sampleSupplier- a supplier to create the sample instance (can be() -> t) for instances that are re-used (likeType).position- the initial position. The length of the array determines the dimensionality of the space.
-
PointSample
public PointSample(java.util.function.Supplier<T> sampleSupplier, int... position)
Create a point at a definite location in a space of the dimensionality of the position.- Parameters:
sampleSupplier- a supplier to create the sample instance (can be() -> t) for instances that are re-used (likeType).position- the initial position. The length of the array determines the dimensionality of the space.
-
PointSample
public PointSample(java.util.function.Supplier<T> sampleSupplier, Localizable localizable)
Create a point using the position and dimensionality of aLocalizable- Parameters:
sampleSupplier- a supplier to create the sample instance (can be() -> t) for instances that are re-used (likeType).localizable- the initial position. Its dimensionality determines the dimensionality of the space.
-
-
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
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
wrap
public static <T> PointSample<T> wrap(T sample, long[] position)
Create aPointSamplethat carries the provided sample and stores its coordinates in the provided position array.- Parameters:
sample- the re-usable sample instance that is used by thisPointSample(likeType)position- array to use for storing the position.
-
wrapSupplier
public static <T> PointSample<T> wrapSupplier(java.util.function.Supplier<T> sampleSupplier, long[] position)
Create aPointSamplethat carries the provided sample and stores its coordinates in the provided position array.- Parameters:
sampleSupplier- a supplier to create the sample instance (can be() -> t) for instances that are re-used (likeType).position- array to use for storing the position.
-
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 PointSample<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)
-
-