mpi.fruitfly.registration
Class CrossCorrelation2D

java.lang.Object
  extended by mpi.fruitfly.registration.CrossCorrelation2D

public class CrossCorrelation2D
extends java.lang.Object


Field Summary
 FloatArray2D img1
           
 FloatArray2D img2
           
 boolean showImages
           
 
Constructor Summary
CrossCorrelation2D(ij.process.ImageProcessor ip1, ij.process.ImageProcessor ip2, boolean showImages)
           
CrossCorrelation2D(java.lang.String image1, java.lang.String image2, boolean showImages)
           
 
Method Summary
 double[] computeCrossCorrelation(double relMinOverlapX, double relMinOverlapY, boolean showImages)
          Deprecated. This method is only single threaded, use computeCrossCorrelationMT instead
 double[] computeCrossCorrelationMT(double relMinOverlapX, double relMinOverlapY, boolean showImages)
          Computes a translational registration with the help of the cross correlation measure.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

img1

public FloatArray2D img1

img2

public FloatArray2D img2

showImages

public boolean showImages
Constructor Detail

CrossCorrelation2D

public CrossCorrelation2D(java.lang.String image1,
                          java.lang.String image2,
                          boolean showImages)

CrossCorrelation2D

public CrossCorrelation2D(ij.process.ImageProcessor ip1,
                          ij.process.ImageProcessor ip2,
                          boolean showImages)
Method Detail

computeCrossCorrelationMT

public double[] computeCrossCorrelationMT(double relMinOverlapX,
                                          double relMinOverlapY,
                                          boolean showImages)
Computes a translational registration with the help of the cross correlation measure.
Limits the overlap to 30% and restricts the shift furthermore by a factor you can tell him (this is useful if you f. ex. know that the vertical shift is much less than the horizontal). NOTE: Works multithreaded

Parameters:
relMinOverlapX - double - if you want to scan for less possible translations seen from a direct overlay, give the relative factor here (e.g. 0.3 means DONOT scan the outer 30%) NOTE: Below 0.05 does not really make sense as you then compare only very few pixels (even one) on the edges which gives then an R of 1 (perfect match)
relMinOverlapY - double - if you want to scan for less possible translations seen from a direct overlay, give the relative factor here (e.g. 0.3 means DONOT scan the outer 30%) NOTE: Below 0.05 does not really make sense as you then compare only very few pixels (even one) on the edges which gives then an R of 1 (perfect match)
showImages - boolean - Show the result of the cross correlation translation
Returns:
double[] return a double array containing {displaceX, displaceY, R}

computeCrossCorrelation

@Deprecated
public double[] computeCrossCorrelation(double relMinOverlapX,
                                                   double relMinOverlapY,
                                                   boolean showImages)
Deprecated. This method is only single threaded, use computeCrossCorrelationMT instead

Computes a translational registration with the help of the cross correlation measure.
Limits the overlap to 30% and restricts the vertical shift furthermore by a factor of 16. (NOTE: this method is only single threaded, use computeCrossCorrelationMT instead)

Parameters:
relMinOverlapX - double - if you want to scan for less possible translations seen from a direct overlay, give the relative factor here (e.g. 0.3 means DONOT scan the outer 30%) NOTE: Below 0.05 does not really make sense as you then compare only very few pixels (even one) on the edges which gives then an R of 1 (perfect match)
relMinOverlapY - double - if you want to scan for less possible translations seen from a direct overlay, give the relative factor here (e.g. 0.3 means DONOT scan the outer 30%) NOTE: Below 0.05 does not really make sense as you then compare only very few pixels (even one) on the edges which gives then an R of 1 (perfect match)
showImages - boolean - Show the result of the cross correlation translation
Returns:
double[] return a double array containing {displaceX, displaceY, R}