html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/1142#issuecomment-457255410,https://api.github.com/repos/pydata/xarray/issues/1142,457255410,MDEyOklzc3VlQ29tbWVudDQ1NzI1NTQxMA==,26384082,2019-01-24T16:12:41Z,2019-01-24T16:12:41Z,NONE,"In order to maintain a list of currently relevant issues, we mark issues as stale after a period of inactivity
If this issue remains relevant, please comment here; otherwise it will be marked as closed automatically
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,192248351
https://github.com/pydata/xarray/issues/1142#issuecomment-266032884,https://api.github.com/repos/pydata/xarray/issues/1142,266032884,MDEyOklzc3VlQ29tbWVudDI2NjAzMjg4NA==,19403647,2016-12-09T14:56:35Z,2016-12-09T14:56:35Z,NONE,"Hi, I have taken another approach for using nd window over several dimensions of xarray objects to perform filtering and tapering, based on `scipy.ndimage`, `scipy.signal ` and ` dask.map_overlap`. @shoyer @jhamman it is somewhat similar to what I have presented during the aospy meeting. It also refers to the issue #819.
For the moment, I have something that works like this :
```
shape = (50, 30, 40)
dims = ('x', 'y', 'z')
dummy_array = xr.DataArray(np.random.random(shape), dims=dims)
# Define and set a window object
w = dummy_array.window
w.set(n={'x':24, 'y':24}, cutoff={'x':0.01, 'y':0.01}, window='hanning')
```
where ` n` is the filter order (i.e. the size), `cutoff` is the cutoff frequency, `window` is any window name that can be found in the `scipy.signal.windows` collection.
Then the filtering can be perform using the `w.convolve()` method, which build a dask graph for the convolution product.
I also want to add a tapering method 'w.taper()' which would be useful for spectral analysis. For multi-tapering, it should also generate an object with an additional dimension corresponding to the number of windows. To do that, I first need to handle the window building using dask.
Let me know if you are interesting in this approach. For the moment, I have planned to upload a github project for signal processing tools in the framework of [pangeo-data](https://pangeo-data.github.io/). It sould be online by the end of December and I will happy to have feedback on it. I am not sure it falls into the xarray framework and it may need a dedicated project, but I might be wrong.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,192248351
https://github.com/pydata/xarray/issues/1142#issuecomment-265986011,https://api.github.com/repos/pydata/xarray/issues/1142,265986011,MDEyOklzc3VlQ29tbWVudDI2NTk4NjAxMQ==,11941546,2016-12-09T10:49:18Z,2016-12-09T10:49:18Z,NONE,"Sorry for not replying sooner. So far it works fine for me when I switch to
pandas, use their gaussian rolling window, and then switch back to xarray.
As I'm in a hurry with something else now, I will get back to this
discussion a bit later.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,192248351
https://github.com/pydata/xarray/issues/1142#issuecomment-263751396,https://api.github.com/repos/pydata/xarray/issues/1142,263751396,MDEyOklzc3VlQ29tbWVudDI2Mzc1MTM5Ng==,2443309,2016-11-30T01:04:21Z,2016-11-30T01:10:24Z,MEMBER,"Certainly open to adding this functionality. Bottleneck isn't going to help so the code will all live in xarray. I think it makes sense to have a bit of a design discussion here prior to getting started. Questions:
#### 1. What window types are you interested in adding? Pandas includes:
- boxcar
- triang
- blackman
- hamming
- bartlett
- parzen
- bohman
- blackmanharris
- nuttall
- barthann
- kaiser (needs beta)
- gaussian (needs std)
- general_gaussian (needs power, width)
- slepian (needs width)
#### 2. Can we maintain compatibility with pandas and bottleneck.
We have tried to maintain compatibility with both pandas and bottleneck in our rolling implementation. This is proving somewhat difficult (e.g. #1046) but is a design consideration that we should keep in mind.
Also, our current implementation falls back to operating on individual slices of the DataArray when bottleneck cannot be utilized. We should think a bit about the applicability of other windows when using other window types. Presumably, each `win_type` listed above would just provide a different set of weights to be associated with the members of each window.
#### 3. What about nd windows?
Our current implementation left open the possibility of n-dimensional windows (see #819). While we haven't implemented it yet, the utility of the rolling object for a 2+ dimensional smoother would be quite a nice feature. That said, I'd be hesitant to implement anything on the rolling object that would not allow us to make this addition in the future.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,192248351
https://github.com/pydata/xarray/issues/1142#issuecomment-263678778,https://api.github.com/repos/pydata/xarray/issues/1142,263678778,MDEyOklzc3VlQ29tbWVudDI2MzY3ODc3OA==,5635139,2016-11-29T19:50:08Z,2016-11-29T19:50:08Z,MEMBER,"Think it would be useful generally. @jhamman will have a better view of how difficult it is to implement. Our use cases are fine with simple windows, although an `ewm` object would be helpful.
One API choice is to what extent we want `.rolling`, `.expanding` & `.ewm` to be separate objects vs kwargs to `.rolling`","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,192248351
https://github.com/pydata/xarray/issues/1142#issuecomment-263642547,https://api.github.com/repos/pydata/xarray/issues/1142,263642547,MDEyOklzc3VlQ29tbWVudDI2MzY0MjU0Nw==,1217238,2016-11-29T17:41:53Z,2016-11-29T17:41:53Z,MEMBER,"There are no immediate plans that I know of, but I think we are certainly open to adding this functionality if someone wants to look into it.
cc @jhamman @MaximilianR ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,192248351