本文整理汇总了Java中ij.plugin.filter.RankFilters类的典型用法代码示例。如果您正苦于以下问题:Java RankFilters类的具体用法?Java RankFilters怎么用?Java RankFilters使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RankFilters类属于ij.plugin.filter包,在下文中一共展示了RankFilters类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: makeMeanAndVariance
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
@Override
protected void makeMeanAndVariance(ByteProcessor I, Parameters params) {
FloatProcessor mean = (FloatProcessor) I.convertToFloat();
FloatProcessor var = (FloatProcessor) mean.duplicate();
RankFilters rf = new RankFilters();
rf.rank(mean, params.radius, RankFilters.MEAN);
Imean = mean;
rf.rank(var, params.radius, RankFilters.VARIANCE);
var.sqrt();
Isigma = var;
}
开发者ID:imagingbook,项目名称:imagingbook-common,代码行数:14,代码来源:NiblackThresholder.java
示例2: median
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
static int median(final float[] values, final int nbValues) {
final int m;
if (nbValues < 1) {
throw new IllegalArgumentException("Argument 'nbValues' cannot be less than 1.");
}
final int n = nbValues / 2;
if (nbValues % 2 == 1) {
m = Math.round(RankFilters.findNthLowestNumber(values, nbValues, n));
} else {
final float m1 = RankFilters.findNthLowestNumber(values, nbValues, n - 1);
final float m2 = RankFilters.findNthLowestNumber(values, nbValues, n);
m = Math.round((m1 + m2) / 2f);
}
return m;
}
开发者ID:ij-plugins,项目名称:ijp-toolkit,代码行数:18,代码来源:Morpho.java
示例3: removeOutliers
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
private final void removeOutliers(ImagePlus image, ProcessOptions processOption) {
RemoveOutlierOptions options = (RemoveOutlierOptions)processOption;
RankFilters rankFilters = new RankFilters();
rankFilters.rank(image.getChannelProcessor(),
options.getRadius(),
RankFilters.OUTLIERS,
options.getWhichOutlier().intValue(),
options.getThreshold());
image.updateImage();
rankFilters = null;
}
开发者ID:george-haddad,项目名称:CIMMYT,代码行数:15,代码来源:ScannerEngine.java
示例4: getThreshold
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
@Override
public ByteProcessor getThreshold(ByteProcessor I) {
FloatProcessor mean = (FloatProcessor) I.convertToFloat();
FloatProcessor var = (FloatProcessor) mean.duplicate();
RankFilters rf = new RankFilters();
rf.rank(mean, params.radius, RankFilters.MEAN);
Imean = mean;
rf.rank(var, params.radius, RankFilters.VARIANCE);
var.sqrt();
Isigma = var;
int width = I.getWidth();
int height = I.getHeight();
final double kappa = params.kappa;
final double sigmaMax = params.sigmaMax;
final boolean darkBg = (params.bgMode == BackgroundMode.DARK);
ByteProcessor Q = new ByteProcessor(width, height);
for (int v = 0; v < height; v++) {
for (int u = 0; u < width; u++) {
final double sigma = Isigma.getf(u, v);
final double mu = Imean.getf(u, v);
final double diff = kappa * (sigma / sigmaMax - 1);
int q = (int) Math.rint((darkBg) ? mu * (1 - diff) : mu * (1 + diff));
if (q < 0)
q = 0;
if (q > 255)
q = 255;
Q.set(u, v, q);
}
}
return Q;
}
开发者ID:imagingbook,项目名称:imagingbook-common,代码行数:36,代码来源:SauvolaThresholder.java
示例5: getThreshold
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
@Override
public ByteProcessor getThreshold(ByteProcessor I) {
final int M = I.getWidth();
final int N = I.getHeight();
ByteProcessor Imin = (ByteProcessor) I.duplicate();
ByteProcessor Imax = (ByteProcessor) I.duplicate();
RankFilters rf = new RankFilters();
rf.rank(Imin, params.radius, RankFilters.MIN);
rf.rank(Imax, params.radius, RankFilters.MAX);
int q = (params.bgMode == BackgroundMode.DARK) ? 256 : 0;
ByteProcessor Q = new ByteProcessor(M, N);
for (int v = 0; v < N; v++) {
for (int u = 0; u < M; u++) {
int gMin = Imin.get(u, v);
int gMax = Imax.get(u, v);
int c = gMax - gMin;
if (c >= params.cmin)
Q.set(u, v, (gMin + gMax) / 2);
else
Q.set(u, v, q);
}
}
return Q;
}
开发者ID:imagingbook,项目名称:imagingbook-common,代码行数:28,代码来源:BernsenThresholder.java
示例6: computeDensities
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
public static double[] computeDensities(ByteProcessor bp, Polygon polyGrid, double coreDiameterPx) {
RankFilters rf = new RankFilters();
FloatProcessor fp = bp.convertToFloatProcessor();
fp.max(1.0);
rf.rank(fp, coreDiameterPx*0.5, RankFilters.MEAN);
double[] densities = new double[polyGrid.npoints];
for (int i = 0; i < densities.length; i++) {
int x = polyGrid.xpoints[i];
int y = polyGrid.ypoints[i];
if (x >= 0 && y >= 0 && x < bp.getWidth() && y < bp.getHeight())
densities[i] = fp.getf(x, y);
}
return densities;
}
开发者ID:qupath,项目名称:qupath,代码行数:15,代码来源:TMADearrayer.java
示例7: openingByReconstruction
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
public static ImageProcessor openingByReconstruction(final ImageProcessor ip, final double radius) {
// Apply (initial) morphological opening
final RankFilters rf = new RankFilters();
final ImageProcessor ipReconstructed = ip.duplicate();
ipReconstructed.setRoi(ip.getRoi());
rf.rank(ipReconstructed, radius, RankFilters.MIN);
// if (ip.getRoi() == null)
// rf.rank(ipReconstructed, radius, RankFilters.MAX);
// Dilate opened image constrained by original image as a mask
if (morphologicalReconstruction(ipReconstructed, ip))
return ipReconstructed;
return null;
}
开发者ID:qupath,项目名称:qupath,代码行数:14,代码来源:MorphologicalReconstruction.java
示例8: comparePerformance
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
public void comparePerformance() {
try {
ij.Prefs.setThreads(1);
Img<UnsignedByteType> img = (Img<UnsignedByteType>) new ImgOpener().openImgs("/home/albert/Desktop/t2/bridge.tif").get(0);
ImgLib.wrap(img, "Original");
long t0 = System.currentTimeMillis();
final UnsignedByteType min = new UnsignedByteType(0);
final UnsignedByteType max = new UnsignedByteType(255);
final int nBins = 128; // 32 delivers speeds close to ImageJ's when not using median
final LinearHistogram<UnsignedByteType> lh = new LinearHistogram<UnsignedByteType>(nBins, img.numDimensions(), min, max);
final Img<IntType> integralHistogram = IntegralHistogram.create(img, lh, new IntType());
System.out.println("Creating integral histogram took " + (System.currentTimeMillis() - t0) + " ms");
long[] radius = new long[]{25, 25}; // radius=1 is equivalent to ImageJ's radius=1 in RankFilters
HistogramFeatures<UnsignedByteType, IntType> features =
new HistogramFeatures<UnsignedByteType, IntType>(img, integralHistogram, lh, radius);
long t1 = System.currentTimeMillis();
ImagePlus imp = ImgLib.wrap(img);
long t2 = System.currentTimeMillis();
RankFilters rf = new RankFilters();
ImageProcessor ip1 = imp.getProcessor().duplicate();
rf.rank(ip1, radius[0], RankFilters.MIN);
ImageProcessor ip2 = imp.getProcessor().duplicate();
rf.rank(ip2, radius[0], RankFilters.MAX);
ImageProcessor ip3 = imp.getProcessor().duplicate();
rf.rank(ip3, radius[0], RankFilters.MEAN);
ImageProcessor ip4 = imp.getProcessor().duplicate();
rf.rank(ip4, radius[0], RankFilters.MEDIAN);
long t3 = System.currentTimeMillis();
System.out.println("Integral features: " + (t1 - t0) + " ms");
System.out.println("Regular features: " + (t3 - t2) + " ms");
// Show them both
ImgLib.wrap(features, "Integral Histogram Features for " + radius[0] + "x" + radius[1]);
ImageStack stack = new ImageStack(imp.getWidth(), imp.getHeight());
stack.addSlice("min", ip1);
stack.addSlice("max", ip2);
stack.addSlice("mean", ip3);
stack.addSlice("median", ip4);
new ImagePlus("Regular features for " + radius[0] + "x" + radius[1], stack);
} catch (Exception e) {
e.printStackTrace();
}
}
开发者ID:imglib,项目名称:imglib2-script,代码行数:48,代码来源:TestHistograms.java
示例9: process
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
@Override
public ImageProcessor process(ImageProcessor ip) {
RankFilters rf = new RankFilters();
rf.rank(ip, radius, RankFilters.MEDIAN);
return ip;
}
开发者ID:trakem2,项目名称:TrakEM2,代码行数:7,代码来源:RankFilter.java
示例10: inPlaceDilation
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
/**
* Performs in-place dilation with a disk structuring element by calling the
* ImageJ native RankFilters algorithm, using RankFilters.MAX option.
*
* @param image the image to process
*/
@Override
public void inPlaceDilation(ImageProcessor image)
{
new RankFilters().rank(image, radius, RankFilters.MAX);
}
开发者ID:ijpb,项目名称:MorphoLibJ,代码行数:12,代码来源:DiskStrel.java
示例11: inPlaceErosion
import ij.plugin.filter.RankFilters; //导入依赖的package包/类
/**
* Performs in-place erosion with a disk structuring element by calling the
* ImageJ native RankFilters algorithm, using RankFilters.MIN option.
*
* @param image the image to process
*/
@Override
public void inPlaceErosion(ImageProcessor image)
{
new RankFilters().rank(image, radius, RankFilters.MIN);
}
开发者ID:ijpb,项目名称:MorphoLibJ,代码行数:12,代码来源:DiskStrel.java
注:本文中的ij.plugin.filter.RankFilters类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论