<h2>org.das2.qds.SemanticOps</h2><p>Common expressions that apply semantics to QDataSet.  Introduced
 to reduce a lot of repeated code, but also to make it clear where semantics
 are being applied.</p>
<hr>
<a name="bounds"></a>
<h2>bounds</h2>
bounds( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the bounds DS[ JOIN_0=x,y; BINS_1=min,maxInclusive ] of the datasets
 independent parameters.  This is only implemented for:
 <table summary="">
   <tr><td>rank 2 Tables</td><td>extent(X),extent(Y) and Z is not represented</td></tr>
   <tr><td>rank 3 array of tables</td><td>extent(X),extent(Y) and Z is not represented</td></tr>
   <tr><td>rank 1 Y(X)</td><td>extent(X),extent(Y)</td></tr>
   <tr><td>not for rank 2 bundle dataset</td></tr>
   <tr><td>not for rank 1 bundle dataset</td></tr>
 </table>
 The zeroth dimension will be the physical dimension of the DEPEND_0 values.  Or said another way:
 <table summary="">
   <tr><td>bounds[0,0]= X min</td><td>bounds[0,1] = X max</td><td>bounds.slice(0) is the extent of X<td></tr>
   <tr><td>bounds[1,0]= Y min</td><td>bounds[1,1] = Y max</td><td>bounds.slice(1) is the extent of Y<td></tr>
 </table></p>

<h3>Parameters</h3>
ds - rank 2 dataset with BINS_1="min,maxInclusive"

<h3>Returns:</h3>
a QDataSet

<br><br>
<a href="https://github.com/autoplot/dev/search?q=bounds&unscoped_q=bounds">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#bounds">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l622">[view source]</a>
<br>
<br>
<hr>
<a name="cadenceCheck"></a>
<h2>cadenceCheck</h2>
cadenceCheck( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> tds, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return a dataset with 1's where the cadence preceeding this measurement is acceptable, and 0's where
 there should be a break in the data.  For example, here's some pseudocode:
<blockquote><pre>
   findex= Ops.interpolate( xds, x )
   cadenceCheck= cadenceCheck(xds)
   r= where( cadenceCheck[floor(findex)] eq 0 )
   x[r]= fill
</pre></blockquote>
 Presently this just uses guessXTagWidth to get the cadence, but this may allow a future version to support
 mode changes.

 The result is a dataset with the same length, and the zeroth element is always 1.</p>

<h3>Parameters</h3>
tds - rank 1 dataset of length N.
<br>
ds - dataset dependent on tds and used to detect valid measurements, or null.

<h3>Returns:</h3>
dataset with length N
<h3>See Also:</h3>
<a href='Ops.html#valid which checks for fill and valid_min, valid_max.'>Ops#valid which checks for fill and valid_min, valid_max.</a> which checks for fill and valid_min, valid_max.<br>
<br><br>
<a href="https://github.com/autoplot/dev/search?q=cadenceCheck&unscoped_q=cadenceCheck">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#cadenceCheck">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l1019">[view source]</a>
<br>
<br>
<hr>
<a name="checkPropertyType"></a>
<h2>checkPropertyType</h2>
checkPropertyType( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> prop, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html'>Object</a> value, boolean throwException ) &rarr; boolean

<p>verify property types.  For example, that UNITS is a org.das2.datum.Units, etc.
 Returns true for unrecognized property names (future expansion) and null.  If 
 throwException is true, then an IllegalArgumentException is thrown.</p>

<h3>Parameters</h3>
prop - the property name, e.g. QDataSet.CADENCE
<br>
value - the candidate value for the property.
<br>
throwException - if true, throw descriptive exception instead of returning false.

<h3>Returns:</h3>
true if the property type is okay.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=checkPropertyType&unscoped_q=checkPropertyType">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#checkPropertyType">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l1073">[view source]</a>
<br>
<br>
<hr>
<a name="doubleValue"></a>
<h2>doubleValue</h2>
doubleValue( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Number.html'>Number</a> value ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html'>Double</a>

<p>returns the Double value of the number, preserving null and NaN.</p>

<h3>Parameters</h3>
value - a Number

<h3>Returns:</h3>
a Double

<br><br>
<a href="https://github.com/autoplot/dev/search?q=doubleValue&unscoped_q=doubleValue">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#doubleValue">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l755">[view source]</a>
<br>
<br>
<hr>
<a name="getComponentLabels"></a>
<h2>getComponentLabels</h2>
getComponentLabels( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>

<p>return the labels for a dataset using BUNDLE_1 and DEPEND_1.  If BUNDLE_1 is defined and contains a LABEL,
 then it is used, otherwise a string value of the data is used, supporting legacy bundles, and if no DEPEND_1 is found
 then use the NAME properties from the bundle, or "ch_<em>i</em>" for each channel.</p>

<h3>Parameters</h3>
ds - the dataset, with a BUNDLE_1 or DEPEND_1 dimension which could be used.

<h3>Returns:</h3>
labels for each bundled dataset.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getComponentLabels&unscoped_q=getComponentLabels">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getComponentLabels">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l163">[view source]</a>
<br>
<br>
<hr>
<a name="getComponentNames"></a>
<h2>getComponentNames</h2>
getComponentNames( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>

<p>return the labels for a bundle dataset.  For a rank 2 bundle, this
 will be found in BUNDLE_1, or legacy ones may have nominal data for DEPEND_1.
 For a rank 1 bundle this will be BUNDLE_0.</p>

<h3>Parameters</h3>
ds - rank 1 or rank 2 bundle.

<h3>Returns:</h3>
the column names.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getComponentNames&unscoped_q=getComponentNames">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getComponentNames">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l103">[view source]</a>
<br>
<br>
<hr>
<a name="getDatum"></a>
<h2>getDatum</h2>
getDatum( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds, double d ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Datum.html'>Datum</a>

<p>returns the value as a datum.  Note this should be used with reservation,
 this is not very efficient when the operation is done many times.</p>

<h3>Parameters</h3>
ds - dataset providing the UNITS and VALID_MIN, VALID_MAX and FILL_VALUE.
<br>
d - the double.

<h3>Returns:</h3>
a datum representing the value.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getDatum&unscoped_q=getDatum">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getDatum">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l767">[view source]</a>
<br>
<br>
<hr>
<a name="getDependentDataSet"></a>
<h2>getDependentDataSet</h2>
getDependentDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the dataset that is dependent on others.  For a bundle, we
 use DataSetOps.unbundleDefaultDataSet</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a QDataSet

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getDependentDataSet&unscoped_q=getDependentDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getDependentDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l588">[view source]</a>
<br>
<br>
<hr>
<a name="getLooseUnitsConverter"></a>
<h2>getLooseUnitsConverter</h2>
getLooseUnitsConverter( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> src, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> dst ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/UnitsConverter.html'>org.das2.datum.UnitsConverter</a>

<p>returns the UnitsConverter, or IDENTITY if the converter cannot be found
 and one of the two units is dimensionless.</p>

<h3>Parameters</h3>
src - the dataset from which we get the original units.
<br>
dst - the dataset from which we get the destination units.

<h3>Returns:</h3>
the UnitsConverter
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getLooseUnitsConverter&unscoped_q=getLooseUnitsConverter">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getLooseUnitsConverter">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l78">[view source]</a>
<br>
<br>
<hr>
<a name="getPlanarView"></a>
<h2>getPlanarView</h2>
getPlanarView( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> name ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>returns the plane requested by name, or null if it does not exist.
 If the name is PLANE_i, then return PLANE_i, otherwise return
 the dataset with this name.
 Note QDataSet has the rule that if PLANE_i is null, then all PLANE_(i+1)
 must also be null.</p>

<h3>Parameters</h3>
ds - a QDataSet
<br>
name - a String

<h3>Returns:</h3>
a QDataSet

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getPlanarView&unscoped_q=getPlanarView">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getPlanarView">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l392">[view source]</a>
<br>
<br>
<hr>
<a name="getPropertyType"></a>
<h2>getPropertyType</h2>
getPropertyType( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> prop ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a>

<p>return the property type expected for the property.</p>

<h3>Parameters</h3>
prop - a String

<h3>Returns:</h3>
QDataSet, String, Number, Units, or CacheTag
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getPropertyType&unscoped_q=getPropertyType">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getPropertyType">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l1101">[view source]</a>
<br>
<br>
<hr>
<a name="getSimpleTableContaining"></a>
<h2>getSimpleTableContaining</h2>
getSimpleTableContaining( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> tds, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Datum.html'>Datum</a> x, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Datum.html'>Datum</a> y ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the first table of the bundle containing x and y</p>

<h3>Parameters</h3>
tds - a QDataSet
<br>
x - a Datum
<br>
y - a Datum

<h3>Returns:</h3>
a QDataSet

<br><br>
<a href="https://github.com/autoplot/dev/search?q=getSimpleTableContaining&unscoped_q=getSimpleTableContaining">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getSimpleTableContaining">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l561">[view source]</a>
<br>
<br>
<hr>
<a name="getUnits"></a>
<h2>getUnits</h2>
getUnits( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Units.html'>Units</a>

<p>returns the units found in the UNITS property of the dataset,
 or Units.dimensionless if it is not found.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
the units found in the dataset, or Units.dimensionless.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getUnits&unscoped_q=getUnits">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getUnits">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l46">[view source]</a>
<br>
<br>
<hr>
<a name="getUnitsConverter"></a>
<h2>getUnitsConverter</h2>
getUnitsConverter( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> src, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> dst ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/UnitsConverter.html'>org.das2.datum.UnitsConverter</a>

<p>return the UnitsConverter that will convert data from src to the units of dst.</p>

<h3>Parameters</h3>
src - the dataset from which we get the original units.
<br>
dst - the dataset from which we get the destination units.

<h3>Returns:</h3>
the UnitsConverter
<br><br>
<a href="https://github.com/autoplot/dev/search?q=getUnitsConverter&unscoped_q=getUnitsConverter">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#getUnitsConverter">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l64">[view source]</a>
<br>
<br>
<hr>
<a name="guessXTagWidth"></a>
<h2>guessXTagWidth</h2>
guessXTagWidth( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> yds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Datum.html'>Datum</a>

<p>return a reasonable tag width to use, or null if one cannot be
 guessed.</p>

<h3>Parameters</h3>
ds - the dataset containing data with a cadence.
<br>
yds - null or a dataset that may contain fill.

<h3>Returns:</h3>
a Datum

<br><br>
<a href="https://github.com/autoplot/dev/search?q=guessXTagWidth&unscoped_q=guessXTagWidth">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#guessXTagWidth">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l442">[view source]</a>
<br>
<br>
<hr>
<a name="isBins"></a>
<h2>isBins</h2>
isBins( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>Test for bins scheme, where BINS_1 (or BINS_0) is set.  
 This is where a two-element index is min, max.
 Note the BINS dimension must be the last index of the QDataSet.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isBins&unscoped_q=isBins">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isBins">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l356">[view source]</a>
<br>
<br>
<hr>
<a name="isBundle"></a>
<h2>isBundle</h2>
isBundle( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>Test for bundle scheme.  Returns true if the BUNDLE_1 is set.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
true if the dataset is a bundle
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isBundle&unscoped_q=isBundle">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isBundle">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l287">[view source]</a>
<br>
<br>
<hr>
<a name="isJoin"></a>
<h2>isJoin</h2>
isJoin( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the dataset is rank 2 or greater with the first dimension a join dimension.
 Note this does not return true for implicit joins, where JOIN_0 is not set.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isJoin&unscoped_q=isJoin">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isJoin">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l378">[view source]</a>
<br>
<br>
<hr>
<a name="isLegacyBundle"></a>
<h2>isLegacyBundle</h2>
isLegacyBundle( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> zds ) &rarr; boolean

<p>See Ops.isLegacyBundle</p>

<h3>Parameters</h3>
zds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isLegacyBundle&unscoped_q=isLegacyBundle">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isLegacyBundle">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l337">[view source]</a>
<br>
<br>
<hr>
<a name="isMonotonic"></a>
<h2>isMonotonic</h2>
isMonotonic( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the dataset indicates that it is monotonically
 increasing.  See DataSetUtil.isMonotonic.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isMonotonic&unscoped_q=isMonotonic">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isMonotonic">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l368">[view source]</a>
<br>
<br>
<hr>
<a name="isRank1Bundle"></a>
<h2>isRank1Bundle</h2>
isRank1Bundle( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the rank 1 dataset is a bundle of rank 0 datasets, or 
 where DEPEND_0 is a labels dataset.</p>

<h3>Parameters</h3>
ds - a dataset

<h3>Returns:</h3>
if rank 1 bundle or rank 1 having labels dataset for DEPEND_0.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=isRank1Bundle&unscoped_q=isRank1Bundle">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isRank1Bundle">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l270">[view source]</a>
<br>
<br>
<hr>
<a name="isRank2Waveform"></a>
<h2>isRank2Waveform</h2>
isRank2Waveform( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> fillDs ) &rarr; boolean

<p>Test for rank 2 waveform dataset, where DEPEND_1 is offset from DEPEND_0, 
 and the data is the waveform.  Other rules include:<ul>
 <li> DEPEND_1 must be at least 128 elements long.
 <li> DEPEND_1 must not be dimensionless.
 <li> if DEPEND_1 is in the same units as DEPEND_0, then DEPEND_0 can be ignored.</p>

<h3>Parameters</h3>
fillDs - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isRank2Waveform&unscoped_q=isRank2Waveform">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isRank2Waveform">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l300">[view source]</a>
<br>
<br>
<hr>
<a name="isRank3JoinOfRank2Waveform"></a>
<h2>isRank3JoinOfRank2Waveform</h2>
isRank3JoinOfRank2Waveform( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>Test for rank 3 dataset that is a join of rank 2 waveform datasets.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isRank3JoinOfRank2Waveform&unscoped_q=isRank3JoinOfRank2Waveform">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isRank3JoinOfRank2Waveform">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l328">[view source]</a>
<br>
<br>
<hr>
<a name="isSimpleBundleDataSet"></a>
<h2>isSimpleBundleDataSet</h2>
isSimpleBundleDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the dataset is a bundle of rank 1 datasets.  If no
 dependence is declared, it is assumed that the first one or two datasets
 are the independent datasets, and the last is the dependent. 
<blockquote><pre>
    X,Y   -->  Y(X)
    X,Y,Z -->  Z(X,Y)
</pre></blockquote></p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isSimpleBundleDataSet&unscoped_q=isSimpleBundleDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isSimpleBundleDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l731">[view source]</a>
<br>
<br>
<hr>
<a name="isSimpleTableDataSet"></a>
<h2>isSimpleTableDataSet</h2>
isSimpleTableDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the dataset is the scheme of a legacy TableDataSet
 with only one table.  Note "Tables" have just one X unit and one Y unit,
 no bundles.
 Consider: rule about "duck typing": rules like !Ops.isBundle break this
  because it requires to be a simpleTable, you cannot be a bundle.  LANL
  rich ASCII allows datasets to be both bundles and simple tables.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isSimpleTableDataSet&unscoped_q=isSimpleTableDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isSimpleTableDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l712">[view source]</a>
<br>
<br>
<hr>
<a name="isTableDataSet"></a>
<h2>isTableDataSet</h2>
isTableDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the dataset is the scheme of a legacy TableDataSet</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isTableDataSet&unscoped_q=isTableDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isTableDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l688">[view source]</a>
<br>
<br>
<hr>
<a name="isTimeSeries"></a>
<h2>isTimeSeries</h2>
isTimeSeries( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>returns true if the dataset is a time series.  This is either something that has DEPEND_0 as a dataset with time
 location units, or a join of other datasets that are time series.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isTimeSeries&unscoped_q=isTimeSeries">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isTimeSeries">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l741">[view source]</a>
<br>
<br>
<hr>
<a name="isYXT"></a>
<h2>isYXT</h2>
isYXT( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; boolean

<p>YXT is a dataset where T &rarr; X &rarr; Y.  This pattern comes up all the time
 and we need to identify it.  Ideally the data would be represented as T &rarr (X;Y).</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a boolean

<br><br>
<a href="https://github.com/autoplot/dev/search?q=isYXT&unscoped_q=isYXT">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#isYXT">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l971">[view source]</a>
<br>
<br>
<hr>
<a name="lookupTimeLengthUnit"></a>
<h2><del>lookupTimeLengthUnit</del></h2>
Deprecated: use Units.lookupTimeLengthUnit
<hr>
<a name="lookupTimeUnits"></a>
<h2><del>lookupTimeUnits</del></h2>
Deprecated: use Units.lookupTimeUnits
lookupTimeUnits( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Datum.html'>Datum</a> base, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Units.html'>Units</a> offsetUnits ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/Units.html'>Units</a><br>
<hr>
<a name="lookupUnits"></a>
<h2><del>lookupUnits</del></h2>
Deprecated: use Units.lookupUnits
<hr>
<a name="trim"></a>
<h2>trim</h2>
trim( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a> xrange, <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/datum/DatumRange.html'>DatumRange</a> yrange ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the parts of the dataset within the bounds.  This assumes how
 the data is visualized, so for example see SemanticOps.xtagsDataSet 
 for which dimensions correspond to x and y.</p>

<h3>Parameters</h3>
ds - the rank 1 or more dataset, including joins.
<br>
xrange - the range or null if no trimming should be done
<br>
yrange - the range or null if no trimming should be done

<h3>Returns:</h3>
the trimmed dataset.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=trim&unscoped_q=trim">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#trim">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l787">[view source]</a>
<br>
<br>
<hr>
<a name="weightsDataSet"></a>
<h2>weightsDataSet</h2>
weightsDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the weights dataset, possibly creating one based on VALID_MIN
 VALID_MAX and FILL_VALUE properties.  The weights dataset will have
 value zero where the data is invalid, and a non-zero weight where it is
 valid.  DataSets may also contain a weights table with relative weights,
 but this is not uniformly supported.  
 Note: this uses QDataSet.WEIGHTS_PLANE
 Note: calls org.das2.qds.DataSetUtil.weightsDataSet.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
QDataSet with same geometry containing zeros and non-zeros.
<h3>See Also:</h3>
<a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/ops/Ops.html#valid which is equivalent'>org.das2.qds.ops.Ops#valid which is equivalent</a> which is equivalent<br>
<a href='#cadenceCheck which detects for gaps in cadence.'>cadenceCheck which detects for gaps in cadence.</a> which detects for gaps in cadence.<br>
<br><br>
<a href="https://github.com/autoplot/dev/search?q=weightsDataSet&unscoped_q=weightsDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#weightsDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l431">[view source]</a>
<br>
<br>
<hr>
<a name="xtagsDataSet"></a>
<h2>xtagsDataSet</h2>
xtagsDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the dataset containing the x tags for the dataset.  This
 is QDataSet.DEPEND_0, or if that's null then IndexGenDataSet(ds.length).
 For a bundle, this is just the 0th dataset.  
 For a join, this is a join of the xtags datasets of each dataset.</p>

<h3>Parameters</h3>
ds - a QDataSet

<h3>Returns:</h3>
a QDataSet

<br><br>
<a href="https://github.com/autoplot/dev/search?q=xtagsDataSet&unscoped_q=xtagsDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#xtagsDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l455">[view source]</a>
<br>
<br>
<hr>
<a name="ytagsDataSet"></a>
<h2>ytagsDataSet</h2>
ytagsDataSet( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>return the ytags for the simple table that is ds.<ul>
   <li>rank 2 spectrogram: Z[X,Y] &rarr; Y
   <li>bundle_1: ds[ :, [x,y,z] ] &rarr; y
   <li>[x,y,z] &rarr; y
 </ul>
 TODO: consider that these break duck typing goal, and really need a scheme
   to tell it how to get the dataset.</p>

<h3>Parameters</h3>
ds - the dataset

<h3>Returns:</h3>
the ytags
<br><br>
<a href="https://github.com/autoplot/dev/search?q=ytagsDataSet&unscoped_q=ytagsDataSet">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#ytagsDataSet">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l492">[view source]</a>
<br>
<br>
<hr>
<a name="yxt"></a>
<h2>yxt</h2>
yxt(  ) &rarr; <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a>

<p>YXT is a dataset where T &rarr; X &rarr; Y.  This pattern comes up all the time
 and we need to identify it.  Ideally the data would be represented as T &rarr (X;Y).</p>

<h3>Returns:</h3>
a dataset with this form.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=yxt&unscoped_q=yxt">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/SemanticOps.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/SemanticOps.html#yxt">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/SemanticOps.java#l991">[view source]</a>
<br>
<br>