Title of Presentation

Shared by: HC12071816412
Categories
Tags
-
Stats
views:
1
posted:
7/18/2012
language:
English
pages:
24
Document Sample
scope of work template
							                      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

						
Related docs
Other docs by HC12071816412
Institute for Rock Magnetism
Views: 12  |  Downloads: 0
DEFO evidence table
Views: 0  |  Downloads: 0
AR emedy for the BIG Let Down
Views: 0  |  Downloads: 0
ACCT 102 � Review Exam #3
Views: 9  |  Downloads: 0
2007 Mileage Statistics
Views: 0  |  Downloads: 0
explication plan
Views: 1  |  Downloads: 0