Difference between revisions of "Register Virtual Stack Slices"

m (Added category)
m (added infobox)
Line 1: Line 1:
 +
{{Infobox Plugin
 +
| name                  = Register Virtual Stack Slices
 +
| software              = Fiji
 +
| author                = Albert Cardona ([mailto:acardona@ini.phys.ethz.ch acardona@ini.phys.ethz.ch])
 +
| maintainer            = Albert Cardona ([mailto:acardona@ini.phys.ethz.ch acardona@ini.phys.ethz.ch])
 +
| source                = [http://pacific.mpi-cbg.de/cgi-bin/gitweb.cgi?p=fiji.git;a=blob;f=src-plugins/register_virtual_stack_slices/register_virtual_stack/Register_Virtual_Stack_MT.java;hb=HEAD on gitweb] (276 lines)
 +
| released              = 2008
 +
| latest version        = ?
 +
| status                = stable, not active
 +
| category              = [[:Category:Registration]], [[:Category:Plugins]]
 +
}}
 +
 +
 
<p>This plugin takes a list of image slices stored in a folder, and delivers a list of registered image slices (with enlarged canvas).</p>
 
<p>This plugin takes a list of image slices stored in a folder, and delivers a list of registered image slices (with enlarged canvas).</p>
 
<p>The registration is translation only, or rotation+translation. No scaling, no non-linear deformations.</p>
 
<p>The registration is translation only, or rotation+translation. No scaling, no non-linear deformations.</p>

Revision as of 07:13, 6 April 2009

Register Virtual Stack Slices (Fiji)
Author Albert Cardona (acardona@ini.phys.ethz.ch)
Maintainer Albert Cardona (acardona@ini.phys.ethz.ch)
Source on gitweb (276 lines)
Initial release 2008
Latest version  ?
Development status stable, not active
Category Category:Registration, Category:Plugins



This plugin takes a list of image slices stored in a folder, and delivers a list of registered image slices (with enlarged canvas).

The registration is translation only, or rotation+translation. No scaling, no non-linear deformations.

The process is as follows:

  1. Select "Plugins - Registration - Register Virtual Stack Slices"
  2. Select whether to register with translation only (phase-correlation), or both translation and rotation (SIFT).
    On choosing SIFT one can still constrain the registration to be translation-only in the following dialog.
  3. If SIFT was chosen, specify algorithm parameters.
  4. Select the source directory to read images from. The names must be bit-sortable.
  5. Select the target directory to store registered images to.

Example

Even this sequence of rather noisy transmission electron microscopy images, with considerable variations from slice to slice, get registered properly:


Raw:Registered:
Stack4.gifStack4-2.gif

Scripting / PlugIn

You can call the plugin in a non-interactive fashion from java code:

import ini.trakem2.imaging.Registration;
import register_virtual_stack.Register_Virtual_Stack_Slices;

[...]

String source_dir = "/path/to/source/";
String target_dir = "/path/to/target/";
// can be PHASE_CORRELATION or SIFT
int registration_type = Register_Virtual_Stack_Slices.PHASE_CORRELATION;
// Can be null if using PHASE_CORRELATION
Registration.SIFTParameters sp = new Registration.SIFTParameters();
// image scale at which phase-correlation works, for performance
float scale = 0.5f;
// minimum cross-correlation score to accept phase-correlation results, otherwise try pure cross-correlation
// (use as low as 0.4 if images are noisy, or at your discretion)
float min_R = 0.7;

Register_Virtual_Stack_Slices.exec(source_dir, target_dir, registration_type, sp, scale, min_R);

The above can of course be called from any scripting language, such as Jython:

from ini.trakem2.imaging import Registration
from register_virtual_stack import Register_Virtual_Stack_Slices
source_dir = "/path/to/source/"
target_dir = "/path/to/target/"
registration_type = Register_Virtual_Stack_Slices.PHASE_CORRELATION
sp = new Registration.SIFTParameters()
scale = 0.5
min_R = 0.7
Register_Virtual_Stack_Slices.exec(source_dir, target_dir, registration_type, sp, scale, min_R);

See also