SlideShare a Scribd company logo
1 of 24
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
Wrapper
October 15-17, 2008

Object
Package
HDF and HDF-EOS Workshop XII

Viewer
Editor
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:
HDF

October 15-17, 2008

− Substantial amount of work to
implement
− Hard to maintain (new features or
format changes)
HDF and HDF-EOS Workshop XII

5
HDF JNI

• Pros:
HDF

Java Native
Interface

HDF
October 15-17, 2008

− Easy to implement
− Easy to maintain

• Cons:
− Requires data conversion between C
and Java
− HDF JNI is platform dependent

HDF and HDF-EOS Workshop XII

6
Java Wrapper

Java Native
Interface

HDF

October 15-17, 2008

libjhdf.so
(or dll)

libjhdf5.so
(or dll)

HDF4
library

HDFLibrary.java
H5.java

HDF5
library

HDF and HDF-EOS Workshop XII

7
Java Wrapper: C versus Java
hid_t H5Fcreate (
const char *name,
unsigned flags,
hid_t create_id,
hid_t access_id );

public static native int H5Fcreate (
String name,
int flags,
int create_id,
int access_id);

hid_t H5Fopen (
const char *name,
unsigned flags,
hid_t access_id );

public static native int H5Fopen (
String name,
int flags,
int access_id);

herr_t H5Fclose (
hid_t file_id );

public static native int H5Fclose (
int file_id);

C
October 15-17, 2008

Java
HDF and HDF-EOS Workshop XII

8
Object Package

HDF-Java

HDF
Java
Wrapper
October 15-17, 2008

Object
Package
HDF and HDF-EOS Workshop XII

Viewer
Editor
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,
did = H5.H5Dopen(fid, dname);
sid = H5.H5Dget_space(did);
tid = H5.H5Dget_type(did);
rank = H5.H5Sget_simple_extent_ndims(sid);

HDF5Constants.H5P_DEFAULT );

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

Abstract classes

Implementation

October 15-17, 2008

Common Objects
ncsa.hdf.object
jhdfobj.jar

HDF4
ncsa.hdf.object.h4
jhdf4obj.jar

HDF and HDF-EOS Workshop XII

HDF5
ncsa.hdf.object.h5
jhdf5obj.jar

13
Object Package: abstract classes
FileFormat

HObject

Dataset

Group

ScalarDS

October 15-17, 2008

HDF and HDF-EOS Workshop XII

CompoundDS

14
Object Package: HDF4 implementation
Group

H4Group

ScalarDS

H4SDS

H4GRImage

CompounDS

H4Vdata

H4File

FileFormat
October 15-17, 2008

HDF and HDF-EOS Workshop XII

15
Object Package: HDF5 implementation
Group

ScalarDS

H5Group

H5ScalarDS

CompounDS

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
Wrapper
October 15-17, 2008

Object
Package
HDF and HDF-EOS Workshop XII

Viewer
Editor
18
HDFView: basic components

October 15-17, 2008

HDF and HDF-EOS Workshop XII

19
HDFView: GUI components

TreeView

HDFView
(GUI)

MetaDataView
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
Wrapper
October 15-17, 2008

Object
Package
HDF and HDF-EOS Workshop XII

Viewer
Editor
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

More Related Content

What's hot

Airframe Meetup #3: 2019 Updates & AirSpec
Airframe Meetup #3: 2019 Updates & AirSpecAirframe Meetup #3: 2019 Updates & AirSpec
Airframe Meetup #3: 2019 Updates & AirSpecTaro L. Saito
 
Reading The Source Code of Presto
Reading The Source Code of PrestoReading The Source Code of Presto
Reading The Source Code of PrestoTaro L. Saito
 
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020Taro L. Saito
 
The Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12cThe Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12cStewart Bryson
 
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020Taro L. Saito
 
Multiconf - Python Configuration API
Multiconf - Python Configuration APIMulticonf - Python Configuration API
Multiconf - Python Configuration APIlarshni
 

What's hot (7)

Airframe Meetup #3: 2019 Updates & AirSpec
Airframe Meetup #3: 2019 Updates & AirSpecAirframe Meetup #3: 2019 Updates & AirSpec
Airframe Meetup #3: 2019 Updates & AirSpec
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Reading The Source Code of Presto
Reading The Source Code of PrestoReading The Source Code of Presto
Reading The Source Code of Presto
 
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
Journey of Migrating 1 Million Presto Queries - Presto Webinar 2020
 
The Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12cThe Time is Now! Migrating from OWB to ODI 12c
The Time is Now! Migrating from OWB to ODI 12c
 
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
Scala for Everything: From Frontend to Backend Applications - Scala Matsuri 2020
 
Multiconf - Python Configuration API
Multiconf - Python Configuration APIMulticonf - Python Configuration API
Multiconf - Python Configuration API
 

Viewers also liked

