public class AnalyzeSkeleton_ extends Object implements ij.plugin.filter.PlugInFilter, DialogListener
For more detailed information, visit the AnalyzeSkeleton home page: http://fiji.sc/AnalyzeSkeleton
Modifier and Type | Field and Description |
---|---|
static boolean |
calculateShortestPath
calculate largest shortest path option
|
static boolean |
displaySkeletons
flag to output the labeled skeletons in a new image
|
static byte |
END_POINT
end point flag
|
static byte |
JUNCTION
junction flag
|
static int |
LOWEST_INTENSITY_BRANCH
lowest intensity branch pruning mode index
|
static int |
LOWEST_INTENSITY_VOXEL
lowest pixel intensity pruning mode index
|
static int |
NONE
no pruning mode index
|
static boolean |
protectRoi
protective-ROI option (branches inside ROI are spared from pruning)
|
static String[] |
pruneCyclesModes
prune cycle options
|
static boolean |
pruneEnds
dead-end pruning option
|
static int |
pruneIndex
prune cycle options index
|
static int |
SHORTEST_BRANCH
shortest branch pruning mode index
|
static byte |
SHORTEST_PATH
shortest path flag
|
protected boolean |
silent
silent run flag, to distinguish between GUI and plugin calls
|
static byte |
SLAB
slab flag
|
static boolean |
verbose
boolean flag to display extra information in result tables
|
CONVERT_TO_FLOAT, DOES_16, DOES_32, DOES_8C, DOES_8G, DOES_ALL, DOES_RGB, DOES_STACKS, DONE, FINAL_PROCESSING, KEEP_THRESHOLD, NO_CHANGES, NO_IMAGE_REQUIRED, NO_UNDO, NO_UNDO_RESET, PARALLELIZE_IMAGES, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING
Constructor and Description |
---|
AnalyzeSkeleton_() |
Modifier and Type | Method and Description |
---|---|
protected SkeletonResult |
assembleResults()
Returns the analysis results in a SkeletonResult object.
|
double |
calculateDistance(Point point1,
Point point2)
Calculate Euclidean distance between two points in 3D.
|
boolean |
dialogItemChanged(GenericDialog gd,
AWTEvent e)
Disables dialog components that are irrelevant to GUI-based analysis.
|
Vertex |
findPointVertex(Vertex[] vertex,
Point p)
Find vertex in an array given a specific vertex point.
|
static double |
getAverageNeighborhoodValue(ij.ImageStack image,
Point p,
int x_offset,
int y_offset,
int z_offset)
Get average neighborhood pixel value of a given point.
|
ArrayList<Point> |
getEndPoints()
Get the list of endpoints in the skeleton image.
|
ArrayList<Point>[] |
getEndPointsTree()
Get the list of endpoints in the skeleton image per tree.
|
Graph[] |
getGraphs()
Get the graphs of the current skeletons
|
ij.ImageStack |
getLabeledSkeletons()
Get the stack containing all the trees labeld with their corresponding
skeleton id.
|
static byte[] |
getNeighborhood(ij.ImageStack image,
Point p,
int x_offset,
int y_offset,
int z_offset)
Get neighborhood of a pixel in a 3D image (0 border conditions).
|
static byte |
getPixel(ij.ImageStack image,
int x,
int y,
int z)
Get pixel in 3D image (0 border conditions)
|
ij.ImageStack |
getResultImage(boolean longestShortestPath)
Returns one of the two result images in an ImageStack object.
|
ArrayList<Point>[] |
getShortestPathPoints()
Get the list of points (including junctions and end points) of the
largest shortest paths in the skeleton image (one per tree).
|
void |
processSkeleton(ij.ImageStack inputImage2)
Process skeleton: tag image, mark trees and visit.
|
SkeletonResult |
run()
A simpler standalone running method, for analysis without pruning
or showing images.
|
void |
run(ij.process.ImageProcessor ip)
Process the image: tag skeleton and show results.
|
SkeletonResult |
run(int pruneIndex,
boolean pruneEnds,
boolean shortPath,
ij.ImagePlus origIP,
boolean silent,
boolean verbose)
This method is intended for non-interactively using this plugin.
|
SkeletonResult |
run(int pruneIndex,
boolean pruneEnds,
boolean shortPath,
ij.ImagePlus origIP,
boolean silent,
boolean verbose,
Roi roi)
This method is intended for non-interactively using this plugin.
|
SkeletonResult |
run(int pruneIndex,
double thresholdLength,
boolean shortPath,
ij.ImagePlus origIP,
boolean silent,
boolean verbose)
This method is intended for non-interactively using this plugin.
|
int |
setup(String arg,
ij.ImagePlus imp)
This method is called once when the filter is loaded.
|
public static byte END_POINT
public static byte JUNCTION
public static byte SLAB
public static byte SHORTEST_PATH
public static boolean pruneEnds
public static boolean protectRoi
public static boolean calculateShortestPath
public static final String[] pruneCyclesModes
public static final int NONE
public static final int SHORTEST_BRANCH
public static final int LOWEST_INTENSITY_VOXEL
public static final int LOWEST_INTENSITY_BRANCH
public static int pruneIndex
public static boolean verbose
protected boolean silent
public static boolean displaySkeletons
public int setup(String arg, ij.ImagePlus imp)
setup
in interface ij.plugin.filter.PlugInFilter
arg
- argument specified for this pluginimp
- currently active imagepublic void run(ij.process.ImageProcessor ip)
run
in interface ij.plugin.filter.PlugInFilter
PlugInFilter.run(ij.process.ImageProcessor)
public boolean dialogItemChanged(GenericDialog gd, AWTEvent e)
dialogItemChanged
in interface DialogListener
public SkeletonResult run(int pruneIndex, boolean pruneEnds, boolean shortPath, ij.ImagePlus origIP, boolean silent, boolean verbose)
pruneIndex
- The pruneIndex, as asked by the initial gui dialog.pruneEnds
- flag to prune end-point-ending branchesshortPath
- flag to calculate the longest shortest pathorigIP
- original grayscale input image (for lowest pixel intensity pruning mode)silent
- verbose
- flag to display running informationpublic SkeletonResult run(int pruneIndex, boolean pruneEnds, boolean shortPath, ij.ImagePlus origIP, boolean silent, boolean verbose, Roi roi)
pruneIndex
- The pruneIndex, as asked by the initial gui dialog.pruneEnds
- flag to prune end-point-ending branchesshortPath
- flag to calculate the longest shortest pathorigIP
- original grayscale input image (for lowest pixel intensity pruning mode)silent
- verbose
- flag to display running informationroi
- points inside this region are spared from elimination when
pruning end branches. ROI can be associated to a single image
in the stack or all images as per ij.gui.Roi.getPosition()
public SkeletonResult run(int pruneIndex, double thresholdLength, boolean shortPath, ij.ImagePlus origIP, boolean silent, boolean verbose)
pruneIndex
- The pruneIndex, as asked by the initial gui dialog.thresholdLength
- maximum length of the branches to prune (all branches below that value are removed)shortPath
- flag to calculate the longest shortest pathorigIP
- original input imagesilent
- verbose
- flag to display running informationpublic Graph[] getGraphs()
public ArrayList<Point>[] getShortestPathPoints()
public ArrayList<Point>[] getEndPointsTree()
public ArrayList<Point> getEndPoints()
public SkeletonResult run()
This one just calls run(AnalyzeSkeleton_.NONE, false, null, true, false)
public void processSkeleton(ij.ImageStack inputImage2)
inputImage2
- input skeleton image to processpublic ij.ImageStack getResultImage(boolean longestShortestPath)
longestShortestPath
- Get the tagged longest shortest paths instead of the standard tagged imageprotected SkeletonResult assembleResults()
public Vertex findPointVertex(Vertex[] vertex, Point p)
vertex
- array of searchp
- vertex pointpublic double calculateDistance(Point point1, Point point2)
point1
- first point coordinatespoint2
- second point coordinatespublic static double getAverageNeighborhoodValue(ij.ImageStack image, Point p, int x_offset, int y_offset, int z_offset)
image
- input imagep
- image coordinatesx_offset
- x- neighborhood offsety_offset
- y- neighborhood offsetz_offset
- z- neighborhood offsetpublic static byte[] getNeighborhood(ij.ImageStack image, Point p, int x_offset, int y_offset, int z_offset)
image
- 3D image (ImageStack)p
- point coordinatesx_offset
- x- neighborhood offsety_offset
- y- neighborhood offsetz_offset
- z- neighborhood offsetpublic static byte getPixel(ij.ImageStack image, int x, int y, int z)
image
- 3D imagex
- x- coordinatey
- y- coordinatez
- z- coordinate (in image stacks the indexes start at 1)public ij.ImageStack getLabeledSkeletons()
Copyright © 2015–2021 Fiji. All rights reserved.