WIP: Add python class to parse line files
Line files collect information about narrow-band instrumental artifacts (aka lines) affecting CW searches. Due to practical reasons, these files list instrumental artifacts in a compressed way (e.g. harmonics of a line are compressed into a single entry with the specified harmonics in a column).
From the point of view of CW searches, it is more useful to unfold lines into [f0_min, f0_max] frequency intervals, which can be easily compared to the frequency evolution of a candidate in order to discard it or not.
This PR adds a python class to do so.
Summary of changes:
- Class to read and expand line files into [left_wing, f0, right_wing] or [f0_left, f0_right] formats.
- Test cases using two manually generated line files.
Comments and suggestions are welcome.
API Changes and Justification
Backwards Compatible Changes
- This change introduces no API changes
- This change adds new API calls
Backwards Incompatible Changes
- This change modifies an existing API
- This change removes an existing API
This code was reviewed during the Early O3 all-sky binary search review.