Hdf5 current future
Hdf5 current futureHdf5 current future
Hdf5 current futuremfolk
 

Viewers also liked (20)

Advanced HDF5 Features
Advanced HDF5 FeaturesAdvanced HDF5 Features
Advanced HDF5 Features
 
Support for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF GroupSupport for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF Group
 
The CFD General Notation System transition to HDF5
The CFD General Notation System transition to HDF5The CFD General Notation System transition to HDF5
The CFD General Notation System transition to HDF5
 
ENVI/IDL for HDF
ENVI/IDL for HDFENVI/IDL for HDF
ENVI/IDL for HDF
 
Profile of NPOESS HDF5 Files
Profile of NPOESS HDF5 FilesProfile of NPOESS HDF5 Files
Profile of NPOESS HDF5 Files
 
EOSDIS Status
EOSDIS StatusEOSDIS Status
EOSDIS Status
 
Status of HDF-EOS, Related Software, and Tools
Status of HDF-EOS, Related Software, and ToolsStatus of HDF-EOS, Related Software, and Tools
Status of HDF-EOS, Related Software, and Tools
 
Proposal for adding Named Dimensions to HDF5 Arrays
Proposal for adding Named Dimensions to HDF5 ArraysProposal for adding Named Dimensions to HDF5 Arrays
Proposal for adding Named Dimensions to HDF5 Arrays
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Profile of HDF-EOS5 Files
Profile of HDF-EOS5 FilesProfile of HDF-EOS5 Files
Profile of HDF-EOS5 Files
 
HDF and HDF-EOS Experiences and Applications
HDF and HDF-EOS Experiences and ApplicationsHDF and HDF-EOS Experiences and Applications
HDF and HDF-EOS Experiences and Applications
 
Shifting the Burden from the User to the Data Provider
Shifting the Burden from the User to the Data ProviderShifting the Burden from the User to the Data Provider
Shifting the Burden from the User to the Data Provider
 
Migrating from HDF5 1.6 to 1.8
Migrating from HDF5 1.6 to 1.8Migrating from HDF5 1.6 to 1.8
Migrating from HDF5 1.6 to 1.8
 
Workshop Discussion: HDF & HDF-EOS Future Direction
Workshop Discussion: HDF & HDF-EOS Future DirectionWorkshop Discussion: HDF & HDF-EOS Future Direction
Workshop Discussion: HDF & HDF-EOS Future Direction
 
The MATLAB Low-Level HDF5 Interface
The MATLAB Low-Level HDF5 InterfaceThe MATLAB Low-Level HDF5 Interface
The MATLAB Low-Level HDF5 Interface
 
Reading HDF family of formats via NetCDF-Java / CDM
Reading HDF family of formats via NetCDF-Java / CDMReading HDF family of formats via NetCDF-Java / CDM
Reading HDF family of formats via NetCDF-Java / CDM
 
Using HDF5 Archive Information Package to preserve HDF-EOS2 data
Using HDF5 Archive Information Package to preserve HDF-EOS2 dataUsing HDF5 Archive Information Package to preserve HDF-EOS2 data
Using HDF5 Archive Information Package to preserve HDF-EOS2 data
 
ORNL DAAC MODIS Land Product Subsets
ORNL DAAC MODIS Land Product SubsetsORNL DAAC MODIS Land Product Subsets
ORNL DAAC MODIS Land Product Subsets
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Hdf5 current future
Hdf5 current futureHdf5 current future
Hdf5 current future
 

Similar to HDFView and HDF Java Products

Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsInteroperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsThe HDF-EOS Tools and Information Center
 

Similar to HDFView and HDF Java Products (20)

HDF5 iRODS
HDF5 iRODSHDF5 iRODS
HDF5 iRODS
 
HDF-Java Products
HDF-Java ProductsHDF-Java Products
HDF-Java Products
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
HDF Project Status and Plans
HDF Project Status and PlansHDF Project Status and Plans
HDF Project Status and Plans
 
Introduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming ModelsIntroduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming Models
 
Easy Access of NASA HDF data via OPeNDAP
Easy Access of NASA HDF data via OPeNDAPEasy Access of NASA HDF data via OPeNDAP
Easy Access of NASA HDF data via OPeNDAP
 
HDF OPeNDAP project update and demo
HDF OPeNDAP project update and demoHDF OPeNDAP project update and demo
HDF OPeNDAP project update and demo
 
Moving applications to HDF5 1.8
Moving applications to HDF5 1.8Moving applications to HDF5 1.8
Moving applications to HDF5 1.8
 
HDFView With an HDF-EOS Plug-in
HDFView With an HDF-EOS Plug-inHDFView With an HDF-EOS Plug-in
HDFView With an HDF-EOS Plug-in
 
HDF Tools Updates and Discussions
HDF Tools Updates and DiscussionsHDF Tools Updates and Discussions
HDF Tools Updates and Discussions
 
