• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java RankFilters类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java EntitySenses类代码示例发布时间:2022-05-22
下一篇:
Java SimpleBookmark类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap