Chapel by Example

Image Processing

 

We've been using the Chapel language to learn the language and see how suitable it is for image processing.  We kept notes, and have written up tutorial and examples.  It's grown quite a bit.  

 

This is the central page for the project, with links to the individual sections, downloads for the programs and images, and PDF versions of each section.  The programs have been chosen to increase in complexity as we gained experience with Chapel.  The best place to start is the Front Page.  You can also download the entire series in one PDF document (warning: large file!).

 

Page

Topics

Files

PDF

Front

Introduction

An Example

Overview

Install

 

document

Image Interface

Introduction

C Library

C Interface from Chapel

  types, variables

  procedures, linkage

  structural types

  modules

Wrap-Up / Exercises

tarball

zipfile

document

Color Conversion

Introduction

Color Spaces

Language Description

  expressions, statements

  enumerations, tuples

Arrays and Ranges

Domains

Program Organization

Wrap-Up / Exercises

tarball

zipfile

document

Gabor Filter

Introduction

Edge Detectors

Subdomains, Subranges

Gabor Filters

Wrap-Up / Exercises

tarball

zipfile

document

Parallel Programming

Introduction

Data Parallelism

Task Parallelism

Synchronization

Wrap-Up / Exercises

tarball

zipfile

document

k-Means Clustering

Introduction

Clusters

Implementation

Atomic Variables

Performance

Wrap-Up / Exercises

tarball

zipfile

document

FAST Corner Detection

Introduction

Corner Detectors

Iterators, Custom Iterators

Generics

Corner Suppression

Wrap-Up / Exercises

tarball

zipfile

document

RANSAC Feature Matching

Introduction

kd-Trees

Transforms, Best Fits

Implemenation

Operation

Wrap-Up

tarball

zipfile

document

Practical Matters

Debugging

 

document

Back

Loose Ends

Sum-Up

  experience, performance

  work in progress

  conclusion

Feedback

 

document

 

Complete Package

 

 

tarball

zipfile

document

 

 

Feedback

 

We'd appreciate hearing any comments you have about this work.  You can use this e-mail address.