当前位置: 首页 > news >正文

在xampp下搭建本地网站怎么建立一个wordpress

在xampp下搭建本地网站,怎么建立一个wordpress,企业网站更新什么内容,wordpress官方模版文献中详细介绍了处理HE scripts的详细过程#xff0c;计算HE染色的全切片中的肿瘤基质百分比。 步骤#xff1a; 1.将相关幻灯片添加到QuPath项目中。 2.对于项目中的每张幻灯片#xff0c;围绕一个有代表性的肿瘤区域绘制一个注释。 3.运行“Estimate _ bac… 文献中详细介绍了处理HE scripts的详细过程计算HE染色的全切片中的肿瘤基质百分比。 步骤 1.将相关幻灯片添加到QuPath项目中。 2.对于项目中的每张幻灯片围绕一个有代表性的肿瘤区域绘制一个注释。 3.运行“Estimate _ background _ values . groovy”来自动确定适当的“白色”值以改进光学计算 密度。这是可选的但可能对较暗的扫描有帮助它预先假定背景区域在图像中的某处是可用的。 4.运行“HE_superpixels_script.groovy”来计算注释区域内的超像素和特征。 5.使用“分类-创建检测分类器”以交互方式训练分类器以区分 形象。完成后将此分类器应用于所有图像。 6.运行 Export_HE_tumor_areas.groovy 来导出结果 1,Estimate_background_values.groovy /** * Script to estimate the background value in a brightfield whole slide image. * * This effectively looks for the circle of a specified radius with the highest * mean intensity (summed across all 3 RGB channels), and takes the mean red, * green and blue within this circle as the background values. * * The background values are then set in the ColorDeconvolutionStains object * for the ImageData, so that they are used for any optical density calculations. * * This is implemented with the help of ImageJ (www.imagej.net). * * author Pete Bankhead */ import ij.plugin.filter.RankFilters import ij.process.ColorProcessor import qupath.imagej.images.servers.ImagePlusServerBuilder import qupath.lib.common.ColorTools import qupath.lib.regions.RegionRequest import qupath.lib.scripting.QP // Radius used for background search, in microns (will be used approximately) double radiusMicrons 1000 // Calculate a suitable preferred pixel size // Keep in mind that downsampling involves a form of smoothing, so we just choose // a reasonable filter size and then adapt the image resolution accordingly double radiusPixels 10 double requestedPixelSizeMicrons radiusMicrons / radiusPixels // Get the ImageData ImageServer def imageData QP.getCurrentImageData() def server imageData.getServer() // Check we have the right kind of data if (!imageData.isBrightfield() || !server.isRGB()) {print(ERROR: Only brightfield RGB images can be processed with this script, sorry)return } // Extract pixel size double pixelSize server.getAveragedPixelSizeMicrons() // Choose a default if we need one (i.e. if the pixel size is missing from the image metadata) if (Double.isNaN(pixelSize))pixelSize 0.5 // Figure out suitable downsampling value double downsample Math.round(requestedPixelSizeMicrons / pixelSize) // Get a downsampled version of the image as an ImagePlus (for ImageJ) def request RegionRequest.createInstance(server.getPath(), downsample, 0, 0, server.getWidth(), server.getHeight()) def serverIJ ImagePlusServerBuilder.ensureImagePlusWholeSlideServer(server) def pathImage serverIJ.readImagePlusRegion(request) // Check we have an RGB image (we should at this point) def imp pathImage.getImage(false) def ip imp.getProcessor() if (!(ip instanceof ColorProcessor)) {print(Sorry, the background can only be set for a ColorProcessor, but the current ImageProcessor is ip)return } // Apply filter if (ip.getWidth() radiusPixels*2 || ip.getHeight() radiusPixels*2) {print(The image is too small for the requested radius!)return } new RankFilters().rank(ip, radiusPixels, RankFilters.MEAN) // Find the location of the maximum across all 3 channels double maxValue Double.NEGATIVE_INFINITY double maxRed 0 double maxGreen 0 double maxBlue 0 for (int y radiusPixels; y ip.getHeight()-radiusPixels; y) {for (int x radiusPixels; x ip.getWidth()-radiusPixels; x) {int rgb ip.getPixel(x, y)int r ColorTools.red(rgb)int g ColorTools.green(rgb)int b ColorTools.blue(rgb)double sum r g bif (sum maxValue) {maxValue summaxRed rmaxGreen gmaxBlue b}} } // Print the result print(Background RGB values: maxRed , maxGreen , maxBlue) // Set the ImageData stains def stains imageData.getColorDeconvolutionStains() def stains2 stains.changeMaxValues(maxRed, maxGreen, maxBlue) imageData.setColorDeconvolutionStains(stains2)2,HE_superpixels_script.groovy /* * Generate superpixels compute features for HE tumor stromal analysis using QuPath. * * author Pete Bankhead */ // Compute superpixels within annotated regions selectAnnotations() runPlugin(qupath.imagej.superpixels.SLICSuperpixelsPlugin, {sigmaMicrons: 5.0, spacingMicrons: 40.0, maxIterations: 10, regularization: 0.25, adaptRegularization: false, useDeconvolved: false}); // Add Haralick texture features based on optical densities, and mean Hue for each superpixel selectDetections(); runPlugin(qupath.lib.algorithms.IntensityFeaturesPlugin, {pixelSizeMicrons: 2.0, region: ROI, tileSizeMicrons: 25.0, colorOD: true, colorStain1: false, colorStain2: false, colorStain3: false, colorRed: false, colorGreen: false, colorBlue: false, colorHue: true, colorSaturation: false, colorBrightness: false, doMean: true, doStdDev: false, doMinMax: false, doMedian: false, doHaralick: true, haralickDistance: 1, haralickBins: 32}); // Add smoothed measurements to each superpixel selectAnnotations(); runPlugin(qupath.lib.plugins.objects.SmoothFeaturesPlugin, {fwhmMicrons: 50.0, smoothWithinClasses: false, useLegacyNames: false}); 3,Export_HE_tumor_areas.groovy /** * Script to compute areas for detection objects with different classifications. * * Primarily useful for converting classified superpixels into areas. * * author Pete Bankhead */ import qupath.lib.common.GeneralTools import qupath.lib.gui.QuPathGUI import qupath.lib.images.servers.ImageServer import qupath.lib.objects.PathDetectionObject import qupath.lib.objects.PathObject import qupath.lib.objects.classes.PathClass import qupath.lib.objects.classes.PathClassFactory import qupath.lib.objects.hierarchy.PathObjectHierarchy import qupath.lib.roi.interfaces.PathArea import qupath.lib.roi.interfaces.ROI import qupath.lib.scripting.QPEx import qupath.lib.gui.ImageWriterTools import qupath.lib.regions.RegionRequest import java.awt.image.BufferedImage //---------------------------------------------------------------------------- // If exportImages is true, overview images will be written to an export subdirectory // of the current project, otherwise no images will be exported boolean exportImages true // Define which classes to analyze, in terms of determining areas etc. def classesToAnalyze [Tumor, Stroma, Other] // Format output 3 decimal places int nDecimalPlaces 3 // If the patient ID is encoded in the filename, a closure defined here can parse it // (By default, this simply strips off anything after the final dot - assumed to be the file extension) def parseUniqueIDFromFilename { n -int dotInd n.lastIndexOf(.)if (dotInd 0)return nreturn n.substring(0, dotInd) } // The following closure handled the specific naming scheme used for the images in the paper // Uncomment to apply this, rather than the default method above //parseUniqueIDFromFilename {n - // def uniqueID n.trim() // if (uniqueID.charAt(3) -) // uniqueID uniqueID.substring(0, 3) uniqueID.substring(4) // return uniqueID.split([-. ])[0] // } //---------------------------------------------------------------------------- // Convert class name to PathClass objects SetPathClass pathClasses new TreeSet() for (String className : classesToAnalyze) {pathClasses.add(PathClassFactory.getPathClass(className)) } // Get a formatter // Note: to run this script in earlier versions of QuPath, // change createFormatter to getFormatter def formatter GeneralTools.createFormatter(nDecimalPlaces) // Get access to the current ImageServer - required for pixel size information ImageServer? server QPEx.getCurrentImageData().getServer() double pxWidthMM server.getPixelWidthMicrons() / 1000 double pxHeightMM server.getPixelHeightMicrons() / 1000 // Get access to the current hierarchy PathObjectHierarchy hierarchy QPEx.getCurrentHierarchy() // Loop through detection objects (here, superpixels) and increment total area calculations for each class MapPathClass, Double areaMap new TreeMap() double areaTotalMM 0 for (PathObject tile : hierarchy.getObjects(null, PathDetectionObject.class)) {// Check the classificationPathClass pathClass tile.getPathClass()if (pathClass null)continue// Add current areaROI roi tile.getROI()if (roi instanceof PathArea) {double area ((PathArea)roi).getScaledArea(pxWidthMM , pxHeightMM)areaTotalMM areaif (areaMap.containsKey(pathClass))areaMap.put(pathClass, area areaMap.get(pathClass))elseareaMap.put(pathClass, area)} } // Loop through each classification prepare output double areaSumMM 0 double areaTumor 0 double areaStroma 0 // Include image name ID String delimiter \t StringBuilder sbHeadings new StringBuilder(Image).append(delimiter).append(Unique ID) String uniqueID parseUniqueIDFromFilename(server.getShortServerName()) StringBuilder sb new StringBuilder(server.getShortServerName()).append(delimiter).append(uniqueID) // Compute areas per class for (PathClass pathClass : pathClasses) {// Extract area from map - or zero, if it does not occur in the mapdouble area areaMap.containsKey(pathClass) ? areaMap.get(pathClass) : 0// Update total record tumor area, if requiredareaSumMM areaif (pathClass.getName().toLowerCase().contains(tumor) || pathClass.getName().toLowerCase().contains(tumour))areaTumor areaif (pathClass.getName().toLowerCase().contains(stroma))areaStroma area// Display area for classificationsbHeadings.append(delimiter).append(pathClass.getName()).append( Area mm^2)sb.append(delimiter).append(formatter.format(area)) } // Append the total area sbHeadings.append(delimiter).append(Total area mm^2) sb.append(delimiter).append(formatter.format(areaTotalMM)) // Append the calculated stromal percentage sbHeadings.append(delimiter).append(Stromal percentage) sb.append(delimiter).append(formatter.format(areaStroma / (areaTumor areaStroma) * 100.0)) // Export images in a project sub-directory, if required if (exportImages) {// Create the directory, if requireddef path QPEx.buildFilePath(QPEx.PROJECT_BASE_DIR, export)QPEx.mkdirs(path)// We need to get the display settings (colors, line thicknesses, opacity etc.) from the current viewerdef overlayOptions QuPathGUI.getInstance().getViewer().getOverlayOptions()def imageData QPEx.getCurrentImageData()def name uniqueID// Aim for an output resolution of approx 20 µm/pixeldouble requestedPixelSize 20double downsample requestedPixelSize / server.getAveragedPixelSizeMicrons()RegionRequest request RegionRequest.createInstance(imageData.getServerPath(), downsample, 0, 0, server.getWidth(), server.getHeight())// Write output image, with and without overlaydef dir new File(path)def fileImage new File(dir, name .jpg)BufferedImage img ImageWriterTools.writeImageRegion(imageData.getServer(), request, fileImage.getAbsolutePath())def fileImageWithOverlay new File(dir, name -overlay.jpg)ImageWriterTools.writeImageRegionWithOverlay(img, imageData, overlayOptions, request, fileImageWithOverlay.getAbsolutePath()) } // Write header to output file if its empty, and print on screen sbHeadings.append(\n) sb.append(\n) def fileOutput new File(QPEx.buildFilePath(QPEx.PROJECT_BASE_DIR, Results.txt)) if (fileOutput.length() 0) {print(sbHeadings.toString())fileOutput sbHeadings.toString() } // Write data to output file print on screen fileOutput sb.toString() print(sb.toString()) 参考 1QuPath: Open source software for digital pathology image analysis - PMC (nih.gov) 2:【WSI/QuPath】如何使用QuPath导出切片patch/tile-CSDN博客
http://www.pierceye.com/news/41977/

