blob: 83d1d2d50b686994068652095c40d509352f6433 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (19) -->
<title>ImageCombiner (Apache SIS 1.3 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.sis.image, class: ImageCombiner">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.image.ImageCombiner class">
<meta name="keywords" content="getInterpolation()">
<meta name="keywords" content="setInterpolation()">
<meta name="keywords" content="getPositionalAccuracyHints()">
<meta name="keywords" content="setPositionalAccuracyHints()">
<meta name="keywords" content="accept()">
<meta name="keywords" content="resample()">
<meta name="keywords" content="result()">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ImageCombiner.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li>Field</li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.image</a></div>
<h1 title="Class ImageCombiner" class="title">Class ImageCombiner</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance">ImageCombiner</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">Rendered­Image</a>&gt;</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ImageCombiner</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">RenderedImage</a>&gt;</span></div>
<div class="block">Combines an arbitrary number of images into a single one.
The combined images may use different coordinate systems if a resampling operation is specified.
The workflow is as below:
<ol>
<li>Creates an <code>Image­Combiner</code> with the destination image where to write.</li>
<li>Configure with methods such as <a href="#setInterpolation(org.apache.sis.image.Interpolation)"><code>set­Interpolation(…)</code></a>.</li>
<li>Invoke <a href="#accept(java.awt.image.RenderedImage)"><code>accept(…)</code></a> or <a href="#resample(java.awt.image.RenderedImage,java.awt.Rectangle,org.opengis.referencing.operation.MathTransform)"><code>resample(…)</code></a>
methods for each image to combine.</li>
<li>Get the combined image with <a href="#result()"><code>result()</code></a>.</li>
</ol>
Images are combined in the order they are specified.
If the same pixel is written by many images, then the final value is the pixel of the last image specified.
In current implementation, the last pixel values win even if those pixels are transparent
(i.e. <code>Image­Combiner</code> does not yet handle alpha values).
<h2>Limitations</h2>
Current implementation does not try to map source bands to target bands for the same colors.
For example, it does not verify if band order needs to be reversed because an image is RGB and
the other image is BVR. It is caller responsibility to ensure that bands are in the same order.
<p>Current implementation does not expand the destination image for accommodating
any area of a given image that appear outside the destination image bounds.
Only the intersection of both images is used.</p></div>
<dl class="notes">
<dt>Since:</dt>
<dd>1.1</dd>
<p><font size="-1">Defined in the <code>sis-feature</code> module</font></p>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.awt.image.WritableRenderedImage)" class="member-name-link">Image­Combiner</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/WritableRenderedImage.html" title="class or interface in java.awt.image" class="external-link">Writable­Rendered­Image</a>&nbsp;destination)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates an image combiner which will write in the given image.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.awt.image.WritableRenderedImage,org.apache.sis.image.ImageProcessor)" class="member-name-link">Image­Combiner</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/WritableRenderedImage.html" title="class or interface in java.awt.image" class="external-link">Writable­Rendered­Image</a>&nbsp;destination,
<a href="ImageProcessor.html" title="class in org.apache.sis.image">Image­Processor</a>&nbsp;processor)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates an image combiner which will use the given processor for resampling operations.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#accept(java.awt.image.RenderedImage)" class="member-name-link">accept</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">Rendered­Image</a>&nbsp;source)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Writes the given image on top of destination image.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Interpolation.html" title="class in org.apache.sis.image">Interpolation</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInterpolation()" class="member-name-link">get­Interpolation</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the interpolation method to use during resample operations.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html" title="class or interface in javax.measure" class="external-link">Quantity</a>&lt;?&gt;[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPositionalAccuracyHints()" class="member-name-link">get­Positional­Accuracy­Hints</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns hints about the desired positional accuracy, in "real world" units or in pixel units.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resample(java.awt.image.RenderedImage,java.awt.Rectangle,org.opengis.referencing.operation.MathTransform)" class="member-name-link">resample</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">Rendered­Image</a>&nbsp;source,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/Rectangle.html" title="class or interface in java.awt" class="external-link">Rectangle</a>&nbsp;bounds,
<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/MathTransform.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Math­Transform</a>&nbsp;to­Source)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Combines the result of resampling the given image.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">Rendered­Image</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#result()" class="member-name-link">result</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the combination of destination image with all images specified to <code>Image­Combiner</code> methods.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setInterpolation(org.apache.sis.image.Interpolation)" class="member-name-link">set­Interpolation</a><wbr>(<a href="Interpolation.html" title="class in org.apache.sis.image">Interpolation</a>&nbsp;method)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the interpolation method to use during resample operations.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setPositionalAccuracyHints(javax.measure.Quantity...)" class="member-name-link">set­Positional­Accuracy­Hints</a><wbr>(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html" title="class or interface in javax.measure" class="external-link">Quantity</a>&lt;?&gt;...&nbsp;hints)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets hints about desired positional accuracy, in "real world" units or in pixel units.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">get­Class</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hash­Code</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notify­All</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">to­String</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Consumer">Methods inherited from interface&nbsp;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Consumer.html#andThen(java.util.function.Consumer)" title="class or interface in java.util.function" class="external-link">and­Then</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(java.awt.image.WritableRenderedImage)">
<h3>ImageCombiner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ImageCombiner</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/WritableRenderedImage.html" title="class or interface in java.awt.image" class="external-link">WritableRenderedImage</a>&nbsp;destination)</span></div>
<div class="block">Creates an image combiner which will write in the given image. That image is not cleared;
pixels that are not overwritten by calls to the <code>accept(…)</code> or <code>resample(…)</code>
methods will be left unchanged.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>destination</code> - the image where to combine images.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(java.awt.image.WritableRenderedImage,org.apache.sis.image.ImageProcessor)">
<h3>ImageCombiner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ImageCombiner</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/WritableRenderedImage.html" title="class or interface in java.awt.image" class="external-link">WritableRenderedImage</a>&nbsp;destination,
<a href="ImageProcessor.html" title="class in org.apache.sis.image">ImageProcessor</a>&nbsp;processor)</span></div>
<div class="block">Creates an image combiner which will use the given processor for resampling operations.
The given destination image is not cleared; pixels that are not overwritten by calls to
the <code>accept(…)</code> or <code>resample(…)</code> methods will be left unchanged.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>destination</code> - the image where to combine images.</dd>
<dd><code>processor</code> - the processor to use for resampling operations.</dd>
<dt>Since:</dt>
<dd>1.2</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getInterpolation()">
<h3>getInterpolation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Interpolation.html" title="class in org.apache.sis.image">Interpolation</a></span>&nbsp;<span class="element-name">getInterpolation</span>()</div>
<div class="block">Returns the interpolation method to use during resample operations.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>interpolation method to use during resample operations.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#resample(java.awt.image.RenderedImage,java.awt.Rectangle,org.opengis.referencing.operation.MathTransform)"><code>resample(Rendered­Image, Rectangle, Math­Transform)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setInterpolation(org.apache.sis.image.Interpolation)">
<h3>setInterpolation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setInterpolation</span><wbr><span class="parameters">(<a href="Interpolation.html" title="class in org.apache.sis.image">Interpolation</a>&nbsp;method)</span></div>
<div class="block">Sets the interpolation method to use during resample operations.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>method</code> - interpolation method to use during resample operations.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#resample(java.awt.image.RenderedImage,java.awt.Rectangle,org.opengis.referencing.operation.MathTransform)"><code>resample(Rendered­Image, Rectangle, Math­Transform)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPositionalAccuracyHints()">
<h3>getPositionalAccuracyHints</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html" title="class or interface in javax.measure" class="external-link">Quantity</a>&lt;?&gt;[]</span>&nbsp;<span class="element-name">getPositionalAccuracyHints</span>()</div>
<div class="block">Returns hints about the desired positional accuracy, in "real world" units or in pixel units.
If the returned array is non-empty and contains accuracies large enough,
<code>Image­Combiner</code> may use some slightly faster algorithms at the expense of accuracy.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>desired accuracy in no particular order, or an empty array if none.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="ImageProcessor.html#getPositionalAccuracyHints()"><code>Image­Processor​.get­Positional­Accuracy­Hints()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setPositionalAccuracyHints(javax.measure.Quantity...)">
<h3>setPositionalAccuracyHints</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setPositionalAccuracyHints</span><wbr><span class="parameters">(<a href="http://unitsofmeasurement.github.io/unit-api/site/apidocs/javax/measure/Quantity.html" title="class or interface in javax.measure" class="external-link">Quantity</a>&lt;?&gt;...&nbsp;hints)</span></div>
<div class="block">Sets hints about desired positional accuracy, in "real world" units or in pixel units.
Accuracy can be specified in real world units such as <a href="../measure/Units.html#METRE">metres</a>
or in <a href="../measure/Units.html#PIXEL">pixel units</a>, which are converted to real world units depending
on image resolution. If more than one value is applicable to a dimension
(after unit conversion if needed), the smallest value is taken.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>hints</code> - desired accuracy in no particular order, or a <code>null</code> array if none.
Null elements in the array are ignored.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="ImageProcessor.html#setPositionalAccuracyHints(javax.measure.Quantity...)"><code>Image­Processor​.set­Positional­Accuracy­Hints(Quantity...)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="accept(java.awt.image.RenderedImage)">
<h3>accept</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">accept</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">RenderedImage</a>&nbsp;source)</span></div>
<div class="block">Writes the given image on top of destination image. The given source image shall use the same pixel
coordinate system than the destination image (but not necessarily the same tile indices).
For every (<var>x</var>,<var>y</var>) pixel coordinates in the destination image:
<ul>
<li>If (<var>x</var>,<var>y</var>) are valid <code>source</code> pixel coordinates,
then the source pixel values overwrite the destination pixel values.</li>
<li>Otherwise the destination pixel is left unchanged.</li>
</ul>
Note that source pixels overwrite destination pixels even if they are transparent
(i.e. <code>Image­Combiner</code> does not yet handle alpha values).</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Consumer.html#accept(T)" title="class or interface in java.util.function" class="external-link">accept</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a>&lt;<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">Rendered­Image</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>source</code> - the image to write on top of destination image.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="resample(java.awt.image.RenderedImage,java.awt.Rectangle,org.opengis.referencing.operation.MathTransform)">
<h3>resample</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">resample</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">RenderedImage</a>&nbsp;source,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/Rectangle.html" title="class or interface in java.awt" class="external-link">Rectangle</a>&nbsp;bounds,
<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/MathTransform.html" title="class or interface in org.opengis.referencing.operation" class="external-link">MathTransform</a>&nbsp;toSource)</span></div>
<div class="block">Combines the result of resampling the given image. The resampling operation is defined by a potentially
non-linear transform from the <em>destination</em> image to the specified <em>source</em> image.
That transform should map <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/datum/PixelInCell.html#CELL_CENTER" title="class or interface in org.opengis.referencing.datum" class="external-link">pixel centers</a>.
<h4>Properties used</h4>
This operation uses the following properties in addition to method parameters:
<ul>
<li><a href="#getInterpolation()">Interpolation method</a> (nearest neighbor, bilinear, <i>etc</i>).</li>
<li><a href="#getPositionalAccuracyHints()">Positional accuracy hints</a>
for enabling faster resampling at the cost of lower precision.</li>
</ul>
Contrarily to <a href="ImageProcessor.html" title="class in org.apache.sis.image"><code>Image­Processor</code></a>, this method does not use <a href="ImageProcessor.html#getFillValues()">fill values</a>.
Destination pixels that cannot be mapped to source pixels are left unchanged.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>source</code> - the image to be resampled.</dd>
<dd><code>bounds</code> - domain of pixel coordinates in the destination image, or <code>null</code> for the whole image.</dd>
<dd><code>to­Source</code> - conversion of pixel coordinates from destination image to <code>source</code> image.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="ImageProcessor.html#resample(java.awt.image.RenderedImage,java.awt.Rectangle,org.opengis.referencing.operation.MathTransform)"><code>Image­Processor​.resample(Rendered­Image, Rectangle, Math­Transform)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="result()">
<h3>result</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/image/RenderedImage.html" title="class or interface in java.awt.image" class="external-link">RenderedImage</a></span>&nbsp;<span class="element-name">result</span>()</div>
<div class="block">Returns the combination of destination image with all images specified to <code>Image­Combiner</code> methods.
This may be the destination image specified at construction time, but may also be a larger image if the
destination has been dynamically expanded for accommodating larger sources.
<p><b>Note:</b> dynamic expansion is not yet implemented in current version.
If a future version implements it, we shall guarantee that the coordinate of each pixel is unchanged
(i.e. the image <code>min­X</code> and <code>min­Y</code> may become negative, but the pixel identified by
coordinates (0,0) for instance will stay the same pixel.)</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the combination of destination image with all source images.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2010&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>