Hi,
A while ago we started using Chapel, because it looked like an
interesting language and we wanted to see how well it fit with
the problems we work on (image processing). We took notes along
the way, and decided to write them up. It's gotten much bigger
than we expected, but has turned into a fairly complete
description of the language, along with a lot of examples.
The web page has just gone up, it's at
http://www.primordand.com/chapel_by_ex.html
There's links at the bottom of the table of contents to a single
PDF for the text (which is fairly big), as well as a tarball with
all the examples and test images, or you can get them chapter by
chapter.
Since this was written as we were learning Chapel, the examples
progress in complexity.
1. Interface to a C wrapper around the PNG library to read/write
images. Introduces types, variables, functions, records,
classes, and modules.
2. Color conversion from RGB to LAB, YUV, or HSV space.
Talks about expressions and statements, tuples, enumerations,
and introduces arrays, domains, and ranges.
3. Gabor filter, a large convolution for oriented features (edges).
Finishes discussion of arrays, domains, and ranges. Compares
many ways of performing the convolution.
4. Parallel processing examples with a bank of Gabor filters and
check of the RGB->LAB conversion. Covers task and data
parallelism and synchronization.
5. k-Means clustering to find the prominent colors in an image.
More of a practical exercise than introducing Chapel features,
although it does discuss atomic variables.
6. FAST corner detector to, well, find corners.
Talks about iterators and custom iterators, and generics.
7. RANSAC feature matcher to align two images for rotation, scale,
and translation. There's no new language features; this was
the first time we'd implemented the algorithm and was a check
on how comfortable Chapel is for developing IP code. (It is.)
Any comments about this would be warmly appreciated. You'll find
an e-mail address on the web site.
Greg Kreider
------------------------------------------------------------------------------
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users