## binData

binData( QDataSet ds, DatumRange bin ) → QDataSet

increase the rank 1 data into rank 2 data by binning data. For example, `byOrbit= binData( density, datumRange( 'orbit:rbspa-pp:3' ) )`

### Parameters

ds - rank 1 data with (time) tags
bin - datum range which is an example range

### Returns:

rank 2 bins.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## binsWithin

binsWithin( QDataSet ds, QDataSet bounds ) → QDataSet

return non-zero where the bins of ds are within the bounds.

### Parameters

ds - rank 2 bins dataset
bounds - a rank 1 bounding box.

### Returns:

rank 1 dataset containing non-zero where the condition is true.

### See Also:

within(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## binsWithout

binsWithout( QDataSet ds, QDataSet bounds ) → QDataSet

return non-zero where the bins of ds are outside of the bounds.

### Parameters

ds - rank 2 bins dataset
bounds - a rank 1 bounding box.

### Returns:

rank 1 dataset containing non-zero where the condition is true.

### See Also:

binsWithin(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bitwiseAnd

bitwiseAnd( QDataSet ds1, QDataSet ds2 ) → QDataSet

bitwise AND operator treats the data as (32-bit) integers, and returns the bit-wise AND.

### Parameters

ds1 - a QDataSet
ds2 - a QDataSet

### Returns:

bit-wise AND.
[search for examples] [view on GitHub] [view on old javadoc] [view source]
bitwiseAnd( Object ds1, Object ds2 ) → QDataSet [view source]

## bitwiseOr

bitwiseOr( QDataSet ds1, QDataSet ds2 ) → QDataSet

bitwise OR operator treats the data as (32-bit) integers, and returns the bit-wise OR.

### Parameters

ds1 - a QDataSet
ds2 - a QDataSet

### Returns:

bit-wise OR.
[search for examples] [view on GitHub] [view on old javadoc] [view source]
bitwiseOr( Object ds1, Object ds2 ) → QDataSet [view source]

## bitwiseXor

bitwiseXor( QDataSet ds1, QDataSet ds2 ) → QDataSet

bitwise XOR (exclusive or) operator treats the data as (32-bit) integers, and returns the bit-wise XOR. Note there is no bitwise not, and this is because there are no shorts, bytes. So to implement bitwise not for a 16 bit number you would have bitwiseXor( ds, dataset(2**16-1) ).

### Parameters

ds1 - a QDataSet
ds2 - a QDataSet

### Returns:

bit-wise XOR.

### See Also:

not(QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]
bitwiseXor( Object ds1, Object ds2 ) → QDataSet [view source]

## boundsDataset

boundsDataset( String s ) → QDataSet

This returns one of a bounds dataset:

- rank 1 bounds (a datumRange)
- rank 2 bounding box
- rank 2 bounding qube (three or more dimensions)

2002-03-02/2002-03-03 2002-03-02 orbit:crres:6 5 to 50 | rank 1 bounds (a datumRange)
2002-03-02/2002-03-03;5 to 50 | rank 2 bounding box
2002-03-02T01:01/2002-03-02T01:02;5 to 50 eV;90 to 180 deg | rank 2 bounding qube

Note dataset("5 to 50") presently parses to a rank 0 nominal dataset, not a rank 1 range.

### Parameters

s - string representation of a dataset

### Returns:

a rank 1 or rank 2 bounds dataset.

### See Also:

datumRange(java.lang.Object)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## buckshotInterpolate

buckshotInterpolate( QDataSet xyz, QDataSet data, QDataSet xinterp, QDataSet yinterp, QDataSet zinterp ) → QDataSet

3-D interpolation performed by tesselating the space (with 4-point tetrahedra) and doing interpolation. NOTE: this does not check units.

### Parameters

xyz - rank 2 bundle of x,y,z data.
data - rank 1 dependent data, a function of x,y,z.
xinterp - the x locations to interpolate, rank 0, 1, or 2.
yinterp - the y locations to interpolate
zinterp - the z locations to interpolate

### Returns:

the interpolated data.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## buckshotInterpolate

buckshotInterpolate( QDataSet xy, QDataSet data, QDataSet xinterp, QDataSet yinterp ) → QDataSet

2-D interpolation performed by tessellating the space (with 3-point triangles) and doing interpolation. NOTE: this does not check units.

### Parameters

xy - rank 2 bundle of independent data x,y points.
data - rank 1 dependent data, a function of x,y.
xinterp - the x locations to interpolate
yinterp - the y locations to interpolate

### Returns:

the interpolated data.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds ) → QDataSet

bundle the dataset, making an initial bundle, adding a bundle dimension.

### Parameters

ds - a rank N dataset

### Returns:

rank N+1 bundle dataset
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds1, QDataSet ds2 ) → QDataSet

bundle the two datasets, adding if necessary a bundle dimension. This will try to bundle on the second dimension, unlike join. This will also isolate the semantics of bundle dimensions as it's introduced. Note the first argument can be null in order to simplify loops in client code.

### Parameters

ds1 - null, rank N dataset with n records or rank N+1 bundle dataset
ds2 - rank N dataset.

### Returns:

rank N+1 bundle dataset, presently with mutable properties.

### See Also:

join(QDataSet, QDataSet)
DataSetOps#unbundle(QDataSet, java.lang.String)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds1, QDataSet ds2, QDataSet ds3 ) → QDataSet

