identifyContinuousBlocks

identifyContinuousBlocks( Datum cadence, DatumRange extent, QDataSet lastBlocks, QDataSet times ) → QDataSet

return events list containing start and stop times of continuous blocks in time. The parameter lastBlocks allows serial processing of data, so that intervals spanning extent boundaries will be correctly identified, once. If the last timetag of times is within the cadence of the stop of the extent, then this block will be dropped, but its start is noted in the property "partialBlockStart." If first timetag is within cadence of the start, then the last block of lastTimes will be added. Note the labels for each interval are the indices of the first and last (exclusive) continuous segment.

Parameters

cadence - null or the cadence
extent - null or the interval containing the times.
lastBlocks - null or the preceeding interval times.
times - the times for the interval

Returns:

an events list containing the start and stop times.

[search for examples] [view on GitHub] [view on old javadoc] [view source]


ifft

ifft( QDataSet ds ) → QDataSet

Performs an inverse FFT on the provided rank 2 dataset of complex numbers. A rank 2 dataset of complex numbers is returned.

Parameters

ds - a rank 2 dataset.

Returns:

a rank 2 dataset of complex numbers.

See Also:

Ops#fft(QDataSet)


[search for examples] [view on GitHub] [view on old javadoc] [view source]

ifft( QDataSet ds, QDataSet window, int stepFraction, ProgressMonitor mon ) → QDataSet

imax

imax( QDataSet ds ) → int

return the index of the maximum value. This is to avoid inefficient code like "where(slice.eq( max(slice) ))[0]"

Parameters

ds - rank 1 dataset

Returns:

the index of the maximum value, or -1 if the data is all fill.

[search for examples] [view on GitHub] [view on old javadoc] [view source]

imax( Object ds ) → int

imin

imin( QDataSet ds ) → int

return the index of the minimum value. This is to avoid inefficient code like "where(slice.eq( min(slice) ))[0]"

Parameters

ds - rank 1 dataset

Returns:

the index of the maximum value, or -1 if the data is all fill.

[search for examples] [view on GitHub] [view on old javadoc] [view source]

imin( Object ds ) → int

indgen

indgen( int len0 ) → QDataSet

returns rank 1 dataset with values [0,1,2,...] This returns an immutable dataset, so that it can be used in Jython like so: for i in indgen(200000). Note before February 2018, this would return a mutable dataset, and now this returns an IndexGenDataSet, which is immutable.

Parameters

len0 - an int

Returns:

a QDataSet

[search for examples] [view on GitHub] [view on old javadoc] [view source]

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

intarr

intarr( int len0 ) → QDataSet

create a dataset filled with zeros, stored in 4-byte ints.

Parameters

len0 - the zeroth dimension length

Returns:

rank 1 dataset filled with zeros.

See Also:

zeros(int)
dblarr(int)


[search for examples] [view on GitHub] [view on old javadoc] [view source]

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

interpolate

interpolate( QDataSet vv, QDataSet findex ) → QDataSet

interpolate values from rank 1 dataset vv using fractional indices in rank N findex. For example, findex=1.5 means interpolate the 1st and 2nd indices with equal weight, 1.1 means 90% of the first mixed with 10% of the second. Only modest extrapolations where findex>=-0.5 and findex<=L-0.5 are allowed, where L is the number of points. The findex parameter must be dimensionless, to ensure that the caller is not passing in physical data. Note there is no check on CADENCE. Note nothing is done with DEPEND_0, presumably because was already calculated and used for findex. Here is an example use of this in Autoplot's Jython code:

 
xx= [1,2,3,4]
yy= [2,4,5,4]
xxx= linspace(0,5,100)
yyy= interpolate( yy, findex(xx,xxx) )

plot( xx, yy, symbolSize=20 )
plot( addPlotElement(0), xxx, yyy )
 
 
This looks at the AVERAGE_TYPE metadata, and when it is present, linear, geometric, none, mod360, mod24, modpi, and modtau are respected.

Parameters

vv - rank 1 dataset having length L that is the data to be interpolated.
findex - rank N dataset of fractional indices. This must be dimensionless, between -0.5 and L-0.5 and is typically calculated by the findex command.

Returns:

the result.

See Also:

interpolateMod interpolateMod, for data like longitude where 259 deg is 2 degrees away from 1 deg interpolateMod, for data like longitude where 259 deg is 2 degrees away from 1 deg


[search for examples] [view on GitHub] [view on old javadoc] [view source]

