public class NetCDFServiceImpl extends loci.common.services.AbstractService implements NetCDFService, com.esotericsoftware.kryo.KryoSerializable
Modifier and Type | Field and Description |
---|---|
private Vector<String> |
attributeList |
private String |
currentFile |
private ucar.nc2.NetcdfFile |
netCDFFile
NetCDF file instance.
|
static String |
NO_NETCDF_MSG |
private ucar.nc2.Group |
root
Root of the NetCDF file.
|
private Vector<String> |
variableList |
Constructor and Description |
---|
NetCDFServiceImpl()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
private String |
arrayToString(ucar.ma2.Array values) |
void |
close()
Closes and resets the service.
|
Object |
getArray(String path,
int[] origin,
int[] shape)
Retrieves an HDF path's values.
|
Vector<String> |
getAttributeList()
Retrieves an exhaustive list of the HDF paths for all attributes in the
HDF document.
|
String |
getAttributeValue(String path)
Retrieves an attribute's value.
|
int |
getDimension(String name)
Retrieves the length of a dimension.
|
private String |
getDirectory(String path) |
String |
getFile()
Retrieves the current initialized file path.
|
private ucar.nc2.Group |
getGroup(String path)
Retrieves a group based on its fully qualified path.
|
private String |
getName(String path) |
Hashtable<String,Object> |
getVariableAttributes(String name)
Retrieves all of a variable's attributes.
|
Vector<String> |
getVariableList()
Retrieves an exhaustive list of the HDF paths for all variables in the
HDF document.
|
Object |
getVariableValue(String name)
Retrieves a variable's value.
|
private void |
init() |
private void |
parseAttributesAndVariables(List<ucar.nc2.Group> groups)
Recursively parses attribute and variable paths, filling
attributeList and variableList . |
void |
read(com.esotericsoftware.kryo.Kryo kryo,
com.esotericsoftware.kryo.io.Input in) |
void |
setFile(String file)
Initializes the service on a given file path.
|
void |
write(com.esotericsoftware.kryo.Kryo kryo,
com.esotericsoftware.kryo.io.Output out) |
public static final String NO_NETCDF_MSG
private String currentFile
private ucar.nc2.NetcdfFile netCDFFile
private ucar.nc2.Group root
public void setFile(String file) throws IOException
NetCDFService
setFile
in interface NetCDFService
file
- Path to initialize the service with.IOException
- If there is an error initializing the service
with file
.public String getFile()
NetCDFService
getFile
in interface NetCDFService
null
if the service
has yet to be initialized or is closed.public Vector<String> getAttributeList()
NetCDFService
getAttributeList
in interface NetCDFService
public Vector<String> getVariableList()
NetCDFService
getVariableList
in interface NetCDFService
public String getAttributeValue(String path)
NetCDFService
getAttributeValue
in interface NetCDFService
path
- HDF path to the attribute.null
if the attribute is not a
string.public Object getVariableValue(String name) throws loci.common.services.ServiceException
NetCDFService
getVariableValue
in interface NetCDFService
name
- HDF path to the variable.loci.common.services.ServiceException
- If there is an error with the range of values
or reading from the file.Array.copyTo1DJavaArray()
public Object getArray(String path, int[] origin, int[] shape) throws loci.common.services.ServiceException
NetCDFService
getArray
in interface NetCDFService
path
- HDF path to the values.origin
- Array specifying the starting index. If null, assume
all zeroes.shape
- Array specifying the extents in each dimension. This
becomes the shape of the returned Array.loci.common.services.ServiceException
- If there is an error with the range of values
or reading from the file.Variable.read(int[], int[])
,
Array.copyToNDJavaArray()
public Hashtable<String,Object> getVariableAttributes(String name)
NetCDFService
getVariableAttributes
in interface NetCDFService
name
- HDF path to the variable.Array.copyTo1DJavaArray()
public int getDimension(String name)
NetCDFService
getDimension
in interface NetCDFService
name
- HDF path to the dimension.public void close() throws IOException
NetCDFService
close
in interface NetCDFService
IOException
- If there is an error closing the file.private void parseAttributesAndVariables(List<ucar.nc2.Group> groups)
attributeList
and variableList
.groups
- List of groups to recursively parse.private ucar.nc2.Group getGroup(String path)
path
- Fully qualified path to the group.root
if the group cannot be found.private String arrayToString(ucar.ma2.Array values)
private void init() throws IOException
IOException
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input in)
read
in interface com.esotericsoftware.kryo.KryoSerializable
public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output out)
write
in interface com.esotericsoftware.kryo.KryoSerializable
Copyright © 2017 Open Microscopy Environment