AT76.09 Digital Image Processing in Remote Sensing using C Language

Similar documents
Elements of Computers and Programming Dr. William C. Bulko. What is a Computer?

Programming 1. Lecture 1 COP 3014 Fall August 28, 2017

Programming 1 - Honors

Agenda Computer Hardware Input Devices Output Devices Secondary Storage Computer Software System Software Application Software Working with Windows

Chapter 1 Computer and Programming. By Zerihun Alemayehu

8/16/12. Computer Organization. Architecture. Computer Organization. Computer Basics

CS150 Introduction to Computer Science 1. What is CS150? Who Are We? CS150 is a programming course You will learn

Chapter 1: Why Program? Computers and Programming. Why Program?

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

CHAPTER 1 Introduction to Computers and Java

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.

Computer Organization

CSCE150A. Administrivia. Overview. Hardware. Software. Example. Program. Pseudocode. Flowchart. Control Structures. Hello World Program CSCE150A

Computer Science & Engineering 150A Problem Solving Using Computers

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what

CSC180: Lecture 2. Wael Aboulsaadat.

Introduction to Computers. Joslyn A. Smith

Syllabus for Computer Science General Part I

Lecture 1: Preliminaries

Problem Solving and Program Design - Chapter 1. Cory L. Strope

High Performance Computing (HPC) Prepared By: Abdussamad Muntahi Muhammad Rahman

Computer Organization

Introduction to Java Programming

Computer Principles and Components 1

INFORMATICS WITH DTP

IBPS Practice Exam 1. One megabyte equals approximately 1) 1,000 bits 2) 1,000 bytes 3) 1 million bytes 4) 1 million bits 5) 2,000 bytes 2.

1.The First Instrument known in the history of computers was. a) Pascal s adding machine b) Napier s bones c) Abacus d) Analytical Engine

Computer Fundamentals

Parallel & Cluster Computing. cs 6260 professor: elise de doncker by: lina hussein

Preview from Notesale.co.uk Page 6 of 52

C++ Programming Language Lecture 1 Introduction

Chapter Four. Making Connections. Data Communications and Computer Networks: A Business User s Approach Seventh Edition

Chapter 1: Introduction to Computers and Programming

Computer is an electronic machine that can receive, store, transform and output data of all kinds (image, text, numeric, graphics and sound).

PC SERVICING & TROUBLESHOOTING (305)

COURSE OUTLINE AND SCHEDULE: ASSIGNMENTS ARE DUE EACH MONDAY WEDNESDAY JANUARY Computing Overview

Chapter 1. Hardware. Introduction to Computers and Programming. Chapter 1.2

Unit 1: Introduction to Programming. Saurabh Khatri Lecturer Department of Computer Technology VIT, Pune

Java and Software Design

PHYS 4361 DR. Maher O. El-Ghossain Associate Professor. 1/31/ :24:07 PM Dr Maher O. El-Ghossain 1

Introduction to Computer Systems

CS 61C: Great Ideas in Computer Architecture Lecture 2: Introduction to C, Part I

Computer ANAMIKA ACADEMY. Mo Which function has the ability to move from one web page to another Hyper link

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah

I1100 E Introduction to computer.

Computer Architecture CS 355 Busses & I/O System

Chapter 1 Introduction to Computers and C++ Programming

An Introduction to Software Engineering. David Greenstein Monta Vista High School

Module 5. Input/Output Ports

! Learn how to think like a computer scientist. ! Learn problem solving. ! Read and write code. ! Understand object oriented programming

Unit 2: Technology Systems

OPERATING SYSTEM. PREPARED BY : DHAVAL R. PATEL Page 1. Q.1 Explain Memory

Fundamental of digital computer

Principles of computer programming. Profesor : doc. dr Marko Tanasković Assistent : doc. dr Marko Tanasković

Introduction to Cluster Computing

Identify the features of network and client operating systems (Windows, NetWare, Linux, Mac OS)

C Programming for Engineers Introduction

