# ANN: MaxMinFilters.jl - fast streaming maximum / minimum within moving window

**URL:** <https://discourse.julialang.org/t/ann-maxminfilters-jl-fast-streaming-maximum-minimum-within-moving-window/30151>\
**Category:** Package Announcements\
**Tags:** announcement\
**Created:** [October 22, 2019, 12:34am UTC](https://discourse.julialang.org/t/ann-maxminfilters-jl-fast-streaming-maximum-minimum-within-moving-window/30151 "2019-10-22T00:34:24Z")\
**Posts on this page:** 1\
**Showing post:** 23

<div class="post-metadata">

**Author:** ![sairus7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sairus7/32/10816_2.png) [@sairus7](https://discourse.julialang.org/u/sairus7)\
**Post date:** [January 30, 2020, 8:25am UTC](https://discourse.julialang.org/t/ann-maxminfilters-jl-fast-streaming-maximum-minimum-within-moving-window/30151/23 "2020-01-30T08:25:11Z")

</div>

What functionality are you talking about?  
There are different sets of possible functionality extensions:

1. Steteless functions (to process small data chunks at once) =\> stateful functions for (realtime or larger than memory) data streams, that can be stopped and resumed later, so function state can be saved and loaded. This is also related to delays and boundary conditions handling.

2. Special function types:

3. Functions for 1-dimensional signals =\> multi-diomensional signals, like video streams.

4. Composing chains of processing steps, like: “filter1 \> decimate \> sliding function \> detect events \> calc features \> …” and so on. It is related to using transducers to feed data, or making functions and data buffers compatible for possible use with transducers. You may be interested in this thread:  
[Using Transducers.jl instead of stateful functions for stream processing](https://discourse.julialang.org/t/using-transducers-jl-instead-of-stateful-functions-for-stream-processing/30553)  
Speaking of transducers, I just don’t fully understand, how to use them for complex processing chains, if you need branching and joining data streams, select to store some intermediate data, log intermediate data for debug purpose, and so on.

All that extensions are partly compatible with each other, but not all.

Also, I think we should start with as simple use cases as possible.

---

_[View the full topic](https://discourse.julialang.org/t/ann-maxminfilters-jl-fast-streaming-maximum-minimum-within-moving-window/30151)._
