ISOpod
Michael Kester Geoffray Lacourba
Josh Mitchell
Thomas Ramps Alex Van't Hof
Team 17
What is ISOpod?
ISOpod is a scripting-inspired small language
interpreter for batch image processing.
Overview of goals
We sought to create a method for simply and
elegantly processing an arbitrarily large number of
images. In doing so we targeted several design
goals:
• Make it easy to use
• Make it powerful
• Make it useful
Build It!
Automated scripts are provided
to build and test the language
making building the interpreter
easy.
• First get the repository:
o
svn co https://repos.kesterland.com/svn/w4115
• Next run make from the trunk:
o
make
• Testing
o
bash script
Use It!
Scenario: We want to quickly organize a group of
baby pictures so they can be uploaded to a website.
We need three sizes, and want to see them one last
time before we upload.
myPath = "/media/PICTURES/*.JPG";
myPhotos = ig(myPath);
for single in myPhotos do
single*commit("full");
single*scale(20%);
single*commit("medium");
done
actionSet Actions(scaleFactor, path) =
{display(), scale(scaleFactor), commit(path)};
myPhotos*Actions(20%, "small");
Language Highlights
•
•
•
•
Dynamic typing
Image attributes
ActionSet as first-class objects
User-defined actions
o Custom image manipulation with
parameter passing
o Recursion
• Concatenation for ActionSets and
ImageGroups
Thanks!
© Copyright 2026 Paperzz