Q1. Describe the characteristic features of input and output devices of a computer system. [10]

Fiery EX4112/4127. Welcome

BITG 1113: Introduction To Computers And Programming Language LECTURE 1 LECTURE 1 1

DEPARTMENT OF INFORMATION TECHNOLOGY KUMAUN UNIVERSITY, NAINITAL SEMESTER-I ( )

ENT 189: COMPUTER PROGRAMMING. H/P: Home page:

LaCie d2 SATA II 3Gbits

Introduction to Computers and Visual Basic.Net Pearson Education, Inc. All rights reserved.

High-Speed Networking: Trends and Issues

Electrical Engineering

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

C H A P T E R 1. Introduction to Computers and Programming

Installing VMware vsphere 5.1 Components

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

0 Introduction: Computer systems and program development

Geographic Information Systems (GIS) - Hardware and software in GIS

CS 140 Introduction to Computing & Computer Technology. Computing Components

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

Introduction to Basis and Practice in Programming

Lecture 01: Basic Structure of Computers

Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

Chapter 14 Operating Systems

Chapter 14 Operating Systems

Full file at

Chapter 1. Computer Technology Concept of Programming & Algorithm and Flow Charts

Ch. 1: Computer System part I

IT SYSTEMS ADMINISTRATOR PROGRAM

The Programming Process Summer 2010 Margaret Reid-Miller

A+ Guide to Managing and Maintaining your PC, 6e. Chapter 8 Hard Drives

A+ Guide to Hardware, 4e. Chapter 7 Hard Drives

Full file at

Types and Functions of Win Operating Systems

6.1 Multiprocessor Computing Environment

Computer Organization

Chapter 1: Introduction

CSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York

CS133 C Programming. Instructor: Jialiang Lu Office: Information Center 703

Presenter. Xiaolong Li, Assistant Professor Department of Industrial and Engineering Technology Morehead State University

Computer Architecture

Chapter 1 Introduction to Computers, Programs, and Java

Introduction to C Programming

UNIVERSITY POLYTECHNIC B.I.T., MESRA, RANCHI. COURSE STRUCTURE (W.E.F Batch Students) (Total Unit 7.0) Sessional Unit Code. Theory Unit Course

Transcription:

AT76.09 Digital Image Processing in Remote Sensing using C Language Dr. HONDA Kiyoshi Associate Professor Space Technology Applications and Research Asian Institute of Technology honda@ait.ac.th 1 1. Introduction 2 1

RS Study in RS&GIS FoS 1. Remote Sensing (August ) Remote Sensing Principles Basic Processing 2. Advanced Remote Sensing ( January ) 1. Higher Processing Atmospheric Correction, Moderate Low Resolution RS Processing Multi-resolution Multi-temporal Data, Radar Remote Sensing 2. Applications: Modeling Vegetation, Soil Monitoring, Agriculture, Flood 3. Web Map Service ( Web Image Server ) : Implementation 3. Digital Image Processing in Remote Sensing( January ) 1. Higher Processing Algorithm - Spatial Filtering 2. Algorithm Implementation in C 1. C for Image Processing For Algorithm Development and Implementation 4. RS and GIS for Environmental Applications 1. Various Application combined with GIS 3 Rationale This course will provide students with more techniques in digital image processing in remote sensing adding to AT76.03 Remote Sensing. Emphasis is given on implementation of algorithms as computer programs so that students will be able to develop their own algorithms and implement them. The techniques taught in this course has broad applicability in any field which needs to handle image data. The course covers introduction to HPC, using multi-thread programming, Cluster and GPU 4 2

Why Programming? To implement own image ( or any data ) processing algorithms Free from commercial package To be able to test / implement your own idea Understanding Programming <-> developing algorithms. Basic skill as a scientist/researcher Develop tools Simple data processing / conversion Automate tedious data processing procedure 5 Goals Understand concept of Computer Understand concept of Computer Programming Write C Programs for Image Processing Develop your own new algorithms for image processing To have file I/O capability Analyze problem on digital image processing develop various tools 6 3

