SlideShare une entreprise Scribd logo
1  sur  20
September 30, 2010
HDF & HDF-EOS Workshop XIV

IDL 8.0 & Update on IDL
Development for HDF

Beau Legeer – Director Product Management (ITT-VIS)
The information contained in this document pertains to software products and
services that are subject to the controls of the Export Administration Regulations
(EAR). The recipient is responsible for ensuring compliance to all applicable U.S.
Export Control laws and regulations.
IDL 8.0 Goals
• Fine tuned the IDL application so it is “simple-to-drive”
• With emphasis on the ad-hoc scientist user

• Major IDL language enhancements that are intuitive
• New control features, core data types and modern scripting syntax

• Powerful graphics that are modern and easy-to-use
• The best of direct graphics, object graphics and iTools

• Redesigned the Help to make it easier to learn IDL
• Focus on tasks and “how to”

• Backward compatibility for existing code

Visual Information Solutions
Simple UI

Visual Information Solutions
Powerful Graphics

Visual Information Solutions
Redesigned Help

Visual Information Solutions
Major Language Enhancements

Visual Information Solutions
Graphics Functions & Dot Syntax
Creation – Uses a functional interface
myPlot = PLOT(myData)

Property Access – Uses a structure notation
myPlot.color = “yellow”
background = myPlot.background_color

Access Elements via Strings
axis = myPlot.xaxis
axis.title = “Number of Farms”
allAxes = myPlot[“* axis”]
; return all axes - wild card searches

Visual Information Solutions
New Graphics Functions
• Plot

• Surface

• Vector

• Barplot

• Map

• Streamline

• Errorplot

• Mapgrid

• Text

• Polarplot

• Mapcontinents

• Polygon

• Plot3D

• Legend

• Polyline

• Image

• Colorbar

• Axis

• Contour

• Widget_Window

• Ellipse

Visual Information Solutions
New Graphics
A Clean UI With Powerful Graphics
• Native look & feel to the graphics window
• Intuitive toolbar with interactive controls for the graphics
• Programmatic control that is easy to understand for the
direct graphics user
• Cylindrical Equal Area map projection
& other map improvements
• New symbols for object graphics
• PDF output from new graphics
& object graphics
Visual Information Solutions
Language Features
Features of Modern Languages
!NULL
• Simplifies a complex, confusing operation. Other uses:
• Comparison with undefined variables or null objects/pointers
• Structure concatenation
• Assign to variables or function results to free memory
A = [ ]
; or !NULL or { }
For i=0, 100 do begin
A = [A, getData()]
Endfor

Garbage Collection
• Automatic object/pointer deletion means user no longer needs to
keep track of objects/pointers

Visual Information Solutions
Language – List & Hash
Methods to manage IDL variables of different types together
• Arrays demand same types for each element

List

• Combine any IDL type together in a single data type
L1 = LIST(‘spectrum', 5, 2, [1,2,3], LIST(1,2))
L1[0] = ‘Hello’
myVar = L1[0]

Hash (Dictionary)
• Combine any IDL type together. Elements referenced via a key
H1 = HASH(‘dog', 100, ‘pig’, 200, ‘data’, findgen(100))
myVar = H1[“dog”]
H1[“mykey”] = ‘Hello’
Visual Information Solutions
Other Language Features
Control Statement
• Addition of a “For Each” operator
FOREACH element, variable do begin
print, element
ENDFOREACH

New Behavior
• Negative Array Indices – “Wrap-around” the end of an array
A[ 0 : -1 ] ; goes from the first element (0) to the last element (N-1)
A[ -3 : 0 : -1 ] ; goes from element N-3 down to element 0

Visual Information Solutions
Language – Operator Overloading
Advanced Feature
Perform a specific object method when an operator is performed on that object
Example: Combining the values of two “length objects” to return a new value
Current Syntax:
length = a->GetLength() + b->GetLength()
c = obj_new(‘idl_length’, length) ;; make new object
With Operator Overloading:
Operator overloading allows you to hide this operation. Resulting in a normal statement:

c = a + b
The operation is placed in a method that is called when the “+” operator is used on the object:
FUNCTION idl_length::_overloadPlus, lenA, lenB
length = a->GetLength() + b->GetLength()
return, obj_new(‘idl_length’, length) ; make new object
END

Visual Information Solutions
What’s Overloadable
EQ NE GE GT LE LT
+ – * /
[ ] left [ ] right
NOT AND OR XOR
~ ^ mod
<

>

#
##
&& ||
Help, Print
SIZE, N_ELEMENTS
FOREACH
“.” is Get/SetProperty
Just inherit from IDL_Object

Visual Information Solutions
Language – Objects Before & After 8.0
A Simple Object Interaction Layer
IDL 7.0

IDL 8.0

Create & Destroy

Create

myObject = OBJ_NEW(‘MyClass’)

myObject = MyClass( )

OBJ_DESTROY, myObject

myObject.Cleanup

Properties:

Properties:

myObject->SetProperty,color=[255,0,0]
myObject->GetProperty, color=myColor

Calling Methods:
myObject->MyMethod, a, b, c

Key Points
• Strange syntax, difficult to learn
Visual Information Solutions

myObject.color = ‘red’
myColor = myObject.color

Calling Methods:
myObject.MyMethod, a, b, c

Key Points
• Standard, intuitive syntax
IDL 8.0 Summary
• Fine tuned the IDL application so it is “simple-to-drive”
• Major IDL language enhancements that are intuitive
• Powerful graphics that are modern and easy-to-use
• Redesigned the Help to make it easier to learn IDL
• Backward compatibility for existing code

Visual Information Solutions
IDL 8 w/HDF5 demo

17
HDF, netCDF & CDF Support in IDL 8.0
• HDF5 1.8.4
• netCDF 4.1
• CDF 3.3
• HDF-EOS 2.8
• Is the market for HDF-EOS5 growing?

• HDF 4.2r3
Are there more recent significant fixes?
Visual Information Solutions
HDF, HDF5, HDF-EOS future in IDL
• Continue to update library versions
• Incorporation of HDF-EOS5 based on demand
• Visual data browsing for all IDL Scientific Data Formats
• Implement a Common Data Model
• Integration directly with IDL Workbench and Language

• Incorporation of IDL 8.0 language enhancements to Scientific
Data Formats
• Easy to use object syntax for simple programmatic access
• Reduce level of procedural calls
• “Drill into” HDF objects programmatically

19
Thank You!
Beau Legeer – Director of Product Management ITT-VIS
blegeer@ittvis.com

20

Contenu connexe

Similaire à IDL 8.0 & Update on IDL Development for HDF

What's new in Android Lollipop
What's new in Android LollipopWhat's new in Android Lollipop
What's new in Android LollipopAbdellah SELASSI
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Maarten Balliauw
 
Fast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDBFast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDBMongoDB
 
Session 2 android study jam
Session 2 android study jamSession 2 android study jam
Session 2 android study jamAtharvKarbhari
 
Code camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyCode camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyUna Daly
 
Big Data Warehousing: Pig vs. Hive Comparison
Big Data Warehousing: Pig vs. Hive ComparisonBig Data Warehousing: Pig vs. Hive Comparison
Big Data Warehousing: Pig vs. Hive ComparisonCaserta
 
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...Joseph Alaimo Jr
 
iOS & Drupal
iOS & DrupaliOS & Drupal
iOS & DrupalFoti Dim
 
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..Mark Rackley
 
Advanced SQL - Database Access from Programming Languages
Advanced SQL - Database Access  from Programming LanguagesAdvanced SQL - Database Access  from Programming Languages
Advanced SQL - Database Access from Programming LanguagesS.Shayan Daneshvar
 
OOP, API Design and MVP
OOP, API Design and MVPOOP, API Design and MVP
OOP, API Design and MVPHarshith Keni
 
OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...
OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...
OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...NETWAYS
 

Similaire à IDL 8.0 & Update on IDL Development for HDF (20)

What's new in Android Lollipop
What's new in Android LollipopWhat's new in Android Lollipop
What's new in Android Lollipop
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
 
ENVI/IDL for HDF
ENVI/IDL for HDFENVI/IDL for HDF
ENVI/IDL for HDF
 
Fast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDBFast REST APIs Development with MongoDB
Fast REST APIs Development with MongoDB
 
Session 2 android study jam
Session 2 android study jamSession 2 android study jam
Session 2 android study jam
 
Code camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyCode camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una Daly
 
Solid OOPS
Solid OOPSSolid OOPS
Solid OOPS
 
C++ Programming
C++ ProgrammingC++ Programming
C++ Programming
 
HDF5 Tools in IDL
HDF5 Tools in IDLHDF5 Tools in IDL
HDF5 Tools in IDL
 
Ch09lect1 ud
Ch09lect1 udCh09lect1 ud
Ch09lect1 ud
 
Big Data Warehousing: Pig vs. Hive Comparison
Big Data Warehousing: Pig vs. Hive ComparisonBig Data Warehousing: Pig vs. Hive Comparison
Big Data Warehousing: Pig vs. Hive Comparison
 
Introduction of Xcode
Introduction of XcodeIntroduction of Xcode
Introduction of Xcode
 
C++ Programming
C++ ProgrammingC++ Programming
C++ Programming
 
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
FDMEE Scripting - Cloud and On-Premises - It Ain't Groovy, But It's My Bread ...
 
D7 Entities
D7 EntitiesD7 Entities
D7 Entities
 
iOS & Drupal
iOS & DrupaliOS & Drupal
iOS & Drupal
 
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
#SPSEMEA SharePoint & jQuery - What I wish I would have known a year ago..
 
Advanced SQL - Database Access from Programming Languages
Advanced SQL - Database Access  from Programming LanguagesAdvanced SQL - Database Access  from Programming Languages
Advanced SQL - Database Access from Programming Languages
 
OOP, API Design and MVP
OOP, API Design and MVPOOP, API Design and MVP
OOP, API Design and MVP
 
OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...
OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...
OSMC 2023 | Built-in OpenTelemetry support in Elasticsearch clients by Greg K...
 

Plus de 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
 

Plus 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
 

Dernier

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
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 WorkerThousandEyes
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
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 connectorsNanddeep Nachan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
"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 ...Zilliz
 
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...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"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 ...
 
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...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

IDL 8.0 & Update on IDL Development for HDF

  • 1. September 30, 2010 HDF & HDF-EOS Workshop XIV IDL 8.0 & Update on IDL Development for HDF Beau Legeer – Director Product Management (ITT-VIS) The information contained in this document pertains to software products and services that are subject to the controls of the Export Administration Regulations (EAR). The recipient is responsible for ensuring compliance to all applicable U.S. Export Control laws and regulations.
  • 2. IDL 8.0 Goals • Fine tuned the IDL application so it is “simple-to-drive” • With emphasis on the ad-hoc scientist user • Major IDL language enhancements that are intuitive • New control features, core data types and modern scripting syntax • Powerful graphics that are modern and easy-to-use • The best of direct graphics, object graphics and iTools • Redesigned the Help to make it easier to learn IDL • Focus on tasks and “how to” • Backward compatibility for existing code Visual Information Solutions
  • 6. Major Language Enhancements Visual Information Solutions
  • 7. Graphics Functions & Dot Syntax Creation – Uses a functional interface myPlot = PLOT(myData) Property Access – Uses a structure notation myPlot.color = “yellow” background = myPlot.background_color Access Elements via Strings axis = myPlot.xaxis axis.title = “Number of Farms” allAxes = myPlot[“* axis”] ; return all axes - wild card searches Visual Information Solutions
  • 8. New Graphics Functions • Plot • Surface • Vector • Barplot • Map • Streamline • Errorplot • Mapgrid • Text • Polarplot • Mapcontinents • Polygon • Plot3D • Legend • Polyline • Image • Colorbar • Axis • Contour • Widget_Window • Ellipse Visual Information Solutions
  • 9. New Graphics A Clean UI With Powerful Graphics • Native look & feel to the graphics window • Intuitive toolbar with interactive controls for the graphics • Programmatic control that is easy to understand for the direct graphics user • Cylindrical Equal Area map projection & other map improvements • New symbols for object graphics • PDF output from new graphics & object graphics Visual Information Solutions
  • 10. Language Features Features of Modern Languages !NULL • Simplifies a complex, confusing operation. Other uses: • Comparison with undefined variables or null objects/pointers • Structure concatenation • Assign to variables or function results to free memory A = [ ] ; or !NULL or { } For i=0, 100 do begin A = [A, getData()] Endfor Garbage Collection • Automatic object/pointer deletion means user no longer needs to keep track of objects/pointers Visual Information Solutions
  • 11. Language – List & Hash Methods to manage IDL variables of different types together • Arrays demand same types for each element List • Combine any IDL type together in a single data type L1 = LIST(‘spectrum', 5, 2, [1,2,3], LIST(1,2)) L1[0] = ‘Hello’ myVar = L1[0] Hash (Dictionary) • Combine any IDL type together. Elements referenced via a key H1 = HASH(‘dog', 100, ‘pig’, 200, ‘data’, findgen(100)) myVar = H1[“dog”] H1[“mykey”] = ‘Hello’ Visual Information Solutions
  • 12. Other Language Features Control Statement • Addition of a “For Each” operator FOREACH element, variable do begin print, element ENDFOREACH New Behavior • Negative Array Indices – “Wrap-around” the end of an array A[ 0 : -1 ] ; goes from the first element (0) to the last element (N-1) A[ -3 : 0 : -1 ] ; goes from element N-3 down to element 0 Visual Information Solutions
  • 13. Language – Operator Overloading Advanced Feature Perform a specific object method when an operator is performed on that object Example: Combining the values of two “length objects” to return a new value Current Syntax: length = a->GetLength() + b->GetLength() c = obj_new(‘idl_length’, length) ;; make new object With Operator Overloading: Operator overloading allows you to hide this operation. Resulting in a normal statement: c = a + b The operation is placed in a method that is called when the “+” operator is used on the object: FUNCTION idl_length::_overloadPlus, lenA, lenB length = a->GetLength() + b->GetLength() return, obj_new(‘idl_length’, length) ; make new object END Visual Information Solutions
  • 14. What’s Overloadable EQ NE GE GT LE LT + – * / [ ] left [ ] right NOT AND OR XOR ~ ^ mod < > # ## && || Help, Print SIZE, N_ELEMENTS FOREACH “.” is Get/SetProperty Just inherit from IDL_Object Visual Information Solutions
  • 15. Language – Objects Before & After 8.0 A Simple Object Interaction Layer IDL 7.0 IDL 8.0 Create & Destroy Create myObject = OBJ_NEW(‘MyClass’) myObject = MyClass( ) OBJ_DESTROY, myObject myObject.Cleanup Properties: Properties: myObject->SetProperty,color=[255,0,0] myObject->GetProperty, color=myColor Calling Methods: myObject->MyMethod, a, b, c Key Points • Strange syntax, difficult to learn Visual Information Solutions myObject.color = ‘red’ myColor = myObject.color Calling Methods: myObject.MyMethod, a, b, c Key Points • Standard, intuitive syntax
  • 16. IDL 8.0 Summary • Fine tuned the IDL application so it is “simple-to-drive” • Major IDL language enhancements that are intuitive • Powerful graphics that are modern and easy-to-use • Redesigned the Help to make it easier to learn IDL • Backward compatibility for existing code Visual Information Solutions
  • 17. IDL 8 w/HDF5 demo 17
  • 18. HDF, netCDF & CDF Support in IDL 8.0 • HDF5 1.8.4 • netCDF 4.1 • CDF 3.3 • HDF-EOS 2.8 • Is the market for HDF-EOS5 growing? • HDF 4.2r3 Are there more recent significant fixes? Visual Information Solutions
  • 19. HDF, HDF5, HDF-EOS future in IDL • Continue to update library versions • Incorporation of HDF-EOS5 based on demand • Visual data browsing for all IDL Scientific Data Formats • Implement a Common Data Model • Integration directly with IDL Workbench and Language • Incorporation of IDL 8.0 language enhancements to Scientific Data Formats • Easy to use object syntax for simple programmatic access • Reduce level of procedural calls • “Drill into” HDF objects programmatically 19
  • 20. Thank You! Beau Legeer – Director of Product Management ITT-VIS blegeer@ittvis.com 20

Notes de l'éditeur

  1. netCDF 4.1 includes support for netCDF 3.6.2