SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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
 
Final Report Towards The Fulfillment Of My Course Cs5020 (...
Final Report Towards The Fulfillment Of My Course Cs5020 (...Final Report Towards The Fulfillment Of My Course Cs5020 (...
Final Report Towards The Fulfillment Of My Course Cs5020 (...Julie Kwhl
 
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
 

Semelhante a 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
 
Final Report Towards The Fulfillment Of My Course Cs5020 (...
Final Report Towards The Fulfillment Of My Course Cs5020 (...Final Report Towards The Fulfillment Of My Course Cs5020 (...
Final Report Towards The Fulfillment Of My Course Cs5020 (...
 
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
 

Mais 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
 

Mais 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

Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 

Último (20)

Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 

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

Notas do Editor

  1. netCDF 4.1 includes support for netCDF 3.6.2