Title of Presentation
Shared by: HC12071816412
-
Stats
- views:
- 1
- posted:
- 7/18/2012
- language:
- English
- pages:
- 24
Document Sample


HDF-Java Products
Peter Cao
The HDF Group
HDF and HDF-EOS Workshop XII
October 15, 2008
October 15-17, 2008 HDF and HDF-EOS Workshop XII 1
What are the HDF-Java products?
HDF-Java
HDF
Java Object Viewer
Wrapper Package Editor
October 15-17, 2008 HDF and HDF-EOS Workshop XII 2
Java Wrapper
HDF
October 15-17, 2008 HDF and HDF-EOS Workshop XII 3
Java Wrapper
Pure Java
Library
HDF
Java Native
Interface
a programming framework
that allows Java code to call
and be called by applications
and libraries written in other
languages
HDF
October 15-17, 2008 HDF and HDF-EOS Workshop XII 4
Pure Java Library
• Pros:
True platform independence
Direct access to file (no data
conversion between C and Java)
Pure Java
Library
• Cons:
Substantial amount of work to
implement
HDF
Hard to maintain (new features or
format changes)
October 15-17, 2008 HDF and HDF-EOS Workshop XII 5
HDF JNI
• Pros:
Easy to implement
HDF Easy to maintain
Java Native • Cons:
Interface
Requires data conversion between C
and Java
HDF JNI is platform dependent
HDF
October 15-17, 2008 HDF and HDF-EOS Workshop XII 6
Java Wrapper
HDF Java Native
Interface
libjhdf.so libjhdf5.so
HDFLibrary.java
(or dll) (or dll)
H5.java
HDF4 HDF5
library library
October 15-17, 2008 HDF and HDF-EOS Workshop XII 7
Java Wrapper: C versus Java
hid_t H5Fcreate ( public static native int H5Fcreate (
const char *name, String name,
unsigned flags, int flags,
hid_t create_id, int create_id,
hid_t access_id ); int access_id);
hid_t H5Fopen ( public static native int H5Fopen (
const char *name, String name,
unsigned flags, int flags,
hid_t access_id ); int access_id);
herr_t H5Fclose ( public static native int H5Fclose (
hid_t file_id ); int file_id);
C Java
October 15-17, 2008 HDF and HDF-EOS Workshop XII 8
Object Package
HDF-Java
HDF
Java Object Viewer
Wrapper Package Editor
October 15-17, 2008 HDF and HDF-EOS Workshop XII 9
Java Wrapper: simple dataset read
int fid, did, sid, tid, rank;
long dims[], maxDims[];
Object theData;
fid = H5.H5Fopen( fname, HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
did = H5.H5Dopen(fid, dname);
sid = H5.H5Dget_space(did);
tid = H5.H5Dget_type(did);
rank = H5.H5Sget_simple_extent_ndims(sid);
dims = new long[rank];
maxDims = new long[rank];
H5.H5Sget_simple_extent_dims(sid, dims, maxDims);
theData = allocateArray(tid, dims);
H5.H5Dread( did, tid, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, theData);
H5.H5Sclose(sid);
H5.H5Tclose(tid);
H5.H5Dclose(did);
H5.H5Fclose(fid);
October 15-17, 2008 HDF and HDF-EOS Workshop XII 10
Object Package: the easy way
theData = Dataset.read();
October 15-17, 2008 HDF and HDF-EOS Workshop XII 11
Object Package: main purposes
• Simplifies access to HDF files
• Separates applications from libraries
Modular design
Client server model
• Makes testing and maintenance easy
October 15-17, 2008 HDF and HDF-EOS Workshop XII 12
Object Package: levels of objects
Common Objects
Abstract classes
ncsa.hdf.object
jhdfobj.jar
HDF4 HDF5
Implementation ncsa.hdf.object.h5
ncsa.hdf.object.h4
jhdf4obj.jar jhdf5obj.jar
October 15-17, 2008 HDF and HDF-EOS Workshop XII 13
Object Package: abstract classes
FileFormat HObject
Group Dataset
ScalarDS CompoundDS
October 15-17, 2008 HDF and HDF-EOS Workshop XII 14
Object Package: HDF4 implementation
Group ScalarDS CompounDS
H4Group H4SDS H4GRImage H4Vdata
H4File
FileFormat
October 15-17, 2008 HDF and HDF-EOS Workshop XII 15
Object Package: HDF5 implementation
Group ScalarDS CompounDS
H5Group H5ScalarDS H5CompoundDS
H5File
FileFormat
October 15-17, 2008 HDF and HDF-EOS Workshop XII 16
Object Package: file create
import ncsa.hdf.object.*;
public class H5FileCreate
{
private static String fname = "H5FileCreate.h5";
public static void main( String args[] ) throws Exception
{
FileFormat fileFormat = FileFormat.getFileFormat(FileFormat.FILE_TYPE_HDF5);
fileFormat.createFile(fname, FileFormat.FILE_CREATE);
}
}
October 15-17, 2008 HDF and HDF-EOS Workshop XII 17
HDFView
HDF-Java
HDF
Java Object Viewer
Wrapper Package Editor
October 15-17, 2008 HDF and HDF-EOS Workshop XII 18
HDFView: basic components
October 15-17, 2008 HDF and HDF-EOS Workshop XII 19
HDFView: GUI components
HDFView MetaDataView
TreeView (GUI)
UserImp
UserImp
TableView ImageView TextView
UserImp UserImp
UserImp
October 15-17, 2008 HDF and HDF-EOS Workshop XII 20
HDFView: all together
October 15-17, 2008 HDF and HDF-EOS Workshop XII 21
What are the HDF-Java products?
HDF-Java
HDF
Java Object Viewer
Wrapper Package Editor
October 15-17, 2008 HDF and HDF-EOS Workshop XII 22
Thank You!
This report is based upon work supported in part by a Cooperative
Agreement with the National Aeronautics and Space Administration (NASA)
under NASA Awards NNX06AC83A and NNX08AO77A. Any opinions,
findings, and conclusions or recommendations expressed in this material
are those of the author(s) and do not necessarily reflect the views of the
National Aeronautics and Space Administration.
October 15-17, 2008 HDF and HDF-EOS Workshop XII 23
Questions/comments?
October 15-17, 2008 HDF and HDF-EOS Workshop XII 24
Get documents about "