MATLAB and Scientific Data: New Features and Capabilities

Slides:



Advertisements
Similar presentations
The Complete Technical Analysis and Development Environment An attractive alternative to MATLAB and GAUSS - Physics World.
Advertisements

Water Rights Accounting. New Accounting Model New Technology: 1979 versus 2011 – Faster processors – Faster graphics – Larger, faster, memory – Larger,
MATLAB Extras Week 16 – 5/12/09 Kate Musgrave
DC GIS Presentation 1/14/2007 DC GIS Use of Google Geospatial Technology MWGOG GIS Committee January 14, 2008 Barney Krucoff GIS Director District of Columbia.
Digital Data Introduction to Remote Sensing Instructor: Dr. Cheng-Chien LiuCheng-Chien Liu Department of Earth Sciences National Cheng Kung University.
Science Advisory Committee Meeting - 20 September 3, 2010 Stanford University 1 04_Parallel Processing Parallel Processing Majid AlMeshari John W. Conklin.
Christine White, Esri Growing OPeNDAP Support: Current ArcGIS Workflows and Future Directions Christine White, Esri
ESRM 250 & CFR 520: Introduction to GIS © Phil Hurvitz, KEEP THIS TEXT BOX this slide includes some ESRI fonts. when you save this presentation,
Charlie Crocker Vice President Farallon Geographics, Inc. An Overview of Internet Mapping Technology.
ESRM 250 & CFR 520: Introduction to GIS © Phil Hurvitz, KEEP THIS TEXT BOX this slide includes some ESRI fonts. when you save this presentation,
LizardTech Geospatial Products April, LiDAR Compressor Compress point cloud data to MrSID Generation 4 (MG4) Lossless 25% of the original size.
Anne Mascarin DSP Marketing The MathWorks
Computational Tools for Image Processing Lecture 1, Jan 22nd, 2007 Part 2 (8:10-9:20pm) by Lexing Xie EE4830 Digital Image Processing
Digital Image Processing Lecture3: Introduction to MATLAB.
Sharing imagery and raster data in ArcGIS
Parallelization with the Matlab® Distributed Computing Server CBI cluster December 3, Matlab Parallelization with the Matlab Distributed.
FENIX Architecture Overview of the application framework FAO Statistics Division.
© 2004 The MathWorks, Inc. 1 MATLAB for C/C++ Programmers Support your C/C++ development using MATLAB’s prebuilt graphics functions and trusted numerics.
1 1 Hybrid Cloud Solutions (Private with Public Burst) Accelerate and Orchestrate Enterprise Applications.
© 2005 The MathWorks December 2 nd, 2005 MATLAB ® and HDF Accelerating Engineering Productivity and Scientific Discovery.
© 2008 The MathWorks, Inc. ® ® Parallel Computing with MATLAB ® Silvina Grad-Freilich Manager, Parallel Computing Marketing
© Crown copyright Met Office Introduction to IDV PRECIS Reading Workshop, August 2009.
Accessing the Amazon Elastic Compute Cloud (EC2) Angadh Singh Jerome Braun.
1 High level view of HDF5 Data structures and library HDF Summit Boeing Seattle September 19, 2006.
Upgrade to Real Time Linux Target: A MATLAB-Based Graphical Control Environment Thesis Defense by Hai Xu CLEMSON U N I V E R S I T Y Department of Electrical.
Software Engineering for Business Information Systems (sebis) Department of Informatics Technische Universität München, Germany wwwmatthes.in.tum.de Data-Parallel.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Cyberinfrastructure Geoffrey Fox Indiana University.
Introduction to Apache Hadoop Zibo Wang. Introduction  What is Apache Hadoop?  Apache Hadoop is a software framework which provides open source libraries.
Introduction to ArcView NPS Introduction to GIS: Lecture 2 Based on NINC, ESRI and Other Sources.
Achieving Interoperability using the ArcGIS Platform
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
1 © 2012 The MathWorks, Inc. Parallel computing with MATLAB.
The HDF Group ESIP Summer Meeting HDF Studio John Readey The HDF Group 1 July 8 – 11, 2014.
HDF5 Tools in Dr. Christopher Torrence Senior Software Engineer.
Preparing and Deploying Data to ArcPad Juan Luera.
Integrated Grid workflow for mesoscale weather modeling and visualization Zhizhin, M., A. Polyakov, D. Medvedev, A. Poyda, S. Berezin Space Research Institute.
Esri UC 2014 | Technical Workshop | Designing and Using Cached Map Services Tom Brenneman & Eric Rodenberg.
CFR 250/590 Introduction to GIS, Autumn 1999 View Basics © Phil Hurvitz, intro.ppt 1 Overview Getting data into ArcView Displaying themes Theme.
Space Research Software Pedro Vicente Space Research Software, Inc. HDF-EOS Workshop VI Dec. 4-5, 2002 San Francisco, CA HDF.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
An Update on COLA’s Software Development Jennifer M. Adams and Brian Doty.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
Managing WMS and WCS on multidimensional NetCDF Datasets with Geoserver Martin Desruisseaux, Geomatys Mickael Treguer, Ifremer.
Handling Landsat Images with Matlab Malinda Siriwardana, Prof. Yuji Murayama University of Tsukuba Graduate School of Life and Environmental Science 132.
PDAC-10 Middleware Solutions for Data- Intensive (Scientific) Computing on Clouds Gagan Agrawal Ohio State University (Joint Work with Tekin Bicer, David.
Google Map Engine Can export images to Map Engine from Earth Engine
11/8/2007HDF and HDF-EOS Workshop XI, Landover, MD1 Software to access HDF5 Datasets via OPeNDAP MuQun Yang, Hyo-Kyung Lee The HDF Group.
Meeting Users Needs with Octave A survey of the use of Matlab™ and Octave at the NIH Tom Holroyd NIMH MEG Core Facility Presented at the Octave 2006 Workshop.
The HDF Group January 8, ESIP Winter Meeting Data Container Study: HDF5 in a POSIX File System or HDF5 C 3 : Compression, Chunking,
36 th LHCb Software Week Pere Mato/CERN.  Provide a complete, portable and easy to configure user environment for developing and running LHC data analysis.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
HedEx Lite Obtaining and Using Huawei Documentation Easily
MATLAB, Big Data, and HDF Server
Data Analytics using MATLAB and HDF5
Matlab.
Big Data A Quick Review on Analytical Tools
Data Sharing We all need data
Software for scientific calculations
Platform as a Service.
Welcome to MATLAB.
Introduction to Spark.
Access HDF5 Datasets via OPeNDAP’s Data Access Protocol (DAP)
Introduction to Apache
Overview of big data tools
Tile layers, map image layers, and on-premises Web GIS
Server & Tools Business
MapReduce: Simplified Data Processing on Large Clusters
Designing and Using Cached Map Services
Presentation transcript:

MATLAB and Scientific Data: New Features and Capabilities Ellen Johnson Senior Software Engineer MathWorks Landsat8 Image: Coral Reef, Vanua Levu, Fiji

The Leading Environment for Technical Computing Numeric computation Parallel computing, with multicore and multiprocessor support Data analysis and visualization Toolboxes for signal and image processing, statistics, optimization, symbolic math, and other areas Tools for application development and deployment MATLAB, our first core product, is the leading environment for technical computing. It is also the foundation of MathWorks products. People apply MATLAB to a broad range of applications, including signal processing, control system analysis, image processing, and general data analysis. That’s one reason why MATLAB (is/can be) used so widely throughout (your organization/organizations like yours/your industry).   MATLAB addresses this range of applications by offering a core set of technical computing capabilities. These include: * Fast and robust numeric computation, with over 1000 algorithms geared to engineering and science * Engineering graphics and visualization tools * A high-level programming language that has become an industry standard for developing and sharing algorithms * Add-on toolboxes, providing additional functions for specific areas, such as signal and image processing, control system design, statistics, symbolic math, and other areas Optional elaboration: When people describe MATLAB, they generally talk about it as one of two things: * An interactive, exploratory analysis and visualization environment * A programming environment In fact, it’s both. The math, graphics, and language can be applied in either way, and these two modes can be mixed. You can use MATLAB as an exploratory environment, iteratively trying out math functions and plotting results until you’re satisfied with the resulting analysis. And you can use that same MATLAB language to develop functions and applications that you can reuse and share with others. The mode you use really depends on your style and your end goal. The benefit of this is that you can do your thinking and your programming in a single environment. The MathWorks

Go Farther with MATLAB and Toolboxes Signal Processing Toolbox Mapping Toolbox Statistics and Machine Learning Toolbox Image Processing Toolbox Database Toolbox Note to presenter: Use this slide to show that we have a number of toolboxes that extend the capabilities of MATLAB and a number of them are useful for Image Processing applications. You do not need to describe all of these toolboxes. Image Acquisition Toolbox Capture images and video from hardware, control devices within MATLAB Database Toolbox Exchange data with ODBC or JDBC-compliant relational databases Statistics Toolbox Perform statistical analysis, like Principle Components Analysis and K-means clustering Signal Processing Toolbox Tools for filtering, spectral analysis, and classical signal processing Mapping Toolbox Access, visualize, and analyze geospatial data MATLAB Compiler Deploy components for larger C/C++ projects or deploy stand-alone desktop applications. (Also available are Builders for JAVA and .NET) Image Acquisition Toolbox MATLAB Compiler

MATLAB and Scientific Data Scientific data formats HDF5, HDF4, HDF-EOS2 NetCDF (with OPeNDAP!) FITS, CDF, BIL, BIP, BSQ Image file formats TIFF, JPEG, HDR, PNG, JPEG2000, and more Vector data file formats ESRI Shapefiles, KML, GPS and more Raster data file formats GeoTIFF, NITF, USGS and SDTS DEM, NIMA DTED, and more Web Map Service (WMS)

Scientific Data Libraries MATLAB R2015a Developing formal upgrade cadence to stay current with vendors Work closely with vendors on testing new versions Library Version in MATLAB Vendor Version HDF5 1.8.12 1.8.15 HDF4 4.2.5 4.2.11 HDF-EOS2 2.17 2.18 NetCDF with OPeNDAP 4.1.3 4.3.3.1 CDF 3.3.0 3.6.0 FITS 3.27 3.37

HDF5 High Level Interface (h5read, h5write, h5disp, h5info) h5disp('example.h5','/g4/lat'); data = h5read('example.h5','/g4/lat'); Low Level Interface (Wraps HDF5 C APIs) fid = H5F.open('example.h5'); dset_id = H5D.open(fid,'/g4/lat'); data = H5D.read(dset_id); H5D.close(dset_id); H5F.close(fid); h5disp maps to h5dump try, catch don’t have to recompile your code to play with the lower level interfaces Run code as you type it

NetCDF High Level Interface (ncdisp, ncread, ncwrite, ncinfo) url = 'http://oceanwatch.pifsc.noaa.gov/thredds/ dodsC/goes-poes/2day'; ncdisp(url); data = ncread(url,'sst'); Low Level Interface (Wraps netCDF C APIs) ncid = netcdf.open(url); varid = netcdf.inqVarID(ncid,'sst'); netcdf.getVar(ncid,varid,'double'); netcdf.close(ncid); ncdisp maps to ncdump

New in R2014b/R2015a HDF5 version 1.8.12! Dates and Times Big Data Read data with a third-party filter applied Both our high-level and low-level interfaces provide support Dates and Times datetime, duration, and calendarDuration Support for math, sorting, comparisons, plotting, formatted display, timezones Big Data mapreduce and datastore functions table and categorical powerful in conjunction with big data analysis RESTful web server access webread, webwrite, and websave JSON objects represented as struct arrays

Reading HDF5 Data with Dynamically Loaded Filter MATLAB can easily read datasets with dynamically loaded compression filters Example using BZIP2 compressor % Set the HDF5_PLUGIN_PATH environment variable >> setenv('HDF5_PLUGIN_PATH','/test/BZIP2-plugin/plugins/lib'); % Read data with our high-level interface >> myData = h5read('h5ex_d_bzip2.h5','/DS1'); % Read data with our low-level interface >> fileId = H5F.open('h5ex_d_bzip2.h5','H5F_ACC_RDONLY','H5P_DEFAULT'); >> dset = H5D.open(fileId,'/DS1','H5P_DEFAULT'); >> myData = H5D.read(dset,'H5T_NATIVE_INT','H5S_ALL','H5S_ALL','H5P_DEFAULT'); >> H5D.close(dset); >> H5F.close(fileId);

Date and Time Arrays Same data type for computation and display datetime for representing a point in time duration, calendarDuration for representing elapsed time Same data type for computation and display Add, subtract, sort, compare, and plot Customize display formats Nanosecond precision Support for time zones Accounts for daylight saving time And now with R2014b, there are new datatypes for working with dates and time. datetime is used to represent points in time, such as October 2nd 2014 at 2pm. To represent elapsed time, you can use either a duration for a fixed length of time like 24 hours or a calendar duration for a variable length of time like 1 month which could be 28-31 days long. These new types support arithmetic, comparisons, and plotting. You can set and converting the time zone for datetimes accounting for daylight saving time, specify default display format for datetimes and durations while maintaining nanosecond precision for absolute times.

Automatic Updating of Datetime Tick Labels I encourage you to find out more about this latest release from MathWorks. You can find the release announcement on our home page. From there you can navigate to the highlights for the entire release. And from there, you can navigate to the MATLAB new features page….

Big Data Capabilities in MATLAB Memory and Data Access 64-bit processors Memory Mapped Variables Disk Variables Databases Datastores Programming Constructs Streaming Block Processing Parallel-for loops GPU Arrays SPMD and Distributed Arrays MapReduce There are three primary ways of categorizing ways to approach big data with MATLAB today. You can extend memory usage and leverage disk space through features like 64 bit processors, memory mapped variables, and disk variables. You can leverage programming constructs to process your data. These includes options for streaming data, block processing, and working with data in a distributed fashion with techniques such as parfor loops. You can also take advantage of the hardware you have available to process and analyze big data, including clusters and clouds. These are totally separate categories – and often you use aspect of them together to achieve the best way of tackling your big data problem. We’ve added to these capabilities with R2014b, with datastores, and MapReduce functionality that scales for use with Hadoop. Platforms Desktop (Multicore, GPU) Clusters Cloud Computing (MDCS on EC2) Hadoop

Options for Handling Big Data Platform Desktop Only Desktop + Cluster Desktop + Hadoop Data Size 100’s MB -10’s GB 100’s MB -100’s GB 100’s GB – PBs Techniques parfor datastore mapreduce distributed data spmd MATLAB Desktop (Client) Cluster Scheduler … ..… MATLAB Desktop (Client) Hadoop Cluster Hadoop Scheduler … ..… MATLAB Desktop (Client) Silvina: If they need to scle more, they will use similar resources in a cluster

RESTful Web Service Access Read historical temperature data from the World Bank Climate Data API >> api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/'; >> url = [api 'country/cru/tas/year/USA']; >> S = webread(url) S = 112x1 struct array with fields: year data >> S(1) ans = year: 1901 data: 6.6187

View and Save Lunar South Pole Color-coded Topography >> url = 'http://planetarynames.wr.usgs.gov/images/moon_sp.jpg'; >> data = webread(url); >> imshow(data) >> filename = 'lunarSouthPole.jpg' >> options = weboptions >> options.Timeout = 10; >> options.ContentType = 'image'; >> outFile = websave(filename,url,options) outFile = c:\Libraries\Documents\lunarSouthPole.jpg

Demo: Webread meets HDF Server HDF Server: A RESTful API providing remote access to HDF5 data Responses are JSON formatted text webread with weboptions provide data access Example: Coral Reef Temperature Anomaly Database (CoRTAD) Version 3 CoRTAD products in HDF5 format 1.8G dataset Running h5serv locally >> options = weboptions('RequestMethod','get','KeyName','host','KeyValue','cortadv3_row04_col14.hdfgroup.org') >> data = webread('http://localhost:5000/',options) data = lastModified: '2015-07-10T00:41:43.681844Z' hrefs: [5x1 struct] root: '6f60d9c0-269c-11e5-aa56-005056c00008' created: '2015-07-10T00:38:58.799031Z'

Thank you! Questions? www.mathworks.com www.mathworks.com/matlabcentral Examples: Using the high-level HDF5 Functions to Import Data Tackling Big Data with MATLAB Performing Numerical Simulation of an Oil Spill Reading Content from RESTful Web Service Thank you!

References www.hdfgroup.org https://www.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf https://hdfgroup.org/wp/2015/04/hdf5-for-the-web-hdf-server/ http://data.worldbank.org/developers/climate-data-api https://data.nasa.gov/data http://visibleearth.nasa.gov/ http://www.nodc.noaa.gov/sog/cortad/ http://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068999