it.geosolutions.jaiext.range.RangeFactory.convert()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(10.5k)|赞(0)|评价(0)|浏览(76)

本文整理了Java中it.geosolutions.jaiext.range.RangeFactory.convert方法的一些代码示例,展示了RangeFactory.convert的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RangeFactory.convert方法的具体详情如下:
包路径:it.geosolutions.jaiext.range.RangeFactory
类名称:RangeFactory
方法名:convert

RangeFactory.convert介绍

暂无

代码示例

代码示例来源:origin: geotools/geotools

/**
 * Method for creating the nodata range associated to each coverage
 *
 * @param cov
 * @param dataType
 * @return
 */
private Range createNoDataRange(GridCoverage2D cov, int dataType) {
  // Extract NoData property from gridCoverage
  NoDataContainer container = CoverageUtilities.getNoDataProperty(cov);
  if (container != null) {
    return container.getAsRange();
  }
  // No property set, use the input NoData Range
  double[] nodatas = CoverageUtilities.getBackgroundValues(cov);
  if (nodatas != null && nodatas.length > 0) {
    Range noData =
        RangeFactory.convert(RangeFactory.create(nodatas[0], nodatas[0]), dataType);
    return noData;
  }
  return null;
}

代码示例来源:origin: geotools/geotools

RangeFactory.convert(
      RangeFactory.create(
          range.getMin().doubleValue(),
RangeFactory.convert(
    RangeFactory.create(
        getClassMinimum(widestClass).doubleValue(),

代码示例来源:origin: geotools/geotools

/**
 * Formats the underlying image to the provided data type.
 *
 * @param dataType to be used for this {@link FormatDescriptor} operation.
 * @return this {@link ImageWorker}
 */
public final ImageWorker format(final int dataType) {
  ParameterBlock pb = new ParameterBlock();
  pb.setSource(image, 0); // The source image.
  pb.set(dataType, 0);
  image = JAI.create("Format", pb, getRenderingHints());
  setNoData(RangeFactory.convert(nodata, dataType));
  // All post conditions for this method contract.
  assert image.getSampleModel().getDataType() == dataType;
  return this;
}

代码示例来源:origin: geotools/geotools

setNoData(RangeFactory.convert(nodata, image.getSampleModel().getDataType()));
invalidateStatistics();
return this;

代码示例来源:origin: geotools/geotools

/**
 * If the was not already tiled, tile it. Note that no tiling will be done if
 * 'getRenderingHints()' failed to suggest a tile size. This method is for internal use by
 * {@link #write} methods only.
 *
 * @return this {@link ImageWorker}.
 */
public final ImageWorker tile() {
  final RenderingHints hints = getRenderingHints();
  final ImageLayout layout = getImageLayout(hints);
  if (layout.isValid(ImageLayout.TILE_WIDTH_MASK)
      || layout.isValid(ImageLayout.TILE_HEIGHT_MASK)) {
    final int type = image.getSampleModel().getDataType();
    // ParameterBlock definition
    ParameterBlock pb = new ParameterBlock();
    pb.setSource(image, 0); // The source image.
    pb.set(type, 0);
    image = JAI.create("Format", pb, hints);
    setNoData(RangeFactory.convert(nodata, type));
  }
  return this;
}

代码示例来源:origin: geotools/geotools

/** Performs Lookup on the underlying image */
public ImageWorker lookup(LookupTable table) {
  // ParameterBlock definition
  ParameterBlock pb = new ParameterBlock();
  pb.setSource(image, 0);
  pb.set(table, 0);
  pb.set(roi, 2);
  // Convert the NoData
  if (nodata != null) {
    nodata = RangeFactory.convert(nodata, image.getSampleModel().getDataType());
  }
  pb.set(nodata, 3);
  if (isNoDataNeeded()) {
    if (background != null && background.length > 0) {
      pb.set(background[0], 1);
    }
  }
  image = JAI.create("Lookup", pb, getRenderingHints());
  return this;
}

代码示例来源:origin: geotools/geotools

pb.set(DataBuffer.TYPE_BYTE, 0); // The destination image data type (BYTE)
image = JAI.create("Format", pb, hints);
setNoData(RangeFactory.convert(nodata, DataBuffer.TYPE_BYTE));

代码示例来源:origin: geotools/geotools

setNoData(RangeFactory.convert(nodata, type));

代码示例来源:origin: geotools/geotools

NoDataContainer noDataC = CoverageUtilities.getNoDataProperty(source);
Range noData =
    RangeFactory.convert(
        noDataC.getAsRange(), image.getSampleModel().getDataType());
CoverageUtilities.setNoDataProperty(properties, noData);

代码示例来源:origin: geotools/geotools

image = JAI.create("Format", pb, hints);
  setNoData(RangeFactory.convert(nodata, dataType));
} else {

代码示例来源:origin: it.geosolutions.jaiext.binarize/jt-binarize

/**
 * Creates a new instance of <code>BinarizeOpImage</code> in the rendered layer.
 * 
 * @param pb The source image and the input parameters.
 * @param hints Optionally contains destination image layout.
 */
public RenderedImage create(ParameterBlock pb, RenderingHints renderHints) {
  // Get ImageLayout from renderHints if any.
  ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
  // Getting source
  RenderedImage src = pb.getRenderedSource(0);
  // Getting parameters
  double threshold = pb.getDoubleParameter(0);
  ROI roi = (ROI) pb.getObjectParameter(1);
  Range nodata = (Range) pb.getObjectParameter(2);
  nodata = RangeFactory.convert(nodata, src.getSampleModel().getDataType());
  return new BinarizeOpImage(src, renderHints, layout, threshold, roi, nodata);
}

代码示例来源:origin: geosolutions-it/jai-ext

/**
 * Creates a new instance of <code>BinarizeOpImage</code> in the rendered layer.
 * 
 * @param pb The source image and the input parameters.
 * @param hints Optionally contains destination image layout.
 */
public RenderedImage create(ParameterBlock pb, RenderingHints renderHints) {
  // Get ImageLayout from renderHints if any.
  ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
  // Getting source
  RenderedImage src = pb.getRenderedSource(0);
  // Getting parameters
  double threshold = pb.getDoubleParameter(0);
  ROI roi = (ROI) pb.getObjectParameter(1);
  Range nodata = (Range) pb.getObjectParameter(2);
  nodata = RangeFactory.convert(nodata, src.getSampleModel().getDataType());
  return new BinarizeOpImage(src, renderHints, layout, threshold, roi, nodata);
}

代码示例来源:origin: geosolutions-it/jai-ext

@Test
public void testConvertFloatNaN() {
  Range nanDouble = RangeFactory.create(Double.NaN, Double.NaN);
  Range nanFloat = RangeFactory.convert(nanDouble, DataBuffer.TYPE_FLOAT);
  assertEquals(Float.NaN, nanFloat.getMin());
  assertEquals(Float.NaN, nanFloat.getMax());
}

代码示例来源:origin: geosolutions-it/jai-ext

@Test
  public void testConvertDoubleNaN() {
    Range nanFloat = RangeFactory.create(Float.NaN, Float.NaN);
    Range nanDouble = RangeFactory.convert(nanFloat, DataBuffer.TYPE_DOUBLE);
    assertEquals(Double.NaN, nanDouble.getMin());
    assertEquals(Double.NaN, nanDouble.getMax());
  }
}

代码示例来源:origin: geosolutions-it/jai-ext

@Override
public RenderedImage create(ParameterBlock pb, RenderingHints hints) {
  // Get ImageLayout from renderHints if present.
  ImageLayout layout = RIFUtil.getImageLayoutHint(hints);
  // Selection of the source
  RenderedImage source = pb.getRenderedSource(0);
  // Selection of the parameters
  double[] scales = (double[]) pb.getObjectParameter(0);
  double[] offsets = (double[]) pb.getObjectParameter(1);
  ROI roi = (ROI) pb.getObjectParameter(2);
  Range noData = (Range) pb.getObjectParameter(3);
  noData = RangeFactory.convert(noData, source.getSampleModel().getDataType());
  boolean useRoiAccessor = (Boolean) pb.getObjectParameter(4);
  double destinationNoData = pb.getDoubleParameter(5);
  // Creation of the new image
  return new RescaleOpImage(source, layout, hints, scales, offsets, destinationNoData, roi,
      noData, useRoiAccessor);
}

代码示例来源:origin: it.geosolutions.jaiext.lookup/jt-lookup

/**
   * Creates a new instance of <code>LookupOpImage</code>.
   * 
   * @param pb The operation parameters.
   * @param hints Image RenderingHints.
   */
  public RenderedImage create(ParameterBlock pb, RenderingHints renderHints) {
    // Get ImageLayout from renderHints if present.
    ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
    // Get the source image
    RenderedImage source = pb.getRenderedSource(0);
    // Get the image params
    LookupTable table = (LookupTable) pb.getObjectParameter(0);
    double destinationNoData = pb.getDoubleParameter(1);
    ROI roi = (ROI) pb.getObjectParameter(2);
    Range noData = (Range) pb.getObjectParameter(3);
    noData = RangeFactory.convert(noData, source.getSampleModel().getDataType());
    boolean useRoiAccessor = (Boolean) pb.getObjectParameter(4);
    // Creation of the lookup image
    return new LookupOpImage(source, layout, renderHints, table, destinationNoData, roi,
        noData, useRoiAccessor);
  }
}

代码示例来源:origin: it.geosolutions.jaiext.rescale/jt-rescale

@Override
public RenderedImage create(ParameterBlock pb, RenderingHints hints) {
  // Get ImageLayout from renderHints if present.
  ImageLayout layout = RIFUtil.getImageLayoutHint(hints);
  // Selection of the source
  RenderedImage source = pb.getRenderedSource(0);
  // Selection of the parameters
  double[] scales = (double[]) pb.getObjectParameter(0);
  double[] offsets = (double[]) pb.getObjectParameter(1);
  ROI roi = (ROI) pb.getObjectParameter(2);
  Range noData = (Range) pb.getObjectParameter(3);
  noData = RangeFactory.convert(noData, source.getSampleModel().getDataType());
  boolean useRoiAccessor = (Boolean) pb.getObjectParameter(4);
  double destinationNoData = pb.getDoubleParameter(5);
  // Creation of the new image
  return new RescaleOpImage(source, layout, hints, scales, offsets, destinationNoData, roi,
      noData, useRoiAccessor);
}

代码示例来源:origin: geosolutions-it/jai-ext

/**
   * Creates a new instance of <code>LookupOpImage</code>.
   * 
   * @param pb The operation parameters.
   * @param hints Image RenderingHints.
   */
  public RenderedImage create(ParameterBlock pb, RenderingHints renderHints) {
    // Get ImageLayout from renderHints if present.
    ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
    // Get the source image
    RenderedImage source = pb.getRenderedSource(0);
    // Get the image params
    LookupTable table = (LookupTable) pb.getObjectParameter(0);
    double destinationNoData = pb.getDoubleParameter(1);
    ROI roi = (ROI) pb.getObjectParameter(2);
    Range noData = (Range) pb.getObjectParameter(3);
    noData = RangeFactory.convert(noData, source.getSampleModel().getDataType());
    boolean useRoiAccessor = (Boolean) pb.getObjectParameter(4);
    // Creation of the lookup image
    return new LookupOpImage(source, layout, renderHints, table, destinationNoData, roi,
        noData, useRoiAccessor);
  }
}

代码示例来源:origin: geosolutions-it/jai-ext

private void checkRangeConversion(Range range, int targetType) {
  Range converted = RangeFactory.convert(range, targetType);
  assertEquals(converted.getMin().intValue(), 255);
  assertEquals(converted.getMax().intValue(), 255);
  assertTrue(converted.isMinIncluded);
  assertTrue(converted.isMaxIncluded);
  assertEquals(targetType, converted.getDataType().getDataType());
  if (range.getDataType().getDataType() == targetType) {
    assertSame(range, converted);
  } else {
    assertNotSame(range, converted);
  }
}

代码示例来源:origin: geosolutions-it/jai-ext

/**
   * Creates a new instance of <code>BorderOpImage</code> in the rendered layer.
   * 
   * @param args The source image and the border information
   * @param hints Optionally contains destination image layout.
   */
  public RenderedImage create(ParameterBlock pb, RenderingHints renderHints) {
    // Get ImageLayout from renderHints if any.
    ImageLayout layout = RIFUtil.getImageLayoutHint(renderHints);
    // Selection of the source
    RenderedImage source = pb.getRenderedSource(0);
    // Selection of the parameters
    int leftPad = pb.getIntParameter(0);
    int rightPad = pb.getIntParameter(1);
    int topPad = pb.getIntParameter(2);
    int bottomPad = pb.getIntParameter(3);
    BorderExtender type = (BorderExtender) pb.getObjectParameter(4);
    Range noData = (Range) pb.getObjectParameter(5);
    noData = RangeFactory.convert(noData, source.getSampleModel().getDataType());
    double destinationNoData = pb.getDoubleParameter(6);
    // Creation of the BorderOpImage instance
    return new BorderOpImage(source, renderHints, layout, leftPad, rightPad, topPad, bottomPad,
        type, noData, destinationNoData);

  }
}

相关文章