interpolate( Object vv, Object findex ) → QDataSet
interpolate( QDataSet vv, QDataSet findex0, QDataSet findex1 ) → QDataSet
interpolate( Object vv, Object findex0, Object findex1 ) → QDataSet
interpolate( QDataSet vv, QDataSet findex0, QDataSet findex1, QDataSet findex2 ) → QDataSet

interpolateGrid

interpolateGrid( QDataSet vv, QDataSet findex0, QDataSet findex1 ) → QDataSet

interpolate values from rank 2 dataset vv using fractional indices in rank N findex, using bilinear interpolation. Here the two rank1 indexes form a grid and the result is rank 2.

Parameters

vv - rank 2 dataset.
findex0 - rank 1 dataset of fractional indices for the zeroth index.
findex1 - rank 1 dataset of fractional indices for the first index.

Returns:

rank 2 dataset

See Also:

findex findex, the 1-D findex command findex, the 1-D findex command


[search for examples] [view on GitHub] [view on old javadoc] [view source]

interpolateGrid( Object x, Object y, Object z ) → QDataSet

interpolateMod

interpolateMod( QDataSet vv, QDataSet mod, QDataSet findex ) → QDataSet

like interpolate, but the findex is recalculated when the two bracketed points are closer in the modulo space than they would be in the linear space.

Parameters

vv - rank 1 dataset that is the data to be interpolated. (e.g. longitude from 0 to 360deg)
mod - rank 0 dataset that is the mod of the space (e.g. 360deg), or rank 1 where the range is specified (e.g. -180 to 180).
findex - rank N dataset of fractional indices. This must be dimensionless and is typically calculated by the findex command.

Returns:

the result, a rank 1 dataset with one element for each findex.

See Also:

interpolate(QDataSet,QDataSet)


[search for examples] [view on GitHub] [view on old javadoc] [view source]


invalid

invalid( QDataSet ds ) → QDataSet

returns a dataset with one where the data is invalid, and zero the data is valid. (This just returns the weights plane of the dataset.)

r= where( invalid( ds ) )
The purpose of this is to make this commonly used logic easier to find.

Parameters

ds - a rank N dataset

Returns:

a rank N dataset

See Also:

valid(QDataSet)


[search for examples] [view on GitHub] [view on old javadoc] [view source]


irange

irange( double min, double max, int step ) → java.util.Iterator

mimic the Jython xrange function for use in loops. The returns the integers in the sequence, like xrange, but avoids the confusing "xrange" name and this also takes double values so that it can be used in graphics routines which use double.

Parameters

min - the first value
max - the last value, plus one (exclusive).
step - the increment between elements.

Returns:

an iterator for the numbers in the interval.

[search for examples] [view on GitHub] [view on old javadoc] [view source]

irange( double min, double max ) → java.util.Iterator
irange( double max ) → java.util.Iterator

isAngleRange

isAngleRange( QDataSet ds, boolean strict ) → Double

return true if the dataset can be interpreted as radian degrees from 0 to PI or from 0 to 2*PI.

Parameters

ds - any QDataSet.
strict - return null if it's not clear that the units are degrees.

Returns:

the multiplier to make the dataset into radians, or null.

[search for examples] [view on GitHub] [view on old javadoc] [view source]


isBundle

isBundle( QDataSet zds ) → boolean

return true if the dataset is a bundle. It is rank 2 or rank 1, and has the last dimension a bundle dimension.

Parameters

zds - the dataset

Returns:

true if the dataset is a bundle.

See Also:

org.das2.qds.examples.Schemes


[search for examples] [view on GitHub] [view on old javadoc] [view source]


isLegacyBundle

isLegacyBundle( QDataSet zds ) → boolean

return true if DEPEND_1 is set and its units are EnumerationUnits. This was the pre-bundle way of representing a bundle of datasets. It might be supported indefinitely, because it has some nice rules about the data. For example, bundled data must be of the same units since there is no place to put the property, and each bundled item must be rank 1.

Parameters

zds - rank 1 or rank 2 dataset

Returns:

return true if DEPEND_1 is set and its units are EnumerationUnits.

[search for examples] [view on GitHub] [view on old javadoc] [view source]


isSafeName

isSafeName( String name ) → boolean

returns true if the name is a Java-style identifier, starting with one of a-z, A-Z, or _; followed by a-z, A-Z, 0-9, or _; and note that only ASCII characters are allowed.

Parameters

name - a String

Returns:

true if the name is a safe identifier name.

[search for examples] [view on GitHub] [view on old javadoc] [view source]