home | lab | find me | science | publications | software | toolbox | site map

Old Software

The following programs have been superseded by others and are referenced here as examples and for historical recollection.


This C python module for Blender started up from my frustration with the crudeness of marching-cubes generated meshes, as found in Amira. Amira's meshing abilities suffer from three main problems: (1) they force the user to segment in all slices of the stack, even when the segmentation profile doesn't change much from one slice to the next; (2) fine neurites, which because of a small iris and/or large section thickness in confocal stacks, result in what I call the "flying pizzas" problem: disconnected sections following a path in space; and (3) they require several iterations of subsurfacing+decimation to make them look right, resulting in artifactually deformed and smoothed meshes.

The CurveMorphing module attempts to solve the above three problems. What it does: takes a sequence of segmentation profiles which are known to be consecutive, and generates the proper skin by morphing one profile to the next. Transitions are very smooth and thus meshes need no post-processing at all. Missing sections or artifactually non-overlapping segmentations are not a problem. It's C implementation is highly optimized, wicked fast and reliable.

At the moment CurveMorphing is interfaced from Blender through a python script which you can get here. The required segmentation profiles are those exported from profile lists in TrakEM2 as a .shapes file, and those obtained from my old A 3D Editing segmentation editor plugin for ImageJ.

Known limitations: segmentation profiles cannot have holes. Branching is handled crudely.

Blender python scripts

Most of my scripts have been replaced by features in Blender's menus. There are a few toy example scripts in the doodle programming page.

ImageJ Jython Interpreter

Bringing the expression power of python to ImageJ. The old plugin provided with a command line input field, with a handy popup menu to copy, save or execute lines in the screen, and is still available as the "Plugins - Scripting - Jython Interpreter" command in Fiji.

All ImageJ and TrakEM2 classes are imported for convenience, the latter in a fail-safe manner (i.e. if TrakEM2_.jar is not present, no problem).

This plugin gave rise to all the scripting interpreters in Fiji, and even to the scripting support in the Script Editor, which should be your first choice for editing and running Jython scripts.

See also:

ImageJ Macro interpreter

Command Line Interface plugin for the ImageJ macro interpreter. Get the jar file (includes the source code).

Just type in any macro code and execute by pressing intro. Select macro code from the screen and execute, copy or save it through a popup menu. Type up and down to bring back already entered commands, and TAB key expands both macro commands and image paths.

Record, view, execute, edit and save macros. Use Unix-like commands (pwd, cd, ls, lsi, lsd, mv, rm) and navigate, open, and manage your files and particularly image files.

Type doc to get the ImageJ macro manual (needs internet connection). There are several other add-ons; type help for all info.

This plugin is now included in Fiji with the source code.

The plugin is self-contained. For ImageJ, simply drop the CLI_.jar file into the ImageJ plugins folder. Requires ImageJ 1.33f or higher. Despite the unix flavour, it works on Windows! Beautiful!

Check the list of examples and further functionality descriptions.

ImageJ plugins: miscellaneous

I have started also a series of ImageJ Programming Tutorials.

Last updated: 2012-05-08 11:10 Zurich time. Copyright Albert Cardona.