DOC PREVIEW
Columbia COMS W4115 - Yet Another Image-processing Language

This preview shows page 1-2-3 out of 10 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Yet Another Image-processing Language Uday Chandrasen Andrew Kisch Aniket Phatak Pranay Prabhakar COMS W4115: Programming Languages and Translators, Fall 2010Overview & Motivation • Why Image Processing – Tangible output – Amenable to numerical algorithms well suited for computers – Well understood problem domain • Goals of YAIL: – Flat learning curve – Support for images and filters – Support for frequent operations – Ease of implementation of frequent image operationsTutorial • Start off – Nothing different from the ordinary: – Open your favourite editor. – Start off with the function main(). – Write YAIL code within this function. May also create your own functions. – Save the file with the .YAIL extension. – Call the YAIL compiler on the target file. • C based syntax • Data types: int, float, string, image, filter • Special operation: Convolution (image # filter)+ • Special built-in functions to aid image operations.Tutorial • Hello World int main() { int i; string s s = “Hello World”; for ( i = 0; i < 5; i = i + 1) { print ( s ); } return 0; } • Notice that the function declaration begins with a ‘{‘ and ends with a ‘}’ All variables must be declared before first “execution” line. Built-in functionTutorial • Using the image functions int main() { image im; image im2; im = newImage("/home/ppp2113/yail/edwards.jpg"); im2 = meanFilter(im); printImage(im2); printImage(edgeDetection(im)); saveImage(im2,"/home/ppp2113/yail/edwards_edged.jpg"); return 0; } Original Softened EdgedTutorial • Using the image filters Sobel’s vertical derivative int main() { image im; filter sobelY; im = newImage("/home/ppp2113/yail/edgyjpg"); sobelY = { -1.0,-2.0,-1.0; 0.0, 0.0, 0.0; 1.0,2.0,1.0}; printImage(im); printImage(im # sobelY ); return 0; } Original EdgedImplementationImplementation Stages • Early Stage • Middle Stage • Late StageSummary • Goals achieved – Simplicity: The learning curve is believed to be reduced as the syntax is C based. – Images and Filters can be easily constructed and represented. – Rich support in terms of built-in functions • Lessons learned – Adjusting to a new programming paradigm is difficult, however Ocaml is really succinct and well suited for describing grammars. – Appreciation of how computer languages work. – A big project needs discipline and ability to make hard choices to meet deadlines. – Cross team collaboration has a lot of difficulties. Regular communication is the key.Thank


View Full Document

Columbia COMS W4115 - Yet Another Image-processing Language

Documents in this Course
YOLT

YOLT

13 pages

Lattakia

Lattakia

15 pages

EasyQL

EasyQL

14 pages

Photogram

Photogram

163 pages

Espresso

Espresso

27 pages

NumLang

NumLang

6 pages

EMPATH

EMPATH

14 pages

La Mesa

La Mesa

9 pages

JTemplate

JTemplate

238 pages

MATVEC

MATVEC

4 pages

TONEDEF

TONEDEF

14 pages

SASSi

SASSi

16 pages

JTemplate

JTemplate

39 pages

BATS

BATS

10 pages

Synapse

Synapse

11 pages

c.def

c.def

116 pages

TweaXML

TweaXML

108 pages

Load more
Download Yet Another Image-processing Language
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Yet Another Image-processing Language and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Yet Another Image-processing Language 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?