bundle three datasets, giving them a common zeroth index, typically time, unlike join. This bundles on the second dimension, unlike join. This is just like bundle(ds1,ds2), in fact this just calls bundle( bundle( ds1,ds2 ), ds3 )

### Parameters

ds1 - rank 1 (for now) dataset with n records or rank 2 bundle dataset
ds2 - rank 1 (for now) dataset with n records
ds3 - rank 1 (for now) dataset with n records

### Returns:

rank 2 [n,3] bundle dataset

### See Also:

join(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds1, QDataSet ds2, QDataSet ds3, QDataSet ds4 ) → QDataSet

bundle four datasets, making them share their zeroth index, typically time, unlike join. This is just like bundle(ds1,ds2), in fact this just calls bundle( bundle( bundle( ds1,ds2 ), ds3 ), ds4 )

### Parameters

ds1 - rank 1 (for now) dataset with n records or rank 2 bundle dataset
ds2 - rank 1 (for now) dataset with n records
ds3 - rank 1 (for now) dataset with n records
ds4 - rank 1 (for now) dataset with n records

### Returns:

rank 2 [n,4] bundle dataset

### See Also:

join(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds1, QDataSet ds2, QDataSet ds3, QDataSet ds4, QDataSet ds5 ) → QDataSet

bundle five datasets, making them share their zeroth index, typically time, unlike join. This is just like bundle(ds1,ds2), in fact this just calls bundle( bundle( bundle( ds1,ds2 ), ds3 ), ds4 )

### Parameters

ds1 - rank 1 (for now) dataset with n records or rank 2 bundle dataset
ds2 - rank 1 (for now) dataset with n records
ds3 - rank 1 (for now) dataset with n records
ds4 - rank 1 (for now) dataset with n records
ds5 - rank 1 (for now) dataset with n records

### Returns:

rank 2 [n,4] bundle dataset

### See Also:

join(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds1, QDataSet ds2, QDataSet ds3, QDataSet ds4, QDataSet ds5, QDataSet ds6 ) → QDataSet

bundle six datasets, making them share their zeroth index, typically time, unlike join. This is just like bundle(ds1,ds2), in fact this just calls bundle( bundle( bundle( ds1,ds2 ), ds3 ), ds4 )

### Parameters

ds1 - rank 1 (for now) dataset with n records or rank 2 bundle dataset
ds2 - rank 1 (for now) dataset with n records
ds3 - rank 1 (for now) dataset with n records
ds4 - rank 1 (for now) dataset with n records
ds5 - rank 1 (for now) dataset with n records
ds6 - rank 1 (for now) dataset with n records

### Returns:

rank 2 [n,4] bundle dataset

### See Also:

join(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bundle

bundle( QDataSet ds1, QDataSet ds2, QDataSet ds3, QDataSet ds4, QDataSet ds5, QDataSet ds6, QDataSet ds7 ) → QDataSet

bundle seven datasets, making them share their zeroth index, typically time, unlike join. This is just like bundle(ds1,ds2), in fact this just calls bundle( bundle( bundle( ds1,ds2 ), ds3 ), ds4 )

### Parameters

ds1 - rank 1 (for now) dataset with n records or rank 2 bundle dataset
ds2 - rank 1 (for now) dataset with n records
ds3 - rank 1 (for now) dataset with n records
ds4 - rank 1 (for now) dataset with n records
ds5 - rank 1 (for now) dataset with n records
ds6 - rank 1 (for now) dataset with n records
ds7 - rank 1 (for now) dataset with n records

### Returns:

rank 2 [n,4] bundle dataset

### See Also:

join(QDataSet, QDataSet)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## butterworth

butterworth( QDataSet in, int order, Datum f, boolean lowp ) → QDataSet

Perform Butterworth filter for high pass or low pass.

### Parameters

in - the rank 1 waveform or rank 2 waveform
order - the order of the filter (2,3,4)
f - the frequency, e.g. Units.hertz.createDatum(10)
lowp - true for low pass, false for high pass.

### Returns:

the dataset in the same form.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## butterworth

butterworth( QDataSet in, int order, Datum flow, Datum fhigh, boolean pass ) → QDataSet

Perform Butterworth filter for notch or band pass or band reject.

### Parameters

in - the rank 1 waveform or rank 2 waveform
order - the order of the filter (2,3,4)
flow - the lower band limit, e.g. Units.hertz.createDatum(10)
fhigh - the higher band limit, e.g. Units.hertz.createDatum(20)
pass - true for band pass, false for band reject.

### Returns:

the dataset in the same form.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bytarr

bytarr( int len0 ) → QDataSet

create a dataset filled with zeros, stored in unsigned bytes. Each element can contain numbers from 0 to 255.

### Parameters

len0 - the zeroth dimension length

### Returns:

rank 1 dataset filled with zeros.

### See Also:

dblarr(int)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bytarr

bytarr( int len0, int len1 ) → QDataSet

create a rank 2 dataset filled with zeros, stored in unsigned bytes.

### Parameters

len0 - the length of the zeroth dimension.
len1 - the length of the first dimension.

### Returns:

rank 2 dataset filled with zeros.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## bytarr

bytarr( int len0, int len1, int len2 ) → QDataSet

create a rank 3 dataset filled with zeros, stored in unsigned bytes.

### Parameters

len0 - the length of the zeroth dimension.
len1 - the length of the first dimension.
len2 - the length of the second dimension.

### Returns:

rank 3 dataset filled with zeros.
[search for examples] [view on GitHub] [view on old javadoc] [view source]