Functional image processing
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

FunImageJ is a Lisp/Clojure framework for scientific image processing built upon the ImageJ software ecosystem. The framework provides a natural functional-style for programming, while accounting for the performance requirements necessary in big data processing commonly encountered in biological image analysis.

Note to functional programming folks: many FunImageJ functions treat data as mutable. Images are large and take up lots of memory, we try not to duplicate data unless necessary. If you want to do something non-destructively, then you may need to explicitly use copy functions.

API Documentation

Example code for both standalone and Fiji usage is provided in the test directory of this repository.


Kyle I S Harrington, Curtis T Rueden, Kevin W Eliceiri; FunImageJ: a Lisp framework for scientific image processing, Bioinformatics, btx710,

Usage within ImageJ:

Add an update site like you would usually (see

where the update site is:

Usage within Clojure projects:

Add the following repositories to your project.clj

  :repositories [["imagej-releases"       
                 ["imagej-snapshots" ""]]

Then add the fun.imagej dependency:

[fun.imagej/fun.imagej "0.2.1"]

Usage within Maven projects:

Add the following repositories to your pom.xml


Then add the fun.imagej dependency:



Apache V2.0

Copyright 2014-2017 Kyle Harrington.