Commit Graph

16 Commits (b8cfee7d2f4b86fc07a7f6a488ac2712089570b2)

Author SHA1 Message Date
Tyler Goodlet 516dd26f08 Drop log scaling support since uppx driven scaling seems way faster/better 2022-04-24 17:08:16 -04:00
Tyler Goodlet 8959f04791 Hipshot, use uppx to drive theoretical px w 2022-04-24 14:49:58 -04:00
Tyler Goodlet eab9127170 Drop old `pyqtgraph` downsample code 2022-04-16 15:38:26 -04:00
Tyler Goodlet c675773de4 Tweak log-scaler for more detail 2022-04-16 15:38:26 -04:00
Tyler Goodlet d3a30a272d Use HL tracer by default, seems to be faster? 2022-04-16 15:38:26 -04:00
Tyler Goodlet b748bc2d05 Move px width log scaling into `ds_m4()` 2022-04-16 15:38:26 -04:00
Tyler Goodlet eba92a8f20 Bump up resolution log scaling a mag 2022-04-16 15:38:26 -04:00
Tyler Goodlet f6136245f9 Allocate m4 output arrays in `numba` code, avoid segfaults? 2022-04-16 15:38:26 -04:00
Tyler Goodlet 60b1c53d20 Add optional mxmn HL tracer support to m4 sampler 2022-04-16 15:38:26 -04:00
Tyler Goodlet 9726ed1a42 Add optional uppx log scaling to m4 sampler
We were previously ad-hoc scaling up the px count/width to get more
detail at lower uppx values. Add a log scaling sigmoid that range scales
between 1 < px_width < 16.

Add in a flag to use the mxmn OH tracer in `ohlc_flatten()` if desired.
2022-04-16 15:38:26 -04:00
Tyler Goodlet 97efb865d4 Add OHLC to m4 line converters
Helpers to quickly convert ohlc struct-array sequences into lines
for consumption by the m4 downsampler. Strip trailing zero entries
from the `ds_m4()` output if found (avoids lines back to origin).
2022-04-16 15:38:26 -04:00
Tyler Goodlet 4cd3f8c531 Fix x-range -> # of frames calculation
Obviously determining the x-range from indices was wrong and was the
reason for the incorrect (downsampled) output size XD. Instead correctly
determine the x range and start value from the *values of* the input
x-array. Pretty sure this makes the implementation nearly production
ready.

Relates to #109
2022-04-16 15:38:26 -04:00
Tyler Goodlet 6d54137ff1 Add (ostensibly) working first attempt at M4 algo
All the refs are in the comments and original sample code from infinite
has been reworked to expect the input x/y arrays to already be sliced
(though we can later support passing in the start-end indexes if
desired).

The new routines are `ds_m4()` the python top level API and `_m4()` the
fast `numba` implementation.
2022-04-16 15:38:26 -04:00
Tyler Goodlet 603d61be39 Original index offset was right 2022-04-16 15:38:26 -04:00
Tyler Goodlet cd14a2b598 Add an ohlcv high/low tracer with optional downsampling 2022-04-16 15:38:26 -04:00
Tyler Goodlet abf399a73a Move graphics compression routines to new module 2022-04-16 15:38:26 -04:00