-
Notifications
You must be signed in to change notification settings - Fork 0
Getting started
Before you run the plugin, let's see what kind of input it expects.
As an input, the CurveMorph takes:
- a stack opened in Fiji;
- list of ROIs in ROI Manager.
It uses the currently active image of Fiji, it should be a stack
(contain more than one slice or frame or both).
It can be multi-color composite image.
Large images can be opened as Virtual stacks.
It works with 8-, 16- and 32-bit images.
RGB stacks can be made composite using Image -> Color -> Make Composite Fiji command,
processed and re-assembled to RGB.
The ROI Manager must contain at least two (or more) ROIs assigned
at different slice or frame positions of the image stack.
The ROI must be of line (Straight Line), polyline (Segmented Line),
or freeline (Freehand Line) type, and they can have an arbitrary thickness (Line Width).
ROIs of other types can be present, but will be ignored.
You can check ROI's position in a stack by selecting it in ROI Manager
and pressing the "Properties" button, in the "Position" field.
Depending on your image (hyperstack or "regular", simple Z or T stack),
FIJI/ImageJ will display position either as a (C, Z, T) format,
or as a single (N) digit. These two notations cannot be mixed,
so if they are (in very rare cases), you need to correct to one of them.
Once these two are prepared, you can run the plugin and adjust parameters in the dialog.
There are two options:
- Shape morphing will interpolate ROIs width, length, and angles between segments;
-
XY interpolation will interpolate ROIs width and XY centerline coordinates (sampled equidistantly),
without length/angle preservation.
To illustrate the difference between the two methods, take a look at the (intentionally exaggerated) interpolation examples below:
The choice of the algorithm depends on the goal/underlying filament behaviour.
For both algorithms, the correspondence between ends of ROIs needs to be established.
Since the morphing algorithm interpolates only angles along the ROI, but not the XY position,
one also needs to specify the translation component for it (see below).
When a line/curve ROI is drawn in Fiji, its ends are different:
one end can be called first (where you start drawing) and the other one last (the end of the drawing).
To build an intermediate transition between two ROIs (ROI1 to ROI 2), the algorithms need to decide:
- Which end of ROI1 will transform to which end of ROI2 (for both algos from above);
- For the morph algorithm, which (first or last) end would be used to account for translation (movement)
of ROI 1 compared to ROI 2 (apart from the centroid mode, see below);
There are three options Closest, Always first, Always last.
In the Always first/Always last modes, the plugin will follow the order imposed by
the order of ROI drawing. These modes do not affect the "XY interpolation" algorithm,
but will produce a different result if "Morphing" is selected.
In Always first mode, the XY coordinates of the "first end" of ROI1
will be interpolated to the "first end" of ROI2,
while the morphing (angle interpolation, shape "unbending") is performed.
In the Always last, it will happen with the "last ends".
In the Closest mode, the correspondence between ends does not depend on the order
of drawing, but on the distance between ROIs ends. So the end correspondence
will be decided based on the minimum distance among all pairs
(first-first, first-last, last-first, last-last).
For the "morphing" algorithm, the translation interpolation will happen
among the closest pair of ends, i.e. with the shortest distance.
Developed in Cell Biology group of Utrecht University.
Check out Updates history. The plugin and this wiki are under constant development.
E-mail for any questions, feedback, errors or suggestion
or tag @ekatrukha at image.sc forum.