Scope Use only C Compiler is broadly available ( portable ) C ( not C++ ) is good enough for core algorithms Well established by ISO Processing Speed Easy to migrate to C++, FORTRAN, VB, Java, Script Used for HPC Only simple human interface ( console ) Concentrate on core algorithm part Developed C programs can be easily implemented in other environments 7 Text books C in Plain English by Brian Overland MIS:Press, ISBN 1-55828-430-3 The C Programming Language Brian W. Kernighan, Dennis M. Ritchie Computer Science A Breadth-First Approach with C by John Impagliazzo and Paul Nagin John Wiley & Sons, ISBN 0-471-58552-1 Digital Image Processing, Addison Wesley,1993 R.C. Gonzales, R. E. Wood 8 4

Course Contents 1. Introduction 2. First C 3. Basic of C 4. Control Structure 5. Array and Pointer 6. Image Handling and File I/O 7. Using Image Handling Library 8. Managing libraries 9. Image Processing Algorithm Implementation 10. Multi-Thread, GPU 11. Other interesting topics 9 Rating Examination 70% Report 30% 10 5

Byte 8 bits = 1byte Binary System Hardware Glossary CPU ( Central Processing Unit ) ALU ( Arithmetic Logic Unit ) Registers Core Processor in a CPU RAM ( Random Access Memory ) I/O Input/Output Virtual Memory 11 Computer Hardware Registers Control Unit BUS RAM Random Access Memory ALU I/O Controller Hard Disk and etc Network 12 6

Glossary ( Memory ) Memory ( Primary storage ) RAM Virtual Memory Allocate memory to applications virtually using Hard disk. Not restricted by the amount of RAM Memory ( Secondary storage ) FD Hard disk, RAID CD, DVD, MO, DLT, 8mm Tape, DAT Interface ( SCSI, IDE, SATA, USB, USB2, Firewire, Bluetooth..) SATA 1.5Gbps->7Gbps(2007) 13 Glossary ( OS ) Operating System ( OS ) Interface between Application software, Human operation, Network and Hardware Manage all of resources of the computer such as Memory, File I/O, Security, Task scheduling Single User / Multi User Single Task / Multi Task 8bit/16bit/32bit/64bits The unit data width in CPU or OS Memory Addressing 16bit -> 64KB, 32bit->4GB, 64bit - >16PB 14 7

Glossary MS-DOS Windows95 Windows NT, 2000, XP, Vista, Windows7 UNIX, LINUX 15 Glossary ( Computer Language ) Computer Language Machine Language CPU Instructions with binary data Assembly Language Symbolic codes in one-to-one correpondence with a machine language High Level Language Fortran Formula Translating System, still popular in scientific calculation C, C++ Most common in various field BASIC Windows JAVA Network environment COBOL, Pascal.. Old fashioned IDL, S, Avenue More High level language, 16 8

Low Level to High Level Language Machine Language ( Low Level ) 2463 3446 5457 Assembly Language LOAD 4,X SUBT 4,Y STORE 4,Z C ( High Level ) Z = X - Y; 17 Compiler Compile Compiler and Interpreter Translate a program source code to machine language. Create object files. Link Link object files with other object files, libraries, which is referenced from the program. Interpreter Compile at run time one line to one line 18 9

Glossary ( Network ) Network LAN & WAN : Local Area Network, Wide Area Network EtherNet: 10Mbps Fast Ether Net: 100Mbps Giga bit Ether: 1Gbps FDDI( Fiber Distributed Data Interface 100Mbps ) ATM ( Asynchronous Transmission Mode several Gbps ) HUB Concentrator for Ether Net Repeater type / Switch Type TCP/IP Transmission Control Protocol/Internet IP Address 203.159.10.13 Router/ Segment 19 Glossary ( Network ) Parallel Computing Cluster GRID GPU OpenMP MPI ThaiGRID AP-GRID 20 10