HDF5-OPeNDAP Project Update and Demo
HDF5-OPeNDAP Project Update and DemoHDF5-OPeNDAP Project Update and Demo
HDF5-OPeNDAP Project Update and Demo
 
HDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSSHDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSS
 
HDF5 and Storage Resource Broker
HDF5 and Storage Resource BrokerHDF5 and Storage Resource Broker
HDF5 and Storage Resource Broker
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
Images of HDF5
Images of HDF5Images of HDF5
Images of HDF5
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF4 Mapping Project Update
HDF4 Mapping Project UpdateHDF4 Mapping Project Update
HDF4 Mapping Project Update
 
HDF5 Tools
HDF5 ToolsHDF5 Tools
HDF5 Tools
 
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsInteroperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
 

More from The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

More from The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 
Leveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software TestingLeveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software Testing
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

HDFView and HDF Java Products

  • 1. 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
  • 2. What are the HDF-Java products? HDF-Java HDF Java Wrapper October 15-17, 2008 Object Package HDF and HDF-EOS Workshop XII Viewer Editor 2
  • 3. Java Wrapper HDF October 15-17, 2008 HDF and HDF-EOS Workshop XII 3
  • 4. 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
  • 5. Pure Java Library • Pros: − True platform independence − Direct access to file (no data conversion between C and Java) Pure Java Library • Cons: HDF October 15-17, 2008 − Substantial amount of work to implement − Hard to maintain (new features or format changes) HDF and HDF-EOS Workshop XII 5
  • 6. HDF JNI • Pros: HDF Java Native Interface HDF October 15-17, 2008 − Easy to implement − Easy to maintain • Cons: − Requires data conversion between C and Java − HDF JNI is platform dependent HDF and HDF-EOS Workshop XII 6
  • 7. Java Wrapper Java Native Interface HDF October 15-17, 2008 libjhdf.so (or dll) libjhdf5.so (or dll) HDF4 library HDFLibrary.java H5.java HDF5 library HDF and HDF-EOS Workshop XII 7
  • 8. Java Wrapper: C versus Java hid_t H5Fcreate ( const char *name, unsigned flags, hid_t create_id, hid_t access_id ); public static native int H5Fcreate ( String name, int flags, int create_id, int access_id); hid_t H5Fopen ( const char *name, unsigned flags, hid_t access_id ); public static native int H5Fopen ( String name, int flags, int access_id); herr_t H5Fclose ( hid_t file_id ); public static native int H5Fclose ( int file_id); C October 15-17, 2008 Java HDF and HDF-EOS Workshop XII 8
  • 9. Object Package HDF-Java HDF Java Wrapper October 15-17, 2008 Object Package HDF and HDF-EOS Workshop XII Viewer Editor 9
  • 10. Java Wrapper: simple dataset read int fid, did, sid, tid, rank; long dims[], maxDims[]; Object theData; fid = H5.H5Fopen( fname, HDF5Constants.H5F_ACC_RDWR, did = H5.H5Dopen(fid, dname); sid = H5.H5Dget_space(did); tid = H5.H5Dget_type(did); rank = H5.H5Sget_simple_extent_ndims(sid); HDF5Constants.H5P_DEFAULT ); 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
  • 11. Object Package: the easy way theData = Dataset.read(); October 15-17, 2008 HDF and HDF-EOS Workshop XII 11
  • 12. 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
  • 13. Object Package: levels of objects Abstract classes Implementation October 15-17, 2008 Common Objects ncsa.hdf.object jhdfobj.jar HDF4 ncsa.hdf.object.h4 jhdf4obj.jar HDF and HDF-EOS Workshop XII HDF5 ncsa.hdf.object.h5 jhdf5obj.jar 13
  • 14. Object Package: abstract classes FileFormat HObject Dataset Group ScalarDS October 15-17, 2008 HDF and HDF-EOS Workshop XII CompoundDS 14
  • 15. Object Package: HDF4 implementation Group H4Group ScalarDS H4SDS H4GRImage CompounDS H4Vdata H4File FileFormat October 15-17, 2008 HDF and HDF-EOS Workshop XII 15
  • 16. Object Package: HDF5 implementation Group ScalarDS H5Group H5ScalarDS CompounDS H5CompoundDS H5File FileFormat October 15-17, 2008 HDF and HDF-EOS Workshop XII 16
  • 17. 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
  • 19. HDFView: basic components October 15-17, 2008 HDF and HDF-EOS Workshop XII 19
  • 21. HDFView: all together October 15-17, 2008 HDF and HDF-EOS Workshop XII 21
  • 22. What are the HDF-Java products? HDF-Java HDF Java Wrapper October 15-17, 2008 Object Package HDF and HDF-EOS Workshop XII Viewer Editor 22
  • 23. 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
  • 24. Questions/comments? October 15-17, 2008 HDF and HDF-EOS Workshop XII 24