These are chat archives for thunder-project/thunder
Hey @bendichter thanks for the interest! The short answer is that Thunder (and Spark w/ Python) could be super useful for doing almost all of these things. At the same time, few of these are built in to Thunder directly so far.
When you construct one of Thunder's data objects (in this case, probably a
TimeSeries), which represents a distribute collection of channel time series, you can easily apply in parallel any operation you've already written as a python function in basically one line,
newdata = data.applyValues(lambda x: myfunc(x)), where
myfunc computes your Hilbert transform, STRF, etc. So that'll probably be a quick way to speed up your workflows.
Hopefully, in addition, some of the methods already available on the data objects would be useful (e.g. some decoding functionality, Fourier transforms). And if there are particular operations in your workflow that are fairly general (might include the Hilbert transform, and the event-related handling), we'd welcome those as contributions!
applyValuescommand. Cool, it looks pretty easy to do whatever I need. Thanks for the help!
RDD.flatMapfunction to do that with something like:
duplicated = thunder.Series(data.rdd.flatMap(lambda (k, v): [ (k, [i, v]) for i in xrange(40) ]))
applyValuesthat takes the bandpass # as well as the time series and performs the transform