相关文章:

  • 广告网站建设与制作公司项目经理证怎么考取
  • 风险网站如何解决办法微信网站开发源代码
  • 做二维码网站社区微网站建设方案
  • 养殖p2p网站建设贵阳微信小程序制作开发
  • 台州平台网站建设企业电话卡
  • 怎么做国外的网站 卖东西jsp 响应式网站模板
  • 企业网站建设服务哪家好浮动定位网页设计作业
  • 青岛模板建站代理游戏app开发
  • flash怎么做网站域名 删除 wordpress
  • 什么网站可以做期刊封面山西山西省建设厅网站
  • 如何运行asp.net网站wordpress后台查看文章
  • 织梦cms怎么搭建网站西安至成信息科技有限公司
  • 博客社区类网站模板下载免费软件库
  • 网站验证钱的分录怎么做网络营销的发展趋势
  • 泰安营销型网站公司设计公司的企业使命
  • 展示型网站设计案例3g门户网站官网
  • 邢台哪儿做网站便宜卡二卡三卡四卡在线
  • 福鼎网站建设seo排名工具提升流量
  • 容桂做pc端网站scratch少儿编程
  • 大良商城网站建设网页设计师职责
  • 咸阳免费做网站公司济宁网站建设是什么
  • dede学校网站模板下载邢台织梦模板建站
  • 京东优惠劵网站怎么做软件定制开发服务流程
  • 网站备案号 如何添加网站怎么做才吸引人
  • 海门住房和城乡建设局网站国内跨境电商公司排行榜
  • 网站创建流程盐城网站建设制作方案
  • 镇江论坛网站建设哈尔滨网建公司有哪些
  • 鹿岛建设 网站怎么发现网站漏洞而做软件
  • 网站首页原型图网站建设应遵循哪几项原则
  • 男女之间做那个事情很污的网站河南建设人才教育信息网