<h2>org.das2.qds.QubeDataSetIterator</h2><p>DataSetIterator implementation that can be used for all dataset (not just qubes).  
 Originally this only worked for QDataSets that were qubes, or datasets that 
 had the same dataset geometry for each slice.  At some point this was 
 modified to work with any dataset but the name remains.
 
 DataSetIterators are intended to work with multiple datasets at once.  For example,
 if we want to add the data from two datasets together, we would create one 
 iterator that would be used to access both datasets.  One dataset is provided
 to the constructor, but any dataset of the same geometry can be passed to the
 getValue method.
 
 TODO: This does not work for Rank 0 datasets.  See
 sftp://klunk.physics.uiowa.edu/home/jbf/project/autoplot/script/demos/jeremy/qubeDataSetIteratorForNonQubes.jy</p>
<h2>QubeDataSetIterator( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds )</h2>
<p>dataset iterator to help in implementing the complex indexing
 types of python.  Each of the dimensions is set to iterate over all
 indices (e.g ds[:,:,:])
 
 Client codes should create a new iterator, set the index iterator factories, then iterate.</p>

<hr>
<a name="checkValidIndexList"></a>
<h2>checkValidIndexList</h2>
checkValidIndexList( <a href='http://www-pw.physics.uiowa.edu/~jbf/autoplot/doc/org/das2/qds/QDataSet.html'>QDataSet</a> ds, int indexSize ) &rarr; void

<p></p>

<h3>Parameters</h3>
ds - a QDataSet
<br>
indexSize - an int

<h3>Returns:</h3>
void (returns nothing)

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

<p>return a dataset that will have the same geometry at the
 dataset implied by each dimension iterator.  This is
 introduced to encapsulate this dangerous code to here where it could
 be done correctly.  Right now this assumes QUBES.

 Do not pass the result of this into the putValue of this iterator,
 the result should have its own iterator.

 20101006 jbf: copy dimensional metadata DEPEND_0, etc where possible
 20120718 jbf: bugfix with ds[7,16,4,:]. Support BINS.</p>

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

<p>return the current line in the Jython script as &lt;filename&gt;:&lt;linenum&gt;
 or ??? if this cannot be done.  Note calls to this will collect a stack
 trace and will affect performance.</p>

<h3>Returns:</h3>
the current line or ???
<h3>See Also:</h3>
<a href='null'>JythonOps#currentLine()</a> <br>
<br><br>
<a href="https://github.com/autoplot/dev/search?q=currentJythonLine&unscoped_q=currentJythonLine">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/QubeDataSetIterator.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/QubeDataSetIterator.html#currentJythonLine">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/QubeDataSetIterator.java#l240">[view source]</a>
<br>
<br>
<hr>
<a name="getRank0Value"></a>
<h2>getRank0Value</h2>
getRank0Value( <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></p>

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

<h3>Returns:</h3>
org.das2.qds.QDataSet

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

<p></p>

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

<h3>Returns:</h3>
double

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

<p>true if there are more values.</p>

<h3>Returns:</h3>
true if there are more values.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=hasNext&unscoped_q=hasNext">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/das2/qds/QubeDataSetIterator.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/das2/qds/QubeDataSetIterator.html#hasNext">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/QDataSet/src/org/das2/qds/QubeDataSetIterator.java#l667">[view source]</a>
<br>
<br>
<hr>
<a name="index"></a>
<h2>index</h2>
index( int dim ) &rarr; int

<p></p>

<h3>Parameters</h3>
dim - an int

<h3>Returns:</h3>
int

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

<p></p>

<h3>Parameters</h3>
dim - an int

<h3>Returns:</h3>
int

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

<p>advance to the next index.  getValue(ds) will return the value of the
 dataset at this index.</p>

<h3>Returns:</h3>
void (returns nothing)

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

<p></p>

<h3>Parameters</h3>
ds - a WritableDataSet
<br>
vds - a QDataSet

<h3>Returns:</h3>
void (returns nothing)

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

<p></p>

<h3>Parameters</h3>
ds - a WritableDataSet
<br>
v - a double

<h3>Returns:</h3>
void (returns nothing)

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

<p></p>

<h3>Returns:</h3>
int

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

<p>reinitializes the iterator.</p>

<h3>Parameters</h3>
dim - the dimension index (0,...,rank-1)
<br>
fit - the iterator factory to use for the index.

<h3>Returns:</h3>
void (returns nothing)

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

<p>convenient method for monitoring long processes, this allows
 clients to let the iterator manage the monitor.  setTaskSize, 
 started, setTaskProgress, and finished are called automatically.  
 The monitor will reflect the zeroth index.</p>

<h3>Parameters</h3>
mon - the monitor, or null.

<h3>Returns:</h3>
void (returns nothing)

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

<p>return an iterator for the slice of a dataset (on the 0th index).  
 This is introduced to improve performance by reducing the number of 
 bounds checks, etc from the general case.  Note slice is a native
 operation for most datasets now, so this is probably obsolete.</p>

<h3>Parameters</h3>
ds - the dataset.
<br>
sliceIndex - the index of the slice.

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

<p></p>

<h3>Returns:</h3>
java.lang.String

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