public class BitType extends AbstractIntegerType<BitType> implements BooleanType<BitType>, NativeType<BitType>, IntegerType<BitType>
Modifier and Type | Field and Description |
---|---|
protected LongAccess |
dataAccess |
protected int |
i |
protected NativeImg<?,? extends LongAccess> |
img |
Constructor and Description |
---|
BitType() |
BitType(boolean value) |
BitType(LongAccess access) |
BitType(NativeImg<?,? extends LongAccess> bitStorage) |
Modifier and Type | Method and Description |
---|---|
void |
add(BitType c) |
void |
and(BitType c) |
int |
compareTo(BitType c) |
BitType |
copy()
|
NativeImg<BitType,? extends LongAccess> |
createSuitableNativeImg(NativeImgFactory<BitType> storageFactory,
long[] dim)
The
NativeType creates the NativeImg used for storing
image data; based on the given storage strategy and its size. |
BitType |
createVariable()
Creates a new
Type variable which can only store one value. |
void |
dec() |
void |
decIndex()
Decrement the index into the current data array.
|
void |
decIndex(int decrement)
Decrease the index into the current data array by
decrement
steps. |
void |
div(BitType c) |
BitType |
duplicateTypeOnSameNativeImg()
Creates a new
NativeType which stores in the same physical array. |
boolean |
get() |
BigInteger |
getBigInteger() |
int |
getBitsPerPixel() |
Fraction |
getEntitiesPerPixel()
Get the number of entities in the storage array required to store one
pixel value.
|
int |
getIndex()
Get the current index into the current data array.
|
int |
getInteger() |
long |
getIntegerLong() |
double |
getMaxValue() |
double |
getMinValue() |
void |
inc() |
void |
incIndex()
Increment the index into the current data array.
|
void |
incIndex(int increment)
Increases the index into the current data array by
increment
steps. |
void |
mul(BitType c) |
void |
mul(double c) |
void |
mul(float c) |
void |
not() |
void |
or(BitType c) |
void |
set(BitType c)
Sets the value of another
Type . |
void |
set(boolean value) |
void |
setBigInteger(BigInteger b) |
void |
setInteger(int f) |
void |
setInteger(long f) |
void |
setOne() |
void |
setZero() |
void |
sub(BitType c) |
String |
toString() |
void |
updateContainer(Object c)
This method is used by an accessor (e.g., a
Cursor ) to request an
update of the current data array. |
void |
updateIndex(int index)
Set the index into the current data array.
|
boolean |
valueEquals(BitType t) |
void |
xor(BitType c) |
getMinIncrement, getRealDouble, getRealFloat, hashCode, setReal, setReal
equals, getImaginaryDouble, getImaginaryFloat, getPhaseDouble, getPhaseFloat, getPowerDouble, getPowerFloat, setImaginary, setImaginary
complexConjugate, setComplexNumber, setComplexNumber
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getMinIncrement
complexConjugate, getImaginaryDouble, getImaginaryFloat, getPhaseDouble, getPhaseFloat, getPowerDouble, getPowerFloat, getRealDouble, getRealFloat, setComplexNumber, setComplexNumber, setImaginary, setImaginary, setReal, setReal
protected int i
protected final NativeImg<?,? extends LongAccess> img
protected LongAccess dataAccess
public BitType(NativeImg<?,? extends LongAccess> bitStorage)
public BitType(boolean value)
public BitType(LongAccess access)
public BitType()
public NativeImg<BitType,? extends LongAccess> createSuitableNativeImg(NativeImgFactory<BitType> storageFactory, long[] dim)
NativeType
NativeType
creates the NativeImg
used for storing
image data; based on the given storage strategy and its size. It
basically only decides here which BasicType it uses (float, int, byte,
bit, ...) and how many entities per pixel it needs (e.g. 2 floats per
pixel for a complex number). This enables the separation of containers
and the basic types.createSuitableNativeImg
in interface NativeType<BitType>
storageFactory
- which storage strategy is useddim
- the dimensionsNativeImg
where only the Type
knows the BasicType it contains.public void updateContainer(Object c)
NativeType
Cursor
) to request an
update of the current data array.
As an example consider a CellCursor
moving on a CellImg
.
The cursor maintains a NativeType
which provides access to the
image data. When the cursor moves from one cell to the next, the
underlying data array of the NativeType
must be switched to the
data array of the new cell.
To achieve this, the CellCursor
calls updateContainer()
with itself as the argument. updateContainer()
in turn will call
NativeImg.update(Object)
on it's container, passing along the
reference to the cursor. In this example, the container would be a
CellImg
. While the NativeType
does not know about the
type of the cursor, the container does. CellImg
knows that it is
passed a CellCursor
instance, which can be used to figure out the
current cell and the underlying data array, which is then returned to the
NativeType
.
The idea behind this concept is maybe not obvious. The NativeType
knows which basic type is used (float, int, byte, ...). However, it does
not know how the data is stored (ArrayImg
, CellImg
, ...).
This prevents the need for multiple implementations of NativeType
.
updateContainer
in interface NativeType<BitType>
c
- reference to an accessor which can be passed on to the
container (which will know what to do with it).public BitType duplicateTypeOnSameNativeImg()
NativeType
NativeType
which stores in the same physical array.
This is only used internally.duplicateTypeOnSameNativeImg
in interface NativeType<BitType>
NativeType
instance working on the same
NativeImg
public boolean get()
get
in interface BooleanType<BitType>
public void set(boolean value)
set
in interface BooleanType<BitType>
public int getInteger()
getInteger
in interface IntegerType<BitType>
public long getIntegerLong()
getIntegerLong
in interface IntegerType<BitType>
public BigInteger getBigInteger()
getBigInteger
in interface IntegerType<BitType>
public void setInteger(int f)
setInteger
in interface IntegerType<BitType>
public void setInteger(long f)
setInteger
in interface IntegerType<BitType>
public void setBigInteger(BigInteger b)
setBigInteger
in interface IntegerType<BitType>
public double getMaxValue()
getMaxValue
in interface RealType<BitType>
public double getMinValue()
getMinValue
in interface RealType<BitType>
public void set(BitType c)
Type
Type
.public void and(BitType c)
and
in interface BooleanType<BitType>
public void or(BitType c)
or
in interface BooleanType<BitType>
public void xor(BitType c)
xor
in interface BooleanType<BitType>
public void not()
not
in interface BooleanType<BitType>
public void add(BitType c)
public void div(BitType c)
public void mul(BitType c)
public void sub(BitType c)
public void mul(float c)
mul
in interface MulFloatingPoint
mul
in class AbstractRealType<BitType>
public void mul(double c)
mul
in interface MulFloatingPoint
mul
in class AbstractRealType<BitType>
public void setOne()
setOne
in interface SetOne
setOne
in class AbstractIntegerType<BitType>
public void setZero()
setZero
in interface SetZero
setZero
in class AbstractIntegerType<BitType>
public void inc()
public void dec()
public int compareTo(BitType c)
compareTo
in interface Comparable<BitType>
compareTo
in class AbstractIntegerType<BitType>
public BitType createVariable()
Type
Type
variable which can only store one value.createVariable
in interface Type<BitType>
Type
variablepublic String toString()
toString
in class AbstractIntegerType<BitType>
public Fraction getEntitiesPerPixel()
NativeType
getEntitiesPerPixel
in interface NativeType<BitType>
public void updateIndex(int index)
NativeType
This is used by accessors (e.g., a Cursor
) to position the
NativeType
in the container.
updateIndex
in interface NativeType<BitType>
index
- the new array indexpublic int getIndex()
NativeType
This is used by accessors (e.g., a Cursor
) to position the
NativeType
in the container.
getIndex
in interface NativeType<BitType>
public void incIndex()
NativeType
This is used by accessors (e.g., a Cursor
) to position the
NativeType
in the container.
incIndex
in interface NativeType<BitType>
public void incIndex(int increment)
NativeType
increment
steps.
This is used by accessors (e.g., a Cursor
) to position the
NativeType
in the container.
incIndex
in interface NativeType<BitType>
increment
- how many stepspublic void decIndex()
NativeType
This is used by accessors (e.g., a Cursor
) to position the
NativeType
in the container.
decIndex
in interface NativeType<BitType>
public void decIndex(int decrement)
NativeType
decrement
steps.
This is used by accessors (e.g., a Cursor
) to position the
NativeType
in the container.
decIndex
in interface NativeType<BitType>
decrement
- how many stepspublic int getBitsPerPixel()
getBitsPerPixel
in interface RealType<BitType>
public boolean valueEquals(BitType t)
valueEquals
in interface ValueEquals<BitType>
Copyright © 2009–2018 ImgLib2. All rights reserved.