-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
s04_stack2 bug fixes + mov_stack improvement #372
base: master
Are you sure you want to change the base?
Conversation
Added:
To do:
|
re:doc : this documentation should work - but you'll need to set up a biggy test folder with some data (esp. for the examples to build) - My idea (didn't have time yet) is to provide two big "pooch" payloads 1: with only the raw test data & the recipe to build then same as 2: the environment having all the data processed for doing the examples etc |
Okay think working nicely now. Did quite a different tests to check working properly with gaps, processing jobs in stages rather than all together, etc. As said, no svd component for now as unsure how will work cleanly if not processing all data at same time (i.e. to ensure data processed equaly. Functionality of wiener filter right now is:
Users set three params in config: wienerfilt: bool, False by default) Quick example showing final dv/v for one month of data at Ruapehu, 2d stacks Still to do: documentation |
A couple smaller changes, and started adding documenting (just in s04_stack2 for now). Ended up going down rabbit hole regarding how much padding with data outside of Todo jobs actually reduces edge influence (even if you pad well belong the width of the filter, you can still get subtle differences propagate to the middle of the 'image' despite neighbouring points not changing). Given that, I added a warning in the documentation that caution should be exercised if processing data in steps (i.e. not all at the same time). Below is an example where i tested processing dv/v after applying wiener to all data together, and data in different stages (cutoff indicated by dashed-lines, so for example.... end of month is simulating reading in 1-day of new data each time). Similar, but some difference. |
Demonstration that padding doesn't fully prevent values further away from edge of image slightly changing. Top row i am starting adding 2 rows each time (of 1s), e.g. to reflect new CCF data coming in, and then applying wiener filter of length (2,2). Can see that the values corresponding to the original pattern have subtle differences even when adding four or six rows of constant value. So not sure there is a 'perfect' way to do it, other than maybe having a fixed moving window where we are applying the wiener filter i.e. every N days, so that it is consistent if processing in different stages. But... that would be pretty horrid for computation time i imagine so maybe just having the warning is best for cases where not processing all data together. |
The following things are fixed with these changes (mentioned in issue #371)
e.g. for days = ['2006-02-01', '2006-02-02', '2006-02-03', '2006-02-10'] and stack size (max(mov_rolling)) of two days, the days '2006-01-30', '2006-01-31', '2006-02-08', and '2006-02-09' would be added prior to calling get_results_all.
ie.
These additional days are then removed prior to saving via:
Will use this same branch to implement wiener filter... but these changes/fixes more fundamental.