theba.core.math.EDM Class Reference

List of all members.

Public Member Functions

void run (short[] pixels, int width, int height)
void makeEDM (short[] pixels, int width, int height)
void findUltimatePoints (ImageProcessor ip)

Package Functions

void setValue (int offset, int rowsize, short[] image16)
void setEdgeValue (int offset, int rowsize, short[] image16, int x, int y, int xmax, int ymax)
void convertToBytes (int width, int height, short[] image16, byte[] image8)
void filterEDM (ImageProcessor edm, boolean smooth)
int get (int x, int y, byte[] pixels, int width, int height)
void makeCoordinateArrays (ImageProcessor edm)
void doWatershed (ImageProcessor ip1)
int[] makeFateTable ()
void processLevel (int level, int pass, ImageProcessor ip1, ImageProcessor ip2, int[] table)
void postProcess (ImageProcessor ip)

Package Attributes

ImagePlus imp
String arg
int maxEDM
short[] xCoordinate
short[] yCoordinate
int[] levelStart
int[] levelOffset
int[] histogram
int slice
int count
boolean watershed
ImageWindow win
boolean canceled
ImageStack movie
boolean debug = IJ.debugMode
boolean invertImage

Static Package Attributes

static boolean whiteBackground = true

Detailed Description

This plugin implements the Euclidean Distance Map (EDM), Ultimate Eroded Points and Watershed commands in the Process/Binary submenu.

Definition at line 13 of file EDM.java.


Member Function Documentation

void theba.core.math.EDM.convertToBytes ( int  width,
int  height,
short[]  image16,
byte[]  image8 
) [package]

Definition at line 309 of file EDM.java.

References theba.core.math.EDM.maxEDM.

void theba.core.math.EDM.doWatershed ( ImageProcessor  ip1  )  [package]
void theba.core.math.EDM.filterEDM ( ImageProcessor  edm,
boolean  smooth 
) [package]

Definition at line 418 of file EDM.java.

Referenced by theba.core.math.EDM.findUltimatePoints().

void theba.core.math.EDM.findUltimatePoints ( ImageProcessor  ip  ) 
int theba.core.math.EDM.get ( int  x,
int  y,
byte[]  pixels,
int  width,
int  height 
) [package]

Definition at line 473 of file EDM.java.

void theba.core.math.EDM.makeCoordinateArrays ( ImageProcessor  edm  )  [package]

Generates the xy coordinate arrays that allow pixels at each level to be accessed directly without searching through the entire image. This method, suggested by Stein Roervik (stein@kjemi.unit.no), greatly speeds up the watershed segmentation routine.

Definition at line 491 of file EDM.java.

References theba.core.math.EDM.histogram, theba.core.math.EDM.levelOffset, theba.core.math.EDM.levelStart, theba.core.math.EDM.maxEDM, theba.core.math.EDM.xCoordinate, and theba.core.math.EDM.yCoordinate.

Referenced by theba.core.math.EDM.findUltimatePoints().

void theba.core.math.EDM.makeEDM ( short[]  pixels,
int  width,
int  height 
)

Converts a binary image into a grayscale Euclidean Distance Map (EDM). Each foreground (black) pixel in the binary image is assigned a value equal to its distance from the nearest background (white) pixel. Uses the two-pass EDM algorithm from the "Image Processing Handbook" by John Russ.

Definition at line 59 of file EDM.java.

References theba.core.math.EDM.setEdgeValue(), and theba.core.math.EDM.setValue().

Referenced by theba.core.math.EDM.run().

int [] theba.core.math.EDM.makeFateTable (  )  [package]

Definition at line 564 of file EDM.java.

Referenced by theba.core.math.EDM.doWatershed().

void theba.core.math.EDM.postProcess ( ImageProcessor  ip  )  [package]

Definition at line 662 of file EDM.java.

Referenced by theba.core.math.EDM.doWatershed().

void theba.core.math.EDM.processLevel ( int  level,
int  pass,
ImageProcessor  ip1,
ImageProcessor  ip2,
int[]  table 
) [package]
void theba.core.math.EDM.run ( short[]  pixels,
int  width,
int  height 
)

Definition at line 47 of file EDM.java.

References theba.core.math.EDM.makeEDM().

void theba.core.math.EDM.setEdgeValue ( int  offset,
int  rowsize,
short[]  image16,
int  x,
int  y,
int  xmax,
int  ymax 
) [package]

Definition at line 179 of file EDM.java.

Referenced by theba.core.math.EDM.makeEDM().

void theba.core.math.EDM.setValue ( int  offset,
int  rowsize,
short[]  image16 
) [package]

Definition at line 112 of file EDM.java.

Referenced by theba.core.math.EDM.makeEDM().


Member Data Documentation

String theba.core.math.EDM.arg [package]

Definition at line 17 of file EDM.java.

boolean theba.core.math.EDM.canceled [package]

Definition at line 37 of file EDM.java.

Referenced by theba.core.math.EDM.doWatershed().

boolean theba.core.math.EDM.debug = IJ.debugMode [package]
ImagePlus theba.core.math.EDM.imp [package]

Definition at line 15 of file EDM.java.

Definition at line 43 of file EDM.java.

Definition at line 25 of file EDM.java.

Referenced by theba.core.math.EDM.makeCoordinateArrays().

ImageStack theba.core.math.EDM.movie [package]

Definition at line 29 of file EDM.java.

boolean theba.core.math.EDM.watershed [package]

Definition at line 33 of file EDM.java.

Referenced by theba.core.math.EDM.findUltimatePoints().

boolean theba.core.math.EDM.whiteBackground = true [static, package]

Definition at line 45 of file EDM.java.

ImageWindow theba.core.math.EDM.win [package]

Definition at line 35 of file EDM.java.

Referenced by theba.core.math.EDM.doWatershed().

short [] theba.core.math.EDM.xCoordinate [package]
short [] theba.core.math.EDM.yCoordinate [package]

The documentation for this class was generated from the following file:

Generated on Fri Nov 13 08:57:08 2009 for Theba by  doxygen 1.6.1