SpikesAlgorithm and flag-spikes improvements
This issue will summarize future improvements for the SpikesAlgorithm and flag-spikes application.
Flag-spikes:
- A TODO that is mentioned in the code is to add "type" and "interval" as options that can be passed by the user. For now I have chosen to skip this functionality to avoid unnecessary complexity in the database as a result of spike metadata accumulating for seconds and minutes data (or more). I can imagine a scenario where this needs to change soon though, in which case this is a simple fix.
SpikesAlgorithm: There are a number of enhancements for SpikesAlgorithm, some of which include:
- Making the _despike mode modular, such that users can choose from different despike methods, or multiple in a chosen order.
- Adding better array support. I am not sure what this looks like right now.
- Adding some preprocessing (or instead make this part of the modular _despike methods I mentioned above) in which DeltaF is compared with F to identify spikes that may have occurred uniquely within the Fluxgate or total field magnetometers.
- Using Delta F to isolate finding spikes and then applying them to HEZ, similar to how the processors operate now.
It is possible that the SpikesAlgorithm could become more complicated in the future when other forms of filters are used such as targeting specific frequencies. If/when this happens, keeping track of the order of operations will be important when processing.