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

Java ProgressMonitor类代码示例

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

本文整理汇总了Java中com.bc.ceres.core.ProgressMonitor的典型用法代码示例。如果您正苦于以下问题:Java ProgressMonitor类的具体用法?Java ProgressMonitor怎么用?Java ProgressMonitor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ProgressMonitor类属于com.bc.ceres.core包,在下文中一共展示了ProgressMonitor类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: main

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
public static void main(String[] args) {
    try {
        Product product = ProductIO.readProduct("C:/Projects/BEAM/data/MER_RR__1P_A.N1");
        int width = product.getSceneRasterWidth();
        int height = product.getSceneRasterHeight();
        Band band = product.getBand("radiance_13");
        float[] scan = new float[width];
        for (int y = 0; y < height; y += 100) {
            band.readPixels(0, y, width, 1, scan, ProgressMonitor.NULL);
            for (int x = 0; x < width; x += 100) {
                float value = scan[x];
                System.out.println(value + " ");
            }
        }
        System.out.println();
        product.dispose();
    } catch (IOException e) {
        e.printStackTrace();  //To change body of catch statement use Options | File Templates.
    }

}
 
开发者ID:senbox-org,项目名称:snap-examples,代码行数:22,代码来源:BandEx.java


示例2: adjustImageInfos

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private void adjustImageInfos(RasterDataNode raster) {
    if (!isAdjustingImageInfos) {
        try {
            isAdjustingImageInfos = true;
            final String variableName = AbstractTimeSeries.rasterToVariableName(raster.getName());
            final List<Band> bandList = getBandsForVariable(variableName);
            final ImageInfo imageInfo = raster.getImageInfo(ProgressMonitor.NULL);
            if (imageInfo != null) {
                for (Band band : bandList) {
                    if (band != raster) {
                        band.setImageInfo(imageInfo.createDeepCopy());
                    }
                }
            }
        } finally {
            isAdjustingImageInfos = false;
        }
    }
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:20,代码来源:TimeSeriesImpl.java


示例3: nomalizeHSVExpressions

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private static void nomalizeHSVExpressions(final Product product, String[] hsvExpressions) {
    // normalize
    //range = max - min;
    //normvalue = min(max(((v- min)/range),0), 1);
    boolean modified = product.isModified();

    int i = 0;
    for (String exp : hsvExpressions) {
        if (exp.isEmpty()) continue;

        final String checkForNoDataValue = "";//getCheckForNoDataExpression(product, exp);

        final Band virtBand = createVirtualBand(product, exp, "tmpVirtBand" + i);

        final Stx stx = virtBand.getStx(false, ProgressMonitor.NULL);
        if (stx != null) {
            final double min = stx.getMinimum();
            final double range = stx.getMaximum() - min;
            hsvExpressions[i] = checkForNoDataValue + "min(max((((" + exp + ")- " + min + ")/" + range + "), 0), 1)";
        }
        product.removeBand(virtBand);
        ++i;
    }
    product.setModified(modified);
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:26,代码来源:OpenHSVImageViewAction.java


示例4: writeBandRasterData

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
public void writeBandRasterData(Band sourceBand, int sourceOffsetX, int sourceOffsetY, int sourceWidth, int sourceHeight, ProductData sourceBuffer, ProgressMonitor pm) throws IOException {
    final Product sourceProduct = sourceBand.getProduct();
    final int numBands = sourceProduct.getNumBands();
    boolean shouldFinalize = numBands == processedCount.get();
    if (!shouldFinalize) {
        if (!this.processedBands.containsKey(sourceBand)) {
            this.processedBands.put(sourceBand, getScaledImage(sourceBand));
            processedCount.incrementAndGet();
            shouldFinalize = numBands == processedCount.get();
        }
        if (shouldFinalize) {
            finalizeWrite();
        }
    }
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:17,代码来源:JP2ProductWriter.java


示例5: start

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
public void start() {
    Path sourceDirPath = ResourceInstaller.findModuleCodeBasePath(getClass()).resolve("auxdata/openjpeg");
    Path auxdataDirectory = OpenJpegExecRetriever.getOpenJPEGAuxDataPath();
    if (auxdataDirectory == null) {
        SystemUtils.LOG.severe("OpenJPEG configuration error: failed to retrieve auxdata path");
        return;
    }
    final ResourceInstaller resourceInstaller = new ResourceInstaller(sourceDirPath, auxdataDirectory);

    try {
        resourceInstaller.install(".*", ProgressMonitor.NULL);
        fixUpPermissions(auxdataDirectory);
    } catch (IOException e) {
        SystemUtils.LOG.severe("OpenJPEG configuration error: failed to create " + auxdataDirectory);
        return;
    }
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:19,代码来源:OpenJPEGActivator.java


示例6: loadImage

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private static void loadImage(final Product product, final Quicklook quicklook) {
    final StatusProgressMonitor qlPM = new StatusProgressMonitor(StatusProgressMonitor.TYPE.SUBTASK);
    qlPM.beginTask("Creating quicklook " + product.getName() + "... ", 100);

    ProgressMonitorSwingWorker<BufferedImage, Object> loader = new ProgressMonitorSwingWorker<BufferedImage, Object>
            (SnapApp.getDefault().getMainFrame(), "Loading quicklook image...") {

        @Override
        protected BufferedImage doInBackground(com.bc.ceres.core.ProgressMonitor pm) throws Exception {

            return quicklook.getImage(qlPM);
        }

        @Override
        protected void done() {
            qlPM.done();
        }
    };
    loader.execute();
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:21,代码来源:QuicklookToolView.java


示例7: readGeometry

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private VectorDataNode readGeometry(final SnapApp snapApp,
                                    final File file,
                                    final Product product)
        throws IOException, ExecutionException, InterruptedException {

    ProgressMonitorSwingWorker<VectorDataNode, Object> worker = new ProgressMonitorSwingWorker<VectorDataNode, Object>(snapApp.getMainFrame(), "Loading vector data") {
        @Override
        protected VectorDataNode doInBackground(ProgressMonitor pm) throws Exception {
            return reader.readVectorDataNode(file, product, pm);
        }

        @Override
        protected void done() {
            super.done();
        }
    };

    worker.executeWithBlocking();
    return worker.get();
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:21,代码来源:VectorDataNodeImporter.java


示例8: setBands

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
public void setBands(Band[] bands) {
    Debug.assertNotNull(bands);
    this.bands = bands.clone();
    Arrays.sort(this.bands, new Comparator<Band>() {
        @Override
        public int compare(Band band1, Band band2) {
            final float v = band1.getSpectralWavelength() - band2.getSpectralWavelength();
            return v < 0.0F ? -1 : v > 0.0F ? 1 : 0;
        }
    });
    if (wavelengths == null || wavelengths.length != this.bands.length) {
        wavelengths = new double[this.bands.length];
    }
    if (energies == null || energies.length != this.bands.length) {
        energies = new double[this.bands.length];
    }
    for (int i = 0; i < wavelengths.length; i++) {
        wavelengths[i] = this.bands[i].getSpectralWavelength();
        energies[i] = 0.0f;
    }
    Range.computeRangeDouble(wavelengths, IndexValidator.TRUE, wavelengthRange, ProgressMonitor.NULL);
    Range.computeRangeDouble(energies, IndexValidator.TRUE, energyRange, ProgressMonitor.NULL);
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:24,代码来源:SpectrumGraph.java


示例9: allProductsOnSameGrid

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@SuppressWarnings({"MethodWithMoreThanThreeNegations"})
private boolean allProductsOnSameGrid() {
    Product refProduct = null;
    final List<ProductLocation> productLocations = getAssistantModel().getProductLocationsModel().getProductLocations();
    for (ProductLocation productLocation : productLocations) {
        for (Product product : productLocation.getProducts(ProgressMonitor.NULL).values()) {
            if (refProduct != null) {
                if (product != null && !refProduct.isCompatibleProduct(product, 0.1E-4f)) {
                    return false;
                }
            } else {
                if (product != null) {
                    refProduct = product;
                }
            }
        }
    }
    return true;
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:20,代码来源:TimeSeriesAssistantPage_SourceProducts.java


示例10: setImage

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private void setImage(final Product product, final Quicklook quicklook) {

        final BufferedImage img;
        if(quicklook != null && (quicklook.hasImage() || quicklook.hasCachedImage())) {
            img = quicklook.getImage(ProgressMonitor.NULL);
        } else {
            img = noDataImage;
        }

        if(currentProduct == product && imgPanel.getImage() == img) {
            return;
        }
        currentProduct = product;
        nameLabel.setText(product.getDisplayName());
        imgPanel.setImage(img);

        updateButtons();
    }
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:19,代码来源:QuicklookToolView.java


示例11: doInBackground

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
protected Object doInBackground(ProgressMonitor pm) throws Exception {
    UIUtils.setRootFrameWaitCursor(ImageInfoEditor2.this);
    if (parentForm.getFormModel().isValid()) {
        final RasterDataNode[] rasters = parentForm.getFormModel().getRasters();
        try {
            pm.beginTask("Computing statistics", rasters.length);
            for (RasterDataNode raster : rasters) {
                raster.getStx(true, SubProgressMonitor.create(pm, 1));
            }
        } finally {
            pm.done();
        }
    }
    return null;
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:17,代码来源:ImageInfoEditor2.java


示例12: createS2LookupTable

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private void createS2LookupTable() throws IOException {
    File lutFile;
    URL lutResource;
    if (pathToLut != null && (new File(pathToLut)).exists()) {
        lutFile = new File(pathToLut);
    } else if ((lutResource = S2LutAccessor.class.getResource("sentinel-2a_lut_smsi_v0.6.memmap.d")) != null) {
        // search in resources as backup
        lutFile = new File(lutResource.getPath());
    } else {
        throw new IOException("");
    }

    S2LutAccessor s2LutAccessor = new S2LutAccessor(lutFile);
    s2Lut = s2LutAccessor.readLut(ProgressMonitor.NULL);
    aotGrid = s2Lut.getDimension(1).getSequence();
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:17,代码来源:S2AerosolOp.java


示例13: computeTile

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
public void computeTile(Band targetBand, Tile targetTile, ProgressMonitor pm) throws OperatorException {
    Rectangle tarRec = targetTile.getRectangle();
    String targetBandName = targetBand.getName();
    final Rectangle srcRec = calcSourceRectangle(tarRec);

    Band sourceBand = lowresProduct.getBand(targetBandName);
    Tile sourceTile = getSourceTile(sourceBand, srcRec);
    Tile validTile = getSourceTile(validBand, tarRec);

    if (!targetBand.isFlagBand()) {
        upscaleTileBilinear(sourceTile, validTile, targetTile, tarRec);
    } else {
        upscaleFlagCopy(sourceTile, targetTile, tarRec);
    }
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:17,代码来源:S2AerosolUpscaleOp.java


示例14: createProductSceneImageRGB

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private ProductSceneImage createProductSceneImageRGB(String name, final Product product, String[] rgbaExpressions,
                                                     ProgressMonitor pm) throws Exception {
    Band[] rgbBands = null;
    boolean errorOccurred = false;
    ProductSceneImage productSceneImage = null;
    try {
        pm.beginTask("Creating RGB image...", 2);
        rgbBands = allocateRgbBands(product, rgbaExpressions);
        productSceneImage = new ProductSceneImage(name, rgbBands[0],
                                                  rgbBands[1],
                                                  rgbBands[2],
                                                  SnapApp.getDefault().getPreferencesPropertyMap(),
                                                  SubProgressMonitor.create(pm, 1));
        productSceneImage.initVectorDataCollectionLayer();
        productSceneImage.initMaskCollectionLayer();
    } catch (Exception e) {
        errorOccurred = true;
        throw e;
    } finally {
        pm.done();
        if (rgbBands != null) {
            releaseRgbBands(rgbBands, errorOccurred);
        }
    }
    return productSceneImage;
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:27,代码来源:OpenRGBImageViewAction.java


示例15: readVectorDataNode

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
public VectorDataNode readVectorDataNode(File file, Product product, ProgressMonitor pm) throws IOException {

    DefaultFeatureCollection featureCollection = FeatureUtils.loadShapefileForProduct(file,
                                                                                      product,
                                                                                      crsProvider,
                                                                                      pm);
    Style[] styles = SLDUtils.loadSLD(file);
    ProductNodeGroup<VectorDataNode> vectorDataGroup = product.getVectorDataGroup();
    String name = VectorDataNodeImporter.findUniqueVectorDataNodeName(featureCollection.getSchema().getName().getLocalPart(),
                                                                      vectorDataGroup);
    if (styles.length > 0) {
        SimpleFeatureType featureType = SLDUtils.createStyledFeatureType(featureCollection.getSchema());


        VectorDataNode vectorDataNode = new VectorDataNode(name, featureType);
        DefaultFeatureCollection styledCollection = vectorDataNode.getFeatureCollection();
        String defaultCSS = vectorDataNode.getDefaultStyleCss();
        SLDUtils.applyStyle(styles[0], defaultCSS, featureCollection, styledCollection);
        return vectorDataNode;
    } else {
        return new VectorDataNode(name, featureCollection);
    }
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:25,代码来源:ImportVectorDataNodeFromShapefileAction.java


示例16: getAllProducts

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private List<Product> getAllProducts(ProgressMonitor pm) {
    List<Product> result = new ArrayList<>();
    pm.beginTask("Scanning product locations ...", productLocationList.size());
    try {
        for (ProductLocation productLocation : productLocationList) {
            if (pm.isCanceled()) {
                break;
            }
            for (Product product : productLocation.getProducts(ProgressMonitor.NULL).values()) {
                result.add(product);
            }
            pm.worked(1);
        }
    } finally {
        pm.done();
    }
    return result;
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:19,代码来源:TimeSeriesImpl.java


示例17: createToolTip

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
public JToolTip createToolTip() {
    if(!thumbnail.hasImage() || !thumbnail.hasCachedImage()) {
        return super.createToolTip();
    }
    final BufferedImage thumbnailImage = thumbnail.getImage(ProgressMonitor.NULL);

    BufferedImage img = new FixedSizeThumbnailMaker()
            .size(imgWidth*3, imgHeight*3)
            .keepAspectRatio(true)
            .fitWithinDimensions(true)
            .make(thumbnailImage);

    final JToolTip toolTip = new JToolTip() {
        {
            setLayout(new BorderLayout());
            add(new JLabel(new ImageIcon(img)));
        }
        public Dimension getPreferredSize() {
            return new Dimension(img.getWidth(), img.getHeight());
        }
    };
    return toolTip;
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:25,代码来源:ThumbnailPanel.java


示例18: reprojectProducts

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private void reprojectProducts(List<Product> allProducts, ProgressMonitor pm) {
    pm.beginTask("Reprojecting source products...", allProducts.size());
    try {
        for (Product product : allProducts) {
            if (pm.isCanceled()) {
                return;
            }
            if (!product.isCompatibleProduct(tsProduct, LAT_LON_EPSILON)) {
                HashMap<String, Product> productToBeReprojectedMap = new HashMap<>();
                productToBeReprojectedMap.put("source", product);
                productToBeReprojectedMap.put("collocateWith", tsProduct);
                final Product collocatedProduct = GPF.createProduct("Reproject", createProjectionParameters(), productToBeReprojectedMap);
                collocatedProduct.setStartTime(product.getStartTime());
                collocatedProduct.setEndTime(product.getEndTime());
                product = collocatedProduct;
            }
            productTimeMap.put(formatTimeString(product), product);
            pm.worked(1);
        }
    } finally {
        pm.done();
    }
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:24,代码来源:TimeSeriesImpl.java


示例19: reprojectSourceProducts

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
private void reprojectSourceProducts(ProgressMonitor pm) {
    final ProductLocationsPaneModel productLocationsModel = getAssistantModel().getProductLocationsModel();
    final List<ProductLocation> productLocations = productLocationsModel.getProductLocations();
    pm.beginTask("Reprojecting...", productLocations.size());
    for (ProductLocation productLocation : productLocations) {
        final Map<String, Product> products = productLocation.getProducts(ProgressMonitor.NULL);
        final Product crsReferenceProduct = getCrsReferenceProduct();
        for (Map.Entry<String, Product> productEntry : products.entrySet()) {
            final Product product = productEntry.getValue();
            if (!product.isCompatibleProduct(crsReferenceProduct, 0.1E-4f)) {
                Product reprojectedProduct = createProjectedProduct(product, crsReferenceProduct);
                productEntry.setValue(reprojectedProduct);
            }
        }
        pm.worked(1);
    }
    pm.done();
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:19,代码来源:TimeSeriesAssistantPage_ReprojectingSources.java


示例20: computeTile

import com.bc.ceres.core.ProgressMonitor; //导入依赖的package包/类
@Override
public void computeTile(Band targetBand, Tile targetTile, ProgressMonitor pm) throws OperatorException {
    final GeoCoding geoCoding = sourceProduct.getSceneGeoCoding();
    final Rectangle targetRect = targetTile.getRectangle();
    final Tile altitudeTile = getAltitudeTile(targetRect, sourceProduct, useDEM);
    final Band visibilityBand = visibilityProduct.getBand(ScapeMConstants.VISIBILITY_BAND_NAME);
    final Tile visibilityTile = getSourceTile(visibilityBand, targetRect);
    final double[][] hsurfArrayCell;

    pm.beginTask("Processing frame...", targetRect.height + 1);
    try {
        if (useDEM && altitudeTile == null) {
            hsurfArrayCell = ScapeMAlgorithm.getHsurfArrayCell(targetRect, geoCoding, elevationModel, scapeMLut);
        } else {
            hsurfArrayCell = ScapeMAlgorithm.getHsurfArrayCell(targetRect, geoCoding, altitudeTile, scapeMLut);
        }

        for (int y = targetRect.y; y < targetRect.y + targetRect.height; y++) {
            for (int x = targetRect.x; x < targetRect.x + targetRect.width; x++) {
                final double visibility = visibilityTile.getSampleDouble(x, y);
                if (visibility != ScapeMConstants.VISIBILITY_NODATA_VALUE) {
                    final double aot550 = ScapeMAlgorithm.getCellAot550(visibility,
                            hsurfArrayCell[x - targetRect.x][y - targetRect.y],
                            scapeMLut);
                    targetTile.setSample(x, y, aot550);
                } else {
                    targetTile.setSample(x, y, ScapeMConstants.AOT_NODATA_VALUE);
                }
            }
            pm.worked(1);
        }
    } catch (OperatorException e) {
        // todo
        e.printStackTrace();
    } finally {
        pm.done();
    }
}
 
开发者ID:senbox-org,项目名称:s3tbx-scape-m,代码行数:39,代码来源:ScapeMVis2AotOp.java



注:本文中的com.bc.ceres.core.ProgressMonitor类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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