SlideShare una empresa de Scribd logo
1 de 35
RSI at the HDF & HDF-EOS
Workshop VI
October 26, 2004 – Aurora, CO
RSI Representatives:
• Eddie Haskell – IDL Software Engineer
ehaskell@RSInc.com
8+ Years of IDL Experience
• Andy Pursch – Technical Sales Engineer
Mgr. apursch@RSInc.com
16+ Years of IDL Experience
Worked at NASA Goddard and JPL
• Molly Bantz – Product Marketing
Specialist mbantz@RSInc.com
Agenda:
• RSI Corporate Overview
• Introduction of IDL-HDF5 Write
Functionality
• Product Demonstration
RSI Overview: Locations
• RSI Corporate Headquarters
Boulder, Colorado
• RSI Washington D.C. Office
• RSI International Offices
United Kingdom
France
Italy
• RSI Distributors
Worldwide
RSI Overview: History
• 1977 RSI founded and IDL launched
• Market for IDL grows extensively and
RSI becomes a global organization
• 1994 RSI releases ENVI
• 2000 RSI acquired by KODAK
• 2004 RSS group of KODAK and RSI
become part of ITT Industries
– Space Systems Division
RSI Products & Services
• IDL – Interactive Data Language
ION, Virtual Machine, Dataminer, Wavelet Toolkit,
New! DICOM Toolkit

•

ENVI – Remote Sensing Solutions
FLAASH, NITF Module, RemoteView Link,
ARCGIS Reader

• RSI’s Global Services – Solutions
Algorithm Development, Consulting, Training,
Commercialization, SBIR Support
RSI Industries Served
RSI products and services provide
visualization and analysis solutions for a
wide variety of industries:
• Remote Sensing

• Mining/Oil & Gas

• Atmospheric Science /

• Defense/Homeland
Security

Meteorology

• Government

• Astrophysics

• Academic

• Medical Imaging

• Research &
Development

• Engineering
IDL and HDF5
IDL 6.1 HDF5
New for IDL 6.1:
The HDF5 dynamically loadable module has
been enhanced to include write capabilities.
Write capabilities include datasets, attributes,
groups, links, datatypes, and many types of
data.
IDL 6.1 HDF5
Prior to IDL 6.1 the
HDF5 library
included only
read capabilities
Also included a
graphical HDF5
file browser and a
parse procedure
that would parse
an entire HDF5
file and import it
into IDL.
IDL 6.1 HDF5
Added routines from the following HDF5
interfaces:
Attributes: H5A
Datasets: H5D
File: H5F
Group: H5G
Reference: H5R
Dataspace: H5S
Datatype: H5T
IDL 6.1 HDF5 H5F
Updated routine:
H5F_OPEN
Added WRITE keyword to open the file for
reading and writing. Default is read only.
New routine:
H5F_CREATE
file_id = H5F_CREATE(Filename)
This always overwrites the file if one exists.
Defaults are used for create and access
properties.
IDL 6.1 HDF5 H5T
New routine:
H5T_IDL_CREATE
Datatype_id = H5T_IDL_CREATE(Data
[, MEMBER_NAMES=vector])
Creates a datatype based on the FIRST element of
the IDL data (caution when creating a string
datatype). Compound datatypes can be created
by passing in an IDL structure.
Uses H5Tcopy and H5Tcreate.
IDL 6.1 HDF5 H5T
New routine:
H5T_ARRAY_CREATE
Datatype_id = H5T_ARRAY_CREATE(Datatype_id,
Dimensions)

New routine:
H5T_REFERENCE_CREATE
Datatype_id = H5T_REFERENCE_CREATE([/REGION])
IDL 6.1 HDF5 H5T
New routine:
H5T_INSERT
H5T_INSERT, Datatype_id, Name, Field_id
This procedure adds a new member to the end of
a compound datatype.

New routine:
H5T_PACK
H5T_PACK, Datatype_id
IDL 6.1 HDF5 H5S
New routine:
H5S_CREATE_SCALAR
Dataspace_id = H5S_CREATE_SCALAR()
Complements existing routine:
H5S_CREATE_SIMPLE
IDL 6.1 HDF5 H5D
New routine:
H5D_CREATE
Dataset_id = H5D_CREATE(Loc_id, Name,
Datatype_id, Dataspace_id,
[CHUNK_DIMENSIONS=vector])
CHUNK_DIMENSIONS is required for extendable
datasets
Default values are used for allocation time, fill
time, and fill value
IDL 6.1 HDF5 H5D
New routine:
H5D_WRITE
H5D_WRITE, Dataset_id, Data,
[, MEMORY_SPACE_ID=value]
[, FILE_SPACE_ID=value]
Data will be converted, if possible, to the
datatype that was used in the creation of the
dataset
IDL 6.1 HDF5 H5A
New routine:
H5A_CREATE
Attr_id = H5A_CREATE(Loc_id, Name,
Datatype_id, Dataspace_id)
Attributes are limited in size to 16KB
IDL 6.1 HDF5 H5A
New routine:
H5A_WRITE
H5A_WRITE, Attribute_id, Data
Data will be converted, if possible, to the
datatype that was used in the creation of the
attribute
IDL 6.1 HDF5 H5R
New routine:
H5R_CREATE
Ref = H5R_CREATE(Loc_id, Name
[, DATASPACE_ID=value])
Ref is returned as either an integer, if an object
reference is returned, or a named structure, if
a dataspace region reference is returned.
Updated routine:
H5R_DEREFERENCE
IDL 6.1 HDF5 H5A
New routine:
H5A_DELETE
H5A_DELETE, Loc_id, Name
This function should not be used when attribute
identifiers are open on Loc_id as it may corrupt
the file.
IDL 6.1 HDF5 H5D
New routine:
H5D_EXTEND
H5D_EXTEND, Dataset_id, Size
IDL 6.1 HDF5 H5G
New routine:
H5G_CREATE
Group_id = H5G_CREATE(Loc_id, Name)

New routine:
H5G_GET_NUM_OBJS
Value = H5G_GET_NUM_OBJS(Loc_id)
IDL 6.1 HDF5 H5G
New routine:
H5G_GET_OBJ_NAME_BY_IDX
Name = H5G_GET_OBJ_NAME_BY_IDX(Loc_id, Index)

New routine:
H5G_SET_COMMENT
H5G_SET_COMMENT, Loc_id, Name, Comment
IDL 6.1 HDF5 H5G
New routine:
H5G_LINK
H5G_LINK, Loc_id, Current_Name, New_Name
[, /SOFTLINK] [, NEW_LOC_ID=value]
Combines H5GLink and H5GLink2, calling the
appropriate one as needed.

New routine:
H5G_UNLINK
H5G_UNLINK, Loc_id, Name
IDL 6.1 HDF5 H5G
New routine:
H5G_MOVE
H5G_MOVE, Loc_id, Src_Name, Dst_Name
[, NEW_LOC_ID=value]
Combines H5GMove and H5GMove2, calling the
appropriate one as needed.
IDL 6.1 HDF5 H5R
New routine:
H5R_GET_REGION
Dataspace_id = H5R_GET_REGION(Dataset_id,
Reference)
IDL 6.1 HDF5 H5S
New routine:
H5S_SET_EXTENT_SIMPLE
H5S_SET_EXTENT_SIMPLE, Dataspace_id,
Dimensions [,MAX_DIMENSIONS=vector]

New routine:
H5S_SET_EXTENT_NONE
H5S_SET_EXTENT_NONE, Dataspace_id
IDL 6.1 HDF5 H5T
New routine:
H5T_COMMIT
H5T_COMMIT, Loc_id, Name, Datatype_id
A named Datatype can be shared by objects
within the same HDF5 file, but not by objects
in other files.
IDL 6.1 HDF5
New routine:
H5_CREATE
H5_CREATE, Filename, Structure
The structure is modeled after the structure returned from
the existing routine H5_PARSE().
H5_CREATE may not be able to recreate a file when given the
structure returned from H5_PARSE().
Limitations: Variable length arrays, data types not directly
supported in IDL, order of items in the file, references, …
IDL 6.1 HDF5
H5_CREATE
Structure tags:
_NAME : If not supplied the name of the tag will be used
(Required for top level items. Exception: if this a top level
group a new group will only be created if _NAME is
supplied)
_TYPE : “GROUP”, “DATASET”, “ATTRIBUTE”, “DATATYPE”,
“LINK”
_DATA : IDL data. Full path to object if LINK. Not used for
GROUPS
_COMMENT : comment
_LINKTYPE : “SOFT” or “HARD” LINK only, default is HARD
SUBSTRUCTURES : Items in a group, attributes, etc.
IDL 6.1 HDF5
H5_CREATE
Dataspaces are all defined as the full extent of the data, and
datatypes are created automatically based on the type of
the data.
Simple Example:
grey_scale = byte(bindgen(256)##(bytarr(3)+1b))
pal = {_TYPE:'Attribute', _DATA:grey_scale}
dataset = {_NAME:'Hanning', _TYPE:'Dataset', $
_DATA:hanning(100,200), PALETTE:pal}
H5_CREATE, 'myFile2.h5', dataset
IDL 6.1 HDF5/EOS
“RSI is committed to delivering products to the scientific data
format community. We will maintain a watch in order to develop
the functionality necessary to support missions and new formats.”
“We realize that our work is not done with HDF5-write
functionality and so are beginning the work of scoping and
scheduling development of HDF5-EOS.”
Respectfully,
Harold Cline
Director of Product Management
IDL 6.1 HDF5
Currently in testing. Hopefully will be available in
mid-November.
• Questions?
• Comments?
• Requests?

Más contenido relacionado

La actualidad más candente

SharePoint TechCon 2009 - 801
SharePoint TechCon 2009 - 801SharePoint TechCon 2009 - 801
SharePoint TechCon 2009 - 801
Andreas Grabner
 
Accelerating distributed joins in Apache Hive: Runtime filtering enhancements
Accelerating distributed joins in Apache Hive: Runtime filtering enhancementsAccelerating distributed joins in Apache Hive: Runtime filtering enhancements
Accelerating distributed joins in Apache Hive: Runtime filtering enhancements
Stamatis Zampetakis
 
Reusing existing data_layer_to_persist_multi_f
Reusing existing data_layer_to_persist_multi_fReusing existing data_layer_to_persist_multi_f
Reusing existing data_layer_to_persist_multi_f
bol.com
 

La actualidad más candente (20)

Organizing the Data Chaos of Scientists
Organizing the Data Chaos of ScientistsOrganizing the Data Chaos of Scientists
Organizing the Data Chaos of Scientists
 
Optimizing Apache Spark SQL Joins
Optimizing Apache Spark SQL JoinsOptimizing Apache Spark SQL Joins
Optimizing Apache Spark SQL Joins
 
DataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data ManagementDataFinder: A Python Application for Scientific Data Management
DataFinder: A Python Application for Scientific Data Management
 
Spark SQL with Scala Code Examples
Spark SQL with Scala Code ExamplesSpark SQL with Scala Code Examples
Spark SQL with Scala Code Examples
 
How to Integrate Spark MLlib and Apache Solr to Build Real-Time Entity Type R...
How to Integrate Spark MLlib and Apache Solr to Build Real-Time Entity Type R...How to Integrate Spark MLlib and Apache Solr to Build Real-Time Entity Type R...
How to Integrate Spark MLlib and Apache Solr to Build Real-Time Entity Type R...
 
Spark SQL Deep Dive @ Melbourne Spark Meetup
Spark SQL Deep Dive @ Melbourne Spark MeetupSpark SQL Deep Dive @ Melbourne Spark Meetup
Spark SQL Deep Dive @ Melbourne Spark Meetup
 
SharePoint TechCon 2009 - 801
SharePoint TechCon 2009 - 801SharePoint TechCon 2009 - 801
SharePoint TechCon 2009 - 801
 
Accelerating distributed joins in Apache Hive: Runtime filtering enhancements
Accelerating distributed joins in Apache Hive: Runtime filtering enhancementsAccelerating distributed joins in Apache Hive: Runtime filtering enhancements
Accelerating distributed joins in Apache Hive: Runtime filtering enhancements
 
Multi-Model Data Query Languages and Processing Paradigms
Multi-Model Data Query Languages and Processing ParadigmsMulti-Model Data Query Languages and Processing Paradigms
Multi-Model Data Query Languages and Processing Paradigms
 
OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)OData Introduction and Impact on API Design (Webcast)
OData Introduction and Impact on API Design (Webcast)
 
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
Advanced Apache Spark Meetup Spark SQL + DataFrames + Catalyst Optimizer + Da...
 
Reusing existing data_layer_to_persist_multi_f
Reusing existing data_layer_to_persist_multi_fReusing existing data_layer_to_persist_multi_f
Reusing existing data_layer_to_persist_multi_f
 
GraphFrames: DataFrame-based graphs for Apache® Spark™
GraphFrames: DataFrame-based graphs for Apache® Spark™GraphFrames: DataFrame-based graphs for Apache® Spark™
GraphFrames: DataFrame-based graphs for Apache® Spark™
 
Building a modern Application with DataFrames
Building a modern Application with DataFramesBuilding a modern Application with DataFrames
Building a modern Application with DataFrames
 
20140908 spark sql & catalyst
20140908 spark sql & catalyst20140908 spark sql & catalyst
20140908 spark sql & catalyst
 
Spark sql
Spark sqlSpark sql
Spark sql
 
Intro to Elasticsearch
Intro to ElasticsearchIntro to Elasticsearch
Intro to Elasticsearch
 
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data Science
 
Database basics for new-ish developers -- All Things Open October 18th 2021
Database basics for new-ish developers  -- All Things Open October 18th 2021Database basics for new-ish developers  -- All Things Open October 18th 2021
Database basics for new-ish developers -- All Things Open October 18th 2021
 
Graph db as metastore
Graph db as metastoreGraph db as metastore
Graph db as metastore
 

Similar a RSI at the HDF & HDF-EOS Workshop VI

Implementing HDF5 in MATLAB
Implementing HDF5 in MATLABImplementing HDF5 in MATLAB
Implementing HDF5 in MATLAB
The HDF-EOS Tools and Information Center
 

Similar a RSI at the HDF & HDF-EOS Workshop VI (20)

HDF5 Tools in IDL
HDF5 Tools in IDLHDF5 Tools in IDL
HDF5 Tools in IDL
 
UML Representation of NPOESS Data Products in HDF5
UML Representation of NPOESS Data Products in HDF5UML Representation of NPOESS Data Products in HDF5
UML Representation of NPOESS Data Products in HDF5
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
HDF Update for DAAC Managers (2017-02-27)
HDF Update for DAAC Managers (2017-02-27)HDF Update for DAAC Managers (2017-02-27)
HDF Update for DAAC Managers (2017-02-27)
 
Introduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIsIntroduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIs
 
IDL Support of HDF
IDL Support of HDFIDL Support of HDF
IDL Support of HDF
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Introduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIsIntroduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIs
 
Ldapsession
LdapsessionLdapsession
Ldapsession
 
ICESat-2 H5-ES Product Development Strategy
ICESat-2 H5-ES Product Development StrategyICESat-2 H5-ES Product Development Strategy
ICESat-2 H5-ES Product Development Strategy
 
Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9Ldapsession 1217528612650451-9
Ldapsession 1217528612650451-9
 
Introduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIsIntroduction to HDF5 Data Model, Programming Model and Library APIs
Introduction to HDF5 Data Model, Programming Model and Library APIs
 
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, DatatypesHDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
HDF5 Advanced Topics - Object's Properties, Storage Methods, Filters, Datatypes
 
Advanced HDF5 Features
Advanced HDF5 FeaturesAdvanced HDF5 Features
Advanced HDF5 Features
 
Module net cdf4
Module net cdf4 Module net cdf4
Module net cdf4
 
Hdf5 intro
Hdf5 introHdf5 intro
Hdf5 intro
 
Big data Analytics Hadoop
Big data Analytics HadoopBig data Analytics Hadoop
Big data Analytics Hadoop
 
Substituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scriptsSubstituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scripts
 
Implementing HDF5 in MATLAB
Implementing HDF5 in MATLABImplementing HDF5 in MATLAB
Implementing HDF5 in MATLAB
 

Más de The HDF-EOS Tools and Information Center

Más de 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 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

RSI at the HDF & HDF-EOS Workshop VI

  • 1. RSI at the HDF & HDF-EOS Workshop VI October 26, 2004 – Aurora, CO
  • 2. RSI Representatives: • Eddie Haskell – IDL Software Engineer ehaskell@RSInc.com 8+ Years of IDL Experience • Andy Pursch – Technical Sales Engineer Mgr. apursch@RSInc.com 16+ Years of IDL Experience Worked at NASA Goddard and JPL • Molly Bantz – Product Marketing Specialist mbantz@RSInc.com
  • 3. Agenda: • RSI Corporate Overview • Introduction of IDL-HDF5 Write Functionality • Product Demonstration
  • 4. RSI Overview: Locations • RSI Corporate Headquarters Boulder, Colorado • RSI Washington D.C. Office • RSI International Offices United Kingdom France Italy • RSI Distributors Worldwide
  • 5. RSI Overview: History • 1977 RSI founded and IDL launched • Market for IDL grows extensively and RSI becomes a global organization • 1994 RSI releases ENVI • 2000 RSI acquired by KODAK • 2004 RSS group of KODAK and RSI become part of ITT Industries – Space Systems Division
  • 6. RSI Products & Services • IDL – Interactive Data Language ION, Virtual Machine, Dataminer, Wavelet Toolkit, New! DICOM Toolkit • ENVI – Remote Sensing Solutions FLAASH, NITF Module, RemoteView Link, ARCGIS Reader • RSI’s Global Services – Solutions Algorithm Development, Consulting, Training, Commercialization, SBIR Support
  • 7. RSI Industries Served RSI products and services provide visualization and analysis solutions for a wide variety of industries: • Remote Sensing • Mining/Oil & Gas • Atmospheric Science / • Defense/Homeland Security Meteorology • Government • Astrophysics • Academic • Medical Imaging • Research & Development • Engineering
  • 9. IDL 6.1 HDF5 New for IDL 6.1: The HDF5 dynamically loadable module has been enhanced to include write capabilities. Write capabilities include datasets, attributes, groups, links, datatypes, and many types of data.
  • 10. IDL 6.1 HDF5 Prior to IDL 6.1 the HDF5 library included only read capabilities Also included a graphical HDF5 file browser and a parse procedure that would parse an entire HDF5 file and import it into IDL.
  • 11. IDL 6.1 HDF5 Added routines from the following HDF5 interfaces: Attributes: H5A Datasets: H5D File: H5F Group: H5G Reference: H5R Dataspace: H5S Datatype: H5T
  • 12. IDL 6.1 HDF5 H5F Updated routine: H5F_OPEN Added WRITE keyword to open the file for reading and writing. Default is read only. New routine: H5F_CREATE file_id = H5F_CREATE(Filename) This always overwrites the file if one exists. Defaults are used for create and access properties.
  • 13. IDL 6.1 HDF5 H5T New routine: H5T_IDL_CREATE Datatype_id = H5T_IDL_CREATE(Data [, MEMBER_NAMES=vector]) Creates a datatype based on the FIRST element of the IDL data (caution when creating a string datatype). Compound datatypes can be created by passing in an IDL structure. Uses H5Tcopy and H5Tcreate.
  • 14. IDL 6.1 HDF5 H5T New routine: H5T_ARRAY_CREATE Datatype_id = H5T_ARRAY_CREATE(Datatype_id, Dimensions) New routine: H5T_REFERENCE_CREATE Datatype_id = H5T_REFERENCE_CREATE([/REGION])
  • 15. IDL 6.1 HDF5 H5T New routine: H5T_INSERT H5T_INSERT, Datatype_id, Name, Field_id This procedure adds a new member to the end of a compound datatype. New routine: H5T_PACK H5T_PACK, Datatype_id
  • 16. IDL 6.1 HDF5 H5S New routine: H5S_CREATE_SCALAR Dataspace_id = H5S_CREATE_SCALAR() Complements existing routine: H5S_CREATE_SIMPLE
  • 17. IDL 6.1 HDF5 H5D New routine: H5D_CREATE Dataset_id = H5D_CREATE(Loc_id, Name, Datatype_id, Dataspace_id, [CHUNK_DIMENSIONS=vector]) CHUNK_DIMENSIONS is required for extendable datasets Default values are used for allocation time, fill time, and fill value
  • 18. IDL 6.1 HDF5 H5D New routine: H5D_WRITE H5D_WRITE, Dataset_id, Data, [, MEMORY_SPACE_ID=value] [, FILE_SPACE_ID=value] Data will be converted, if possible, to the datatype that was used in the creation of the dataset
  • 19. IDL 6.1 HDF5 H5A New routine: H5A_CREATE Attr_id = H5A_CREATE(Loc_id, Name, Datatype_id, Dataspace_id) Attributes are limited in size to 16KB
  • 20. IDL 6.1 HDF5 H5A New routine: H5A_WRITE H5A_WRITE, Attribute_id, Data Data will be converted, if possible, to the datatype that was used in the creation of the attribute
  • 21. IDL 6.1 HDF5 H5R New routine: H5R_CREATE Ref = H5R_CREATE(Loc_id, Name [, DATASPACE_ID=value]) Ref is returned as either an integer, if an object reference is returned, or a named structure, if a dataspace region reference is returned. Updated routine: H5R_DEREFERENCE
  • 22. IDL 6.1 HDF5 H5A New routine: H5A_DELETE H5A_DELETE, Loc_id, Name This function should not be used when attribute identifiers are open on Loc_id as it may corrupt the file.
  • 23. IDL 6.1 HDF5 H5D New routine: H5D_EXTEND H5D_EXTEND, Dataset_id, Size
  • 24. IDL 6.1 HDF5 H5G New routine: H5G_CREATE Group_id = H5G_CREATE(Loc_id, Name) New routine: H5G_GET_NUM_OBJS Value = H5G_GET_NUM_OBJS(Loc_id)
  • 25. IDL 6.1 HDF5 H5G New routine: H5G_GET_OBJ_NAME_BY_IDX Name = H5G_GET_OBJ_NAME_BY_IDX(Loc_id, Index) New routine: H5G_SET_COMMENT H5G_SET_COMMENT, Loc_id, Name, Comment
  • 26. IDL 6.1 HDF5 H5G New routine: H5G_LINK H5G_LINK, Loc_id, Current_Name, New_Name [, /SOFTLINK] [, NEW_LOC_ID=value] Combines H5GLink and H5GLink2, calling the appropriate one as needed. New routine: H5G_UNLINK H5G_UNLINK, Loc_id, Name
  • 27. IDL 6.1 HDF5 H5G New routine: H5G_MOVE H5G_MOVE, Loc_id, Src_Name, Dst_Name [, NEW_LOC_ID=value] Combines H5GMove and H5GMove2, calling the appropriate one as needed.
  • 28. IDL 6.1 HDF5 H5R New routine: H5R_GET_REGION Dataspace_id = H5R_GET_REGION(Dataset_id, Reference)
  • 29. IDL 6.1 HDF5 H5S New routine: H5S_SET_EXTENT_SIMPLE H5S_SET_EXTENT_SIMPLE, Dataspace_id, Dimensions [,MAX_DIMENSIONS=vector] New routine: H5S_SET_EXTENT_NONE H5S_SET_EXTENT_NONE, Dataspace_id
  • 30. IDL 6.1 HDF5 H5T New routine: H5T_COMMIT H5T_COMMIT, Loc_id, Name, Datatype_id A named Datatype can be shared by objects within the same HDF5 file, but not by objects in other files.
  • 31. IDL 6.1 HDF5 New routine: H5_CREATE H5_CREATE, Filename, Structure The structure is modeled after the structure returned from the existing routine H5_PARSE(). H5_CREATE may not be able to recreate a file when given the structure returned from H5_PARSE(). Limitations: Variable length arrays, data types not directly supported in IDL, order of items in the file, references, …
  • 32. IDL 6.1 HDF5 H5_CREATE Structure tags: _NAME : If not supplied the name of the tag will be used (Required for top level items. Exception: if this a top level group a new group will only be created if _NAME is supplied) _TYPE : “GROUP”, “DATASET”, “ATTRIBUTE”, “DATATYPE”, “LINK” _DATA : IDL data. Full path to object if LINK. Not used for GROUPS _COMMENT : comment _LINKTYPE : “SOFT” or “HARD” LINK only, default is HARD SUBSTRUCTURES : Items in a group, attributes, etc.
  • 33. IDL 6.1 HDF5 H5_CREATE Dataspaces are all defined as the full extent of the data, and datatypes are created automatically based on the type of the data. Simple Example: grey_scale = byte(bindgen(256)##(bytarr(3)+1b)) pal = {_TYPE:'Attribute', _DATA:grey_scale} dataset = {_NAME:'Hanning', _TYPE:'Dataset', $ _DATA:hanning(100,200), PALETTE:pal} H5_CREATE, 'myFile2.h5', dataset
  • 34. IDL 6.1 HDF5/EOS “RSI is committed to delivering products to the scientific data format community. We will maintain a watch in order to develop the functionality necessary to support missions and new formats.” “We realize that our work is not done with HDF5-write functionality and so are beginning the work of scoping and scheduling development of HDF5-EOS.” Respectfully, Harold Cline Director of Product Management
  • 35. IDL 6.1 HDF5 Currently in testing. Hopefully will be available in mid-November. • Questions? • Comments? • Requests?