flywhl / flywhl/vyper

feat: signal processing

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.