|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.ObjectturboRegImage
class turboRegImage
This class is responsible for the image preprocessing that takes place concurrently with user-interface events. It contains methods to compute B-spline coefficients and their pyramids, image pyramids, gradients, and gradient pyramids.
| Field Summary | |
|---|---|
private float[] |
coefficient
|
private int |
height
|
private float[] |
image
|
private boolean |
isTarget
|
private java.util.Stack<java.lang.Object> |
pyramid
|
private int |
pyramidDepth
|
private java.lang.Thread |
t
|
private int |
transformation
|
private int |
width
|
private float[] |
xGradient
|
private float[] |
yGradient
|
| Constructor Summary | |
|---|---|
turboRegImage(ij.ImagePlus imp,
int transformation,
boolean isTarget)
Converts the pixel array of the incoming ImagePlus
object into a local float array. |
|
| Method Summary | |
|---|---|
private void |
antiSymmetricFirMirrorOffBounds1D(double[] h,
double[] c,
double[] s)
|
private void |
basicToCardinal2D(float[] basic,
float[] cardinal,
int width,
int height,
int degree)
|
private void |
buildCoefficientPyramid()
|
private void |
buildImageAndGradientPyramid()
|
private void |
buildImagePyramid()
|
private void |
cardinalToDual2D(float[] cardinal,
float[] dual,
int width,
int height,
int degree)
|
private void |
coefficientToGradient1D(double[] c)
|
private void |
coefficientToSamples1D(double[] c)
|
private void |
coefficientToXYGradient2D(float[] basic,
float[] xGradient,
float[] yGradient,
int width,
int height)
|
private void |
dualToCardinal2D(float[] dual,
float[] cardinal,
int width,
int height,
int degree)
|
private void |
extractColumn(float[] array,
int width,
int x,
double[] column)
|
private void |
extractRow(float[] array,
int y,
double[] row)
|
private float[] |
getBasicFromCardinal2D()
|
private float[] |
getBasicFromCardinal2D(float[] cardinal,
int width,
int height,
int degree)
|
float[] |
getCoefficient()
Return the B-spline coefficients of the full-size image. |
private float[] |
getHalfDual2D(float[] fullDual,
int fullWidth,
int fullHeight)
|
int |
getHeight()
Return the full-size image height. |
float[] |
getImage()
Return the full-size image array. |
private double |
getInitialAntiCausalCoefficientMirrorOffBounds(double[] c,
double z,
double tolerance)
|
private double |
getInitialCausalCoefficientMirrorOffBounds(double[] c,
double z,
double tolerance)
|
java.util.Stack<java.lang.Object> |
getPyramid()
Return the image pyramid as a Stack object. |
int |
getPyramidDepth()
Return the depth of the image pyramid. |
java.lang.Thread |
getThread()
Return the thread associated with this turboRegImage
object. |
int |
getWidth()
Return the full-size image width. |
float[] |
getXGradient()
Return the full-size horizontal gradient of the image, if available. |
float[] |
getYGradient()
Return the full-size vertical gradient of the image, if available. |
private void |
imageToXYGradient2D()
|
private void |
putColumn(float[] array,
int width,
int x,
double[] column)
|
private void |
putRow(float[] array,
int y,
double[] row)
|
private void |
reduceDual1D(double[] c,
double[] s)
|
void |
run()
Start the image precomputations. |
private void |
samplesToInterpolationCoefficient1D(double[] c,
int degree,
double tolerance)
|
void |
setPyramidDepth(int pyramidDepth)
Sets the depth up to which the pyramids should be computed. |
void |
setTransformation(int transformation)
Set or modify the transformation. |
private void |
symmetricFirMirrorOffBounds1D(double[] h,
double[] c,
double[] s)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final java.util.Stack<java.lang.Object> pyramid
private java.lang.Thread t
private float[] image
private float[] coefficient
private float[] xGradient
private float[] yGradient
private int width
private int height
private int pyramidDepth
private int transformation
private boolean isTarget
| Constructor Detail |
|---|
public turboRegImage(ij.ImagePlus imp,
int transformation,
boolean isTarget)
ImagePlus
object into a local float array.
imp - ImagePlus object to preprocess.transformation - Transformation code.isTarget - Tags the current object as a target or source image.| Method Detail |
|---|
public float[] getCoefficient()
public int getHeight()
public float[] getImage()
public java.util.Stack<java.lang.Object> getPyramid()
Stack object. The organization
of the stack depends on whether the turboRegImage
object corresponds to the target or the source image, and on the
transformation (ML* = {TRANSLATION,RIGID_BODY,
SCALED_ROTATION, AFFINE} vs.
ML = {BILINEAR}). A single pyramid level consists of
isTarget
ML*
ML
true
width
height
B-spline coefficients
width
height
samples
false
width
height
samples
horizontal gradients
vertical gradients
width
height
B-spline coefficients
public int getPyramidDepth()
1 means
that one coarse resolution level is present in the stack. The
full-size level is not placed on the stack.
public java.lang.Thread getThread()
turboRegImage
object.
public int getWidth()
public float[] getXGradient()
getPyramid()public float[] getYGradient()
getImage()public void run()
run in interface java.lang.Runnablepublic void setPyramidDepth(int pyramidDepth)
getImage()public void setTransformation(int transformation)
private void antiSymmetricFirMirrorOffBounds1D(double[] h,
double[] c,
double[] s)
private void basicToCardinal2D(float[] basic,
float[] cardinal,
int width,
int height,
int degree)
private void buildCoefficientPyramid()
private void buildImageAndGradientPyramid()
private void buildImagePyramid()
private void cardinalToDual2D(float[] cardinal,
float[] dual,
int width,
int height,
int degree)
private void coefficientToGradient1D(double[] c)
private void coefficientToSamples1D(double[] c)
private void coefficientToXYGradient2D(float[] basic,
float[] xGradient,
float[] yGradient,
int width,
int height)
private void dualToCardinal2D(float[] dual,
float[] cardinal,
int width,
int height,
int degree)
private void extractColumn(float[] array,
int width,
int x,
double[] column)
private void extractRow(float[] array,
int y,
double[] row)
private float[] getBasicFromCardinal2D()
private float[] getBasicFromCardinal2D(float[] cardinal,
int width,
int height,
int degree)
private float[] getHalfDual2D(float[] fullDual,
int fullWidth,
int fullHeight)
private double getInitialAntiCausalCoefficientMirrorOffBounds(double[] c,
double z,
double tolerance)
private double getInitialCausalCoefficientMirrorOffBounds(double[] c,
double z,
double tolerance)
private void imageToXYGradient2D()
private void putColumn(float[] array,
int width,
int x,
double[] column)
private void putRow(float[] array,
int y,
double[] row)
private void reduceDual1D(double[] c,
double[] s)
private void samplesToInterpolationCoefficient1D(double[] c,
int degree,
double tolerance)
private void symmetricFirMirrorOffBounds1D(double[] h,
double[] c,
double[] s)
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||