Package net.imglib2
Class RealPointSample<T>
- java.lang.Object
-
- net.imglib2.AbstractEuclideanSpace
-
- net.imglib2.AbstractRealLocalizable
-
- net.imglib2.RealPointSample<T>
-
- All Implemented Interfaces:
EuclideanSpace,Positionable,RealLocalizable,RealPositionable,RealRandomAccess<T>,Sampler<T>,Typed<T>
public class RealPointSample<T> extends AbstractRealLocalizable implements RealRandomAccess<T>
A simple default implementation ofRealRandomAccessthat can be used to combine a real location and a sample value, e.g. as output of aFunctionRealRandomAccessible.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.function.Supplier<T>sampleSupplier-
Fields inherited from class net.imglib2.AbstractRealLocalizable
position
-
Fields inherited from class net.imglib2.AbstractEuclideanSpace
n
-
-
Constructor Summary
Constructors Modifier Constructor Description RealPointSample(java.util.function.Supplier<T> sampleSupplier, double... position)Create a point at a definite location in a space of the dimensionality of the position.protectedRealPointSample(java.util.function.Supplier<T> sampleSupplier, double[] position, boolean copyPosition)Protected constructor that can re-use the passed position array.RealPointSample(java.util.function.Supplier<T> sampleSupplier, float... position)Create a point at a definite location in a space of the dimensionality of the position.RealPointSample(java.util.function.Supplier<T> sampleSupplier, int n)Create a point in nDimensional space initialized to 0,0,...RealPointSample(java.util.function.Supplier<T> sampleSupplier, RealLocalizable localizable)Create a point using the position and dimensionality of aRealLocalizable
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbck(int d)Move by -1 in one dimension.RealPointSample<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(double[] distance)Move the element relative to its current location using a float[] as distance vector.voidmove(double distance, int d)Move the element in one dimension for some distance.voidmove(float[] distance)Move the element relative to its current location using a float[] as distance vector.voidmove(float distance, int d)Move the element in one dimension for some distance.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.voidmove(RealLocalizable localizable)Move the element relative to its current location using aRealLocalizableas distance vector.voidsetPosition(double[] position)Set the position of the element.voidsetPosition(double position, int d)Set the position of the element for one dimension.voidsetPosition(float[] position)Set the position of the element.voidsetPosition(float position, int d)Set the position of the element for one dimension.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 givenLocalizablevoidsetPosition(RealLocalizable localizable)Place the element at the same location as a givenRealLocalizablejava.lang.StringtoString()static <T> RealPointSample<T>wrap(T sample, double[] position)Create aRealPointSamplethat carries the provided sample and stores its coordinates in the provided position array.static <T> RealPointSample<T>wrapSupplier(java.util.function.Supplier<T> sampleSupplier, double[] position)Create aRealPointSamplethat carries the provided sample and stores its coordinates in the provided position array.-
Methods inherited from class net.imglib2.AbstractRealLocalizable
getDoublePosition, getFloatPosition, 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.RealLocalizable
getDoublePosition, getFloatPosition, localize, localize, localize, positionAsDoubleArray, positionAsRealPoint
-
Methods inherited from interface net.imglib2.RealRandomAccess
copyRealRandomAccess, setPositionAndGet, setPositionAndGet, setPositionAndGet
-
-
-
-
Field Detail
-
sampleSupplier
protected final java.util.function.Supplier<T> sampleSupplier
-
-
Constructor Detail
-
RealPointSample
protected RealPointSample(java.util.function.Supplier<T> sampleSupplier, double[] position, boolean copyPosition)
Protected constructor that can re-use the passed position array.- Parameters:
sampleSupplier-position- array used to store the position.copyPosition- flag indicating whether position array should be duplicated.
-
RealPointSample
public RealPointSample(java.util.function.Supplier<T> sampleSupplier, int n)
Create a point in nDimensional space initialized to 0,0,...- Parameters:
n- number of dimensions of the space
-
RealPointSample
public RealPointSample(java.util.function.Supplier<T> sampleSupplier, double... position)
Create a point at a definite location in a space of the dimensionality of the position.- Parameters:
position- the initial position. The length of the array determines the dimensionality of the space.
-
RealPointSample
public RealPointSample(java.util.function.Supplier<T> sampleSupplier, float... position)
Create a point at a definite location in a space of the dimensionality of the position.- Parameters:
position- the initial position. The length of the array determines the dimensionality of the space.
-
RealPointSample
public RealPointSample(java.util.function.Supplier<T> sampleSupplier, RealLocalizable localizable)
Create a point using the position and dimensionality of aRealLocalizable- Parameters:
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
-
move
public void move(float distance, int d)Description copied from interface:RealPositionableMove the element in one dimension for some distance.- Specified by:
movein interfaceRealPositionable
-
move
public void move(double distance, int d)Description copied from interface:RealPositionableMove the element in one dimension for some distance.- Specified by:
movein interfaceRealPositionable
-
move
public void move(RealLocalizable localizable)
Description copied from interface:RealPositionableMove the element relative to its current location using aRealLocalizableas distance vector.- Specified by:
movein interfaceRealPositionable- Parameters:
localizable- relative offset,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
move
public void move(float[] distance)
Description copied from interface:RealPositionableMove the element relative to its current location using a float[] as distance vector.- Specified by:
movein interfaceRealPositionable- Parameters:
distance- , length must be ≥EuclideanSpace.numDimensions()
-
move
public void move(double[] distance)
Description copied from interface:RealPositionableMove the element relative to its current location using a float[] as distance vector.- Specified by:
movein interfaceRealPositionable- Parameters:
distance- , length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(RealLocalizable localizable)
Description copied from interface:RealPositionablePlace the element at the same location as a givenRealLocalizable- Specified by:
setPositionin interfaceRealPositionable- Parameters:
localizable- absolute position,EuclideanSpace.numDimensions()must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(float[] position)
Description copied from interface:RealPositionableSet the position of the element.- Specified by:
setPositionin interfaceRealPositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(double[] position)
Description copied from interface:RealPositionableSet the position of the element.- Specified by:
setPositionin interfaceRealPositionable- Parameters:
position- absolute position, length must be ≥EuclideanSpace.numDimensions()
-
setPosition
public void setPosition(float position, int d)Description copied from interface:RealPositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfaceRealPositionable
-
setPosition
public void setPosition(double position, int d)Description copied from interface:RealPositionableSet the position of the element for one dimension.- Specified by:
setPositionin interfaceRealPositionable
-
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> RealPointSample<T> wrap(T sample, double[] position)
Create aRealPointSamplethat carries the provided sample and stores its coordinates in the provided position array. Note that making acopy()of the result will not make a copy of the sample.- 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> RealPointSample<T> wrapSupplier(java.util.function.Supplier<T> sampleSupplier, double[] position)
Create aRealPointSamplethat 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 RealPointSample<T> copy()
- Specified by:
copyin interfaceRealRandomAccess<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)
-
-