|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object visad.ThingImpl visad.DataImpl visad.FunctionImpl visad.FieldImpl visad.FlatField visad.ImageFlatField
public class ImageFlatField
ImageFlatField is a VisAD FlatField backed by a java.awt.image.BufferedImage
object, instead of the usual float[][] or double[][] samples array.
Expands the samples into floats or doubles on demand using
unpackFloats(boolean)
, which can be expensive for repeated
operations of certain types. Such calls can be avoided for certain types of
visualization using an 8-bit image with
ShadowImageFunctionTypeJ3D
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class visad.DataImpl |
---|
DataImpl.Syncher |
Field Summary | |
---|---|
static boolean |
DEBUG
Debugging flag. |
protected int |
height
Dimensions of the image. |
protected BufferedImage |
image
The image backing this FlatField. |
protected int |
num
Dimensions of the image. |
protected int |
width
Dimensions of the image. |
Fields inherited from class visad.FlatField |
---|
RangeCoordinateSystem, RangeCoordinateSystems, RangeUnits, TupleDimension |
Fields inherited from interface visad.Data |
---|
ABS, ACOS, ACOS_DEGREES, ADD, ASIN, ASIN_DEGREES, ATAN, ATAN_DEGREES, ATAN2, ATAN2_DEGREES, CEIL, COS, COS_DEGREES, DEGREES_TO_RADIANS, DEPENDENT, DIVIDE, EXP, FLOOR, INDEPENDENT, INV_ATAN2, INV_ATAN2_DEGREES, INV_DIVIDE, INV_POW, INV_REMAINDER, INV_SUBTRACT, LOG, MAX, MIN, MULTIPLY, NEAREST_NEIGHBOR, NEGATE, NO_ERRORS, NOP, POW, RADIANS_TO_DEGREES, REMAINDER, RINT, ROUND, SIN, SIN_DEGREES, SQRT, SUBTRACT, TAN, TAN_DEGREES, WEIGHTED_AVERAGE |
Constructor Summary | |
---|---|
ImageFlatField(BufferedImage img)
Constructs an ImageFlatField around the given BufferedImage. |
|
ImageFlatField(FunctionType type)
|
|
ImageFlatField(FunctionType type,
Set domain_set)
|
|
ImageFlatField(FunctionType type,
Set domain_set,
CoordinateSystem[] range_coord_syses,
Set[] range_sets,
Unit[] units)
|
|
ImageFlatField(FunctionType type,
Set domain_set,
CoordinateSystem range_coord_sys,
CoordinateSystem[] range_coord_syses,
Set[] range_sets,
Unit[] units)
|
|
ImageFlatField(FunctionType type,
Set domain_set,
CoordinateSystem range_coord_sys,
Set[] range_sets,
Unit[] units)
|
Method Summary | |
---|---|
DataShadow |
computeRanges(ShadowType type,
DataShadow shadow)
This method has been overridden to avoid a call to unpackValues or unpackFloats during range computation. |
RealType[] |
getDomainTypes()
Gets RealType for each domain component (X and Y). |
BufferedImage |
getImage()
Gets the image backing this FlatField. |
RealType[] |
getRangeTypes()
Gets RealType for each range component. |
Data |
getSample(int index)
Get the range value at the index-th sample. |
byte[][] |
grabBytes()
|
static byte[][] |
grabBytes(BufferedImage image)
|
static BufferedImage |
make3ByteRGB(BufferedImage image)
Converts the given BufferedImage to a format efficient with ImageFlatField's grabBytes method and usable with Java3D texturing by reference. |
static Set |
makeDomainSet(BufferedImage img)
Constructs a domain Set suitable for use with the given image. |
static FunctionType |
makeFunctionType(BufferedImage img)
Constructs a FunctionType suitable for use with the given image. |
protected void |
pr(String message)
|
void |
setImage(BufferedImage image)
Sets the image backing this FlatField. |
void |
setSamples(Data[] range,
boolean copy)
set the range values of the function; the order of range values must be the same as the order of domain indices in the DomainSet; copy argument included for consistency with Field, but ignored |
void |
setSamples(double[][] range,
boolean copy)
set range array as range values of this FlatField; the array is dimensioned double[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet; copy array if copy flag is true |
void |
setSamples(double[][] range,
ErrorEstimate[] errors,
boolean copy)
set the range values of the function including ErrorEstimate-s; the order of range values must be the same as the order of domain indices in the DomainSet |
void |
setSamples(float[][] range,
boolean copy)
set range array as range values of this FlatField; the array is dimensioned float[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet; copy array if copy flag is true |
void |
setSamples(float[][] range,
ErrorEstimate[] errors,
boolean copy)
set the range values of the function including ErrorEstimate-s; the order of range values must be the same as the order of domain indices in the DomainSet |
void |
setSamples(int start,
double[][] range)
update a subset of a FlatField's range samples, where start is the index of the first sample to update and range[0].length is the number of samples to update; the array is dimensioned double[number_of_range_components][number_of_range_samples] |
protected float[][] |
unpackFloats(boolean copy)
Unpacks an array of floats from field sample values. |
protected float[] |
unpackFloats(int s_index)
Unpack the floats at the sample index. |
protected double[] |
unpackOneRangeComp(int comp)
Unpack one range component, makes a copy. |
protected double[][] |
unpackValues(boolean copy)
Unpacks an array of doubles from field sample values. |
protected double[] |
unpackValues(int s_index)
Unpack the double value at the sample index. |
Methods inherited from class visad.FieldImpl |
---|
__getitem__, __len__, __setitem__, __setitem__, combine, combine, combine, combine, combine, domainEnumeration, domainFactor, domainFactor, domainMultiply, domainMultiply, domainMultiply, domainMultiply, extract, extract, getDomainCoordinateSystem, getDomainSet, getDomainUnits, getLength, setSample, setSample, setSample, setSamples |
Methods inherited from class visad.FunctionImpl |
---|
__getitem__, __getitem__, evaluate, evaluate, evaluate, evaluate, getDomainDimension, resample |
Methods inherited from class visad.DataImpl |
---|
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __radd__, __rdiv__, __rmod__, __rmul__, __rpow__, __rsub__, __sub__, __sub__, abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary |
Methods inherited from class visad.ThingImpl |
---|
addReference, removeReference |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface visad.Field |
---|
domainEnumeration, domainFactor, domainMultiply, domainMultiply, getDomainSet, getLength, setSample, setSample |
Methods inherited from interface visad.Function |
---|
evaluate, evaluate, evaluate, evaluate, getDomainCoordinateSystem, getDomainDimension, getDomainUnits, resample |
Methods inherited from interface visad.Data |
---|
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary |
Methods inherited from interface visad.Thing |
---|
addReference, removeReference |
Field Detail |
---|
public static final boolean DEBUG
protected BufferedImage image
protected int num
protected int width
protected int height
Constructor Detail |
---|
public ImageFlatField(BufferedImage img) throws VisADException, RemoteException
VisADException
RemoteException
public ImageFlatField(FunctionType type) throws VisADException
VisADException
public ImageFlatField(FunctionType type, Set domain_set) throws VisADException
VisADException
public ImageFlatField(FunctionType type, Set domain_set, CoordinateSystem range_coord_sys, Set[] range_sets, Unit[] units) throws VisADException
VisADException
public ImageFlatField(FunctionType type, Set domain_set, CoordinateSystem[] range_coord_syses, Set[] range_sets, Unit[] units) throws VisADException
VisADException
public ImageFlatField(FunctionType type, Set domain_set, CoordinateSystem range_coord_sys, CoordinateSystem[] range_coord_syses, Set[] range_sets, Unit[] units) throws VisADException
VisADException
Method Detail |
---|
public static BufferedImage make3ByteRGB(BufferedImage image)
public static FunctionType makeFunctionType(BufferedImage img) throws VisADException
VisADException
public static Set makeDomainSet(BufferedImage img) throws VisADException
VisADException
public BufferedImage getImage()
public void setImage(BufferedImage image) throws VisADException, RemoteException
VisADException
RemoteException
public RealType[] getDomainTypes()
public RealType[] getRangeTypes()
public void setSamples(Data[] range, boolean copy) throws VisADException, RemoteException
FlatField
setSamples
in interface Field
setSamples
in class FlatField
range
- The range valuescopy
- should the range values be copied
VisADException
RemoteException
public DataShadow computeRanges(ShadowType type, DataShadow shadow) throws VisADException
computeRanges
in interface Data
computeRanges
in class FlatField
type
- ShadowType generated for MathType of thisshadow
- DataShadow instance whose contained double[][]
array and animation sampling Set are modified
according to RealType values in this, and used
as return value
VisADException
- a VisAD error occurredprotected double[][] unpackValues(boolean copy) throws VisADException
unpackValues
in class FlatField
copy
- Ignored (always returns a copy).
SetException
- if an element of FlatField.RangeMode
contains an
unknown value.
VisADException
- if Set.indexToValue(int [])
on a range set
fails.protected float[][] unpackFloats(boolean copy) throws VisADException
unpackFloats
in class FlatField
copy
- Ignored (always returns a copy).
VisADException
protected double[] unpackValues(int s_index) throws VisADException
FlatField
unpackValues
in class FlatField
s_index
- sample index
VisADException
- unable to unpack valuesprotected float[] unpackFloats(int s_index) throws VisADException
FlatField
unpackFloats
in class FlatField
s_index
- sample index
VisADException
- unable to unpack floatsprotected double[] unpackOneRangeComp(int comp) throws VisADException
FlatField
unpackOneRangeComp
in class FlatField
comp
- component index
VisADException
- bad range modepublic Data getSample(int index) throws VisADException, RemoteException
FlatField
getSample
in interface Field
getSample
in class FlatField
index
- index of requested range sample
VisADException
- problem getting data
RemoteException
- problem getting data from remote objectprotected void pr(String message)
pr
in class FlatField
public void setSamples(double[][] range, boolean copy) throws RemoteException, VisADException
FlatField
setSamples
in interface FlatFieldIface
setSamples
in class FlatField
RemoteException
VisADException
public void setSamples(float[][] range, boolean copy) throws RemoteException, VisADException
FlatField
setSamples
in interface FlatFieldIface
setSamples
in class FlatField
RemoteException
VisADException
public void setSamples(double[][] range, ErrorEstimate[] errors, boolean copy) throws RemoteException, VisADException
FlatField
setSamples
in interface FlatFieldIface
setSamples
in class FlatField
RemoteException
VisADException
public void setSamples(int start, double[][] range) throws RemoteException, VisADException
FlatField
setSamples
in interface FlatFieldIface
setSamples
in class FlatField
RemoteException
VisADException
public void setSamples(float[][] range, ErrorEstimate[] errors, boolean copy) throws RemoteException, VisADException
FlatField
setSamples
in interface FlatFieldIface
setSamples
in class FlatField
RemoteException
VisADException
public byte[][] grabBytes()
grabBytes
in interface FlatFieldIface
grabBytes
in class FlatField
public static byte[][] grabBytes(BufferedImage image)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |