Introduction to IDL Lecture 2. ITT: solutions for data visualization and image analysis   IDL, programming.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Jul 23 - Aug 3, 2007COSPAR Planetary Science Workshop, Montevideo, Uruguay 1 IDL Basics Jian-Yang Li, Fernando Roig.
By Cynthia Rodriguez University of Texas at San Antonio
Introduction to MATLAB The language of Technical Computing.
Introduction to Matlab
Chapter 7 Introduction to Procedures. So far, all programs written in such way that all subtasks are integrated in one single large program. There is.
Lecture 3: A brief background to multivariate statistics
INSTRUCTION SET ARCHITECTURES
Analysis of Algorithms CS Data Structures Section 2.6.
Data Manipulation Overview and Applications. Agenda Overview of LabVIEW data types Manipulating LabVIEW data types –Changing data types –Byte level manipulation.
Rolando V. RaqueñoTuesday, May 12, FINAL Project Information Two Design Review presentations ( minutes long) A Final Document of your Project.
MATLAB Presented By: Nathalie Tacconi Presented By: Nathalie Tacconi Originally Prepared By: Sheridan Saint-Michel Originally Prepared By: Sheridan Saint-Michel.
Introduction to Matlab By: Dr. Maher O. EL-Ghossain.
Mx? A programming language for scientific computation. Related Languages: Matlab IDL Maple, Mathcad, Mathematica.
Lecture 7 Sept 19, 11 Goals: two-dimensional arrays (continued) matrix operations circuit analysis using Matlab image processing – simple examples Chapter.
Lecture 6 Sept 15, 09 Goals: two-dimensional arrays matrix operations circuit analysis using Matlab image processing – simple examples.
Concatenation MATLAB lets you construct a new vector by concatenating other vectors: – A = [B C D... X Y Z] where the individual items in the brackets.
Introduction to Array The fundamental unit of data in any MATLAB program is the array. 1. An array is a collection of data values organized into rows and.
Chapter 7 Matrix Mathematics Matrix Operations Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 10 Review: Matrix Algebra
Chapter 1 Algorithm Analysis
MATLAB Lecture One Monday 4 July Matlab Melvyn Sim Department of Decision Sciences NUS Business School
Chapter 5. Loops are common in most programming languages Plus side: Are very fast (in other languages) & easy to understand Negative side: Require a.
Introduction to IDL Optimization & Statistical Techniques Week 12 Rachel McCrary
Matlab tutorial course Lesson 2: Arrays and data types
IDL Tutorials: Day 1 Michael Hahn
Geog Basic Skills in Scientific Programming Syllabus, Introduction, Fundamentals of IDL Syntax.
Introduction to MATLAB Session 1 Prepared By: Dina El Kholy Ahmed Dalal Statistics Course – Biomedical Department -year 3.
Introduction to Matlab 1. Outline: What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators Plotting Flow Control Using of M-File Writing.
ALGORITHMIC S-Z TRANSFORMATIONS FOR CONTINUOUS-TIME TO DISCRETE- TIME FILTER CONVERSION D. Biolek, V. Biolkova Brno University of Technology Czech Republic.
INTRODUCTION FOR PERL MONGERS MATLAB. Outline 1. Matlab, what is it good for 2. Matlab’s IDE & functions 3. A few words about Maple 4. What needs to be.
CSE123 Lecture 5 Arrays and Array Operations. Definitions Scalars: Variables that represent single numbers. Note that complex numbers are also scalars,
Array Addition  Two arrays can be added if and only if both arrays have exactly the same dimensions.  Assuming the dimension requirement is satisfied,
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
Eng Ship Structures 1 Introduction to Matlab.
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
CMPS 1371 Introduction to Computing for Engineers MATRICES.
Lecture 28: Mathematical Insight and Engineering.
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Rolando V. RaqueñoWednesday, October 21, Special Function Implementation in IDL A Case Study.
Making friends with IDL IDL is an interpreted rather than a compiled language. This means that large IDL programs can execute less rapidly than equivalent.
1 Winter Quarter 2003Rolando V. Raqueño FINAL Project Information Two Design Review presentations ( minutes long) A Final Document of your Project.
Matlab 14.html Cost: $100 Available in labs on Windows and Unix machines.
IDL Tutorial Day 1 Goals: 1) Introduce IDL basics 2) Describe fundamental IDL structures Angela Des Jardins
Introduction to Matlab. Outline:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators (Arithmetic, relational, logical ) Display.
Introduction to IDL Lecture 2. ITT: solutions for data visualization and image analysis   IDL, programming.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
1 Winter Quarter 2003Rolando V. Raqueño FINAL Project Information One Design Review presentations (10 minutes long) A Final Document of your Project Wiki.
Introduction to Matlab
IDL Tutorial Day 1 Goals: 1) Introduce IDL basics 2) Describe fundamental IDL structures Maria Kazachenko
Arrays. Review of last lecture Overview of computer languages Overview of IDL Strength of IDL: (1) Interactive/compiled modes; (2) Array-oriented; (3)
1 Lecture 3 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
MA/CS 375 Fall 2002 Lecture 2. Motivation for Suffering All This Math and Stuff Try the Actor demo from
Simple algorithms on an array - compute sum and min.
Jeff Howbert Introduction to Machine Learning Winter Machine Learning MATLAB Essentials.
Arrays. Review of last lecture Overview of IDL Strength of IDL: (1) Interactive/compiled modes; (2) Array-oriented; (3) Variables easily redefined; (4)
Digital Image Processing. Converting between Data Classes The general syntax is B = data_class_name (A) Where data_class_name is one of the names defined.
Finishing up Chapter 5. Will this code enter the if statement? G=[30,55,10] if G
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
IDL Tutorials Day 1 Henry (Trae) Winter Room 235
LAB 2 Vectors and Matrices Dr.Abdel Fattah FARES.
Introduction to Matlab. Outline:  What is Matlab? Matlab Screen Variables, array, matrix, indexing Operators.
FINAL Project Information
Programming in R Intro, data and programming structures
L – Modeling and Simulating Social Systems with MATLAB
Introduction to MATLAB
Digital Image Processing using MATLAB
Matlab tutorial course
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Simulation And Modeling
Presentation transcript:

Introduction to IDL Lecture 2

ITT: solutions for data visualization and image analysis   IDL, programming language  ENVI, image processing based on IDL

IDL  Data visualization and image analysis  IDL has both numeric and nonnumeric data types  IDL is an array-oriented language  Build-in functions  Command Line and Development Environment

Array-oriented language  One dimension array (or vector): array=[1.0, 2.0, 4.0, 8.0] or array (4)  Two dimension array (or matrices, one band image): Array=[[1,2,3], [5,7,8]] or (Array (3,2))  Three dimension array (multiple bands image) Array=findgen(500,300,6) or an image of 500 columns, 300 rows, and 6 bands  Any operation on an array is performed on all elements of the array, without the need for the user to write an explicit loop. The resulting code is easier to read and understand, and executes more efficiently.  For example, you have a landsat image of (500, 300, 6) (i.e. column, row, bands) and you wish to divide each pixel (or element) by 2 or do other calculations: Image=image/2 Print, total(image) / n_elements(image) Print, mean(image) ;the same as above (c, r, b): BSQ; (b, c, r): BIP; (c, b, r): BIL Differ from Matlab: row, column

 Compact syntax without using loops. This makes simpler coding and the processing much faster than loops npts= L data=randomu(0L, npts) sum=total(data) sum=0.0 for i=0L, (npts-1L) do sum=sum+data[i] Needs 0.11 second Needs 2.64s Randomu: Return a array of uniformly distributed random numbers (0,1) of the specified dimensions

Functions for array creation  Zeroed array ( *arr() ) bytarr(), intarr(), uintarr(), ulonarr(), ulong64arr(), fltarr(), dblarr(), complexarr(), strarr()  Index array bindgen(): byte index array indgen(): integer index array ul64indgen(): unsigned integer array ulindgen(): unsigned long integer array lindgen(): long integer index array l64indgen(): 64-bit integer array findgen(): Floating-point index array dcindgen(): double precision floating-point index array cindgen(): complex index array dcindgen(): complex, double-precision index array sindgen(): spring array

Array indexing  array dimension myarr(),  array indexing myarr[index]  Two dimension can be 1-d linear indexing  Arr[14]=56 2-d indexing  Arr[2,3]=56 Arr = indgen(4,4)*4 Print, arr Print, arr[3,2] 44 Print, arr[11] 44 Print, arr(*,2), arr(2,*) ?

Array properties-build in functions  n_elements(), size(), min(), max(), mean(), variance(), stddev(), moment(), total()

Other operations for an array  Locating values within an array  Array reordering: reform(), reverse(), rotate(), transpose(), shift(), sort(), uniq()  Array resizing: rebin(), congrid(), interpolate(), Arr = indgen(9)*10 Index = where(arr gt 35) Print, arr[index] ?

Other build-in functions and procedures  FFT(image, -1), forward fast Fourier transfer  FFT(image, 1), inverse FFT  ROT(image, angle, scale, /sampling methods)  interpolate, bilinear, cubic,  map_image  read_binary  correlate  ….  plot  tv, tvscl  contour  ….

Command Line and Development Environment

iTools  Allow you to more quickly and easily open, analyze and visualize your data than even before.  iPlot (plot)  iSurface (surface)  iContour (contour)  iImage (tv, tvscl)  iVolume (volume)  iMap  iVector

IDL Virtual Machine  Simple, no-cost method of distribution  Run IDL.sav file programs without license requirements  Commercial and non-commercial applications

IDL/ENVI programming  Combine the ENVI/IDL together, extending the ENVI interface in IDL in order to implement new methods and algorithms of arbitrary sophistication is both easy and fun (M. Canty, 2007)  See an example and will give more examples as the class moving forward DEMO!

IDL Project  IDL Project allows you to easily develop applications in IDL for distribution among other developers, colleagues, or users who have IDL  Working with an IDL Project allows you to easily prepare a SAVE file of your IDL application for distribution. You can organize, manage, compile, run, and create distributions of all of your application files from within the IDL Project interface. IDL Project offers the flexibility and functionality you need in a development environment.  Access to all files in your application IDL source code files (.pro) GUI files (.prc) created with IDL GUIBuilder Data files Image files Other files (help files,.sav files, etc.)  Build application and create an IDL.sav file for distribution and share.