feat: signal processing
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
**BEFORE**:
```python
def lowpass(data: Tensor, hz: int) -> Signal:
...
def fft(data: Tensor) -> Signal:
...
def smooth(data: Tensor, window: int) -> Signal:
...
signal: TimeSeries ~> lowpass(50Hz) ~> fft() ~> smooth(window=10)
```
**AFTER**:
```python
# After (transpiled.py)
from scipy import signal as sig
from scipy.fft import fft
from vyper.signal import TimeSeries, Hz, SignalPipeline
def lowpass(data: Tensor, hz: int) -> Signal:
...
def fft(data: Tensor) -> Signal:
...
def smooth(data: Tensor, window: int) -> Signal:
...
signal: TimeSeries = SignalPipeline()
.pipe(lambda x: lowpass(x, hz=50*Hz))
.pipe(fft) \
.pipe(lambda x: smooth(x, window=10))
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating how the shown Python signal-pipeline syntax is handled and compare it with the `transpiled.py` output example. Use the transformation from `lowpass`, `fft`, and `smooth` chaining to `SignalPipeline` calls as the acceptance criterion, including the shown `scipy` imports and `Hz` argument.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100