[kepler-users] Help understanding Kepler paradigm for batch processing images

Jeremy Douglass jeremydouglass at gmail.com
Sat Jul 11 12:51:12 PDT 2009


I'm a new Kepler and struggling to apply a single actor (e.g. Image
Converter) to a batch of objects (e.g. a directory of images, as
represented by the array generated by Directory Listing).

I've read the documentation and searched the forums, and tried
modifying examples, but I'm not understanding something paradigmatic,
and would appreciate a tip: how do you pipe an array of files through
single-file actors?

EXAMPLE:

In Kepler 1.0.0, 03-ImageDisplay.xml uses an SDC director, and specifies:
   Constant Image Filename --> Image Converter --> ImageJ

In an attempt to converter a *directory* of images, I tried adding a
Directory Listing actor:
   Constant Dirname --> Directory Listing --> Image Converter --> ImageJ

...however this generates an error, as Image Converter will only act
on a string, not an array. So I tried
   Constant Dirname --> Directory Listing --> Array to Sequence -->
Image Converter --> ImageJ

...which almost works if I hand-specified the number of Array elements
in the directory ahead of time), but still only processed the first
file listed in the string (Picture 1.png) -- I'm assuming it just
throws the rest of the string away.

I'm not understanding something about how one processes a list in a
Kepler workflow -- I've looked through Array Operation and Iterative
Operation actors, and none of them seem to be analogous to an
imperative programming loop. Am I using the wrong kind of director?
Something else?

Thanks for your help.

BACKGROUND: My larger goal is to adapt a frame based image processing
workflow into Kepler (it is currently a combination of python,
javascript, and bash scripts). To illustrate, one part of the workflow
takes a heterogeneous collection of images (all file types and sizes)
and copies them to a new directory as a collection of standardized
collection jpegs. Another part of the workflow dumps a movie to a
frame directory of jpegs, then runs multiple image measurement and
image processing operations (e.g. ImageJ, MATLAB) on each frame and
saves the results to a text file.



More information about the Kepler-users mailing list