Class TurboReg_

java.lang.Object
  extended by TurboReg_
All Implemented Interfaces:
ij.plugin.PlugIn

public class TurboReg_
extends java.lang.Object
implements ij.plugin.PlugIn

This class is the only one that is accessed directly by imageJ; it launches a modeless dialog and dies. Note that it implements PlugIn rather than PlugInFilter.


Constructor Summary
TurboReg_()
           
 
Method Summary
 double[][] getSourcePoints()
          Accessor method for the (double[][])sourcePoints variable.
 double[][] getTargetPoints()
          Accessor method for the (double[][])targetPoints variable.
 ij.ImagePlus getTransformedImage()
          Accessor method for the (ImagePlus)transformedImage variable.
 void run(java.lang.String commandLine)
          This method is the only one called by ImageJ.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TurboReg_

public TurboReg_()
Method Detail

run

public void run(java.lang.String commandLine)
This method is the only one called by ImageJ. It checks that there are at least two grayscale images to register. If the command line is empty, then the plugin is executed in interactive mode. Else, the command line has the following syntax:

commandparameterindexcomment
−help00prints out the syntax
−align00do refine the landmarks
−file
−window
01reference type
sourceFilename
sourceWindowTitle
02 string with optional quotes
sourceCropLeft03integer
sourceCropTop04integer
sourceCropRight05integer
sourceCropBottom06integer
−file
−window
07 reference type
targetFilename
targetWindowTitle
08 string with optional quotes
targetCropLeft09integer
targetCropTop10integer
targetCropRight11integer
targetCropBottom12integer
−translation
−rigidBody
−scaledRotation
−affine
−bilinear
13transformation (TRSAB)
sourcePoints[0][0]14floating-point (TRSAB)
sourcePoints[0][1]15floating-point (TRSAB)
targetPoints[0][0]16floating-point (TRSAB)
targetPoints[0][1]17floating-point (TRSAB)
sourcePoints[1][0]18floating-point (RSAB)
sourcePoints[1][1]19floating-point (RSAB)
targetPoints[1][0]20floating-point (RSAB)
targetPoints[1][1]21floating-point (RSAB)
sourcePoints[2][0]22floating-point (RAB)
sourcePoints[2][1]23floating-point (RAB)
targetPoints[2][0]24floating-point (RAB)
targetPoints[2][1]25floating-point (RAB)
sourcePoints[3][0]26floating-point (B)
sourcePoints[3][1]27floating-point (B)
targetPoints[3][0]28floating-point (B)
targetPoints[3][1]29floating-point (B)
−hideOutput
−showOutput
18 (T)
22 (S)
26 (RA)
30 (B)
−transform 00do not refine the landmarks
−file
−window
01 reference type
sourceFilename
sourceWindowTitle
02 string with optional quotes
outputWidth03integer
outputHeight04integer
−translation
−rigidBody
−scaledRotation
−affine
−bilinear
05transformation (TRSAB)
sourcePoints[0][0]06floating-point (TRSAB)
sourcePoints[0][1]07floating-point (TRSAB)
targetPoints[0][0]08floating-point (TRSAB)
targetPoints[0][1]09floating-point (TRSAB)
sourcePoints[1][0]10floating-point (RSAB)
sourcePoints[1][1]11floating-point (RSAB)
targetPoints[1][0]12floating-point (RSAB)
targetPoints[1][1]13floating-point (RSAB)
sourcePoints[2][0]14floating-point (RAB)
sourcePoints[2][1]15floating-point (RAB)
targetPoints[2][0]16floating-point (RAB)
targetPoints[2][1]17floating-point (RAB)
sourcePoints[3][0]18floating-point (B)
sourcePoints[3][1]19floating-point (B)
targetPoints[3][0]20floating-point (B)
targetPoints[3][1]21floating-point (B)
−hideOutput
−showOutput
10 (T)
14 (S)
18 (RA)
22 (B)

Example: The command line
−align −file path/source.tif 40 80 639 479 −file path/target.tif 0 0 639 479 −translation 320 240 331.7 210 −showOutput
aligns 'source.tif' to 'target.tif' by translation, by refining an initial horizontal offset
dx = (331.7 − 320) = 11.7
and an initial vertical offset
dy = (210 − 240) = −30
The effective size of 'source.tif' is 600 x 400. The effective size of 'target.tif' is 640 x 480. The source and target points are given in relation to the original (uncropped) system of coordinates. The resulting output will be displayed.
IMPORTANT: You MUST use a pair of double quotes to enclose paths and filenames that contain white characters. Example: "my path/my file". Escape characters (e.g., a backslash) are not interpreted.

Specified by:
run in interface ij.plugin.PlugIn
Parameters:
commandLine - String optional list of parameters.

getSourcePoints

public double[][] getSourcePoints()
Accessor method for the (double[][])sourcePoints variable. This variable is valid only after a call to run with the option -align has been issued. What is returned is a two-dimensional array of type double[][] that contains coordinates from the image sourceFilename. These coordinates are given relative to the original image, before that the cropping described by the sourceCropLeft, sourceCropTop, sourceCropRight, and sourceCropBottom has been applied. These coordinates match those available from targetPoints. The total number of coordinates, equal to sourcePoints[*].length, is given by the constant turboRegPointHandler.NUM_POINTS which corresponds to four coordinates in the present version. The second index gives the horizontal component for [0] and the vertical component for [1]. The number of useful coordinates depends on the specific transformation for which the alignment has been performed: translation (1), scaled rotation (2), rotation (3), affine transformation (3), and bilinear transformation (4).

See Also:
run(java.lang.String), getTargetPoints()

getTargetPoints

public double[][] getTargetPoints()
Accessor method for the (double[][])targetPoints variable. This variable is valid only after a call to run with the option -align has been issued. What is returned is a two-dimensional array of type double[][] that contains coordinates from the image targetFilename. These coordinates are given relative to the original image, before that the cropping described by the targetCropLeft, targetCropTop, targetCropRight, and targetCropBottom has been applied. These coordinates match those available from sourcePoints. The total number of coordinates, equal to targetPoints[*].length, is given by the constant turboRegPointHandler.NUM_POINTS which corresponds to four coordinates in the present version. The second index gives the horizontal component for [0] and the vertical component for [1]. The number of useful coordinates depends on the specific transformation for which the alignment has been performed: translation (1), scaled rotation (2), rotation (3), affine transformation (3), and bilinear transformation (4).

See Also:
run(java.lang.String), getSourcePoints()

getTransformedImage

public ij.ImagePlus getTransformedImage()
Accessor method for the (ImagePlus)transformedImage variable. This variable is valid only after a call to run with the option -transform has been issued. What is returned is an ImagePlus object of the size described by the outputWidth and outputHeight parameters of the call to the run method of TurboReg_.

See Also:
run(java.lang.String)