mth5 icon indicating copy to clipboard operation
mth5 copied to clipboard

FC Summary

Open kkappler opened this issue 1 year ago • 0 comments

There are already some placeholder methods for this

In mth5/groups/fourier_coefficients.py, the FCGroup class has a method decimation_level_summary

And objects of type mth5.groups.fourier_coefficients.FCDecimationGroup have a channel_summary() method

Some use cases to consider:

  1. A user would like a dataframe of all the FC data containers:
  • within one or more mth5 files
  • under a particular survey in an mth5.
  • under a particular station in an mth5.
  • under a particular run in an mth5
  1. Within a FCGroup (associated with a run) a user would like to get
  • the frequency axis of a decimation level
  1. Data that are handy to have in the df:
  • the sample rate of the time-series that was FFT'd
  • the min and max frequencies
  • the number of harmonics
  • (these 3 allow us to construct the frequency axis)
  1. The column called component could be renamed to decimation_level. but maybe not if we keep features at the same level.

  2. The channel metadata maybe should be written to the FCChannel, especially metadata needed if TFs are generated from the FCs. Especially azimuth and tilt. This is critical because we do not yet have a rule that forces the Time Series channels to be available, if FCs are stored. If we want to keep the ability to store an mth5 that contains only FCs, then we need to be able to give the FCChannels azimuths and tilts. Alternatively, we could require that FCs be linked to parent time-series channels, which do not actually need their data, but could instead just have metadata.

Between these two options, Jared's comment was to lean towards embedding enough metadata in the FC that it can be used alone to build a TF (i.e. add azimuth and tilt to the FCChannel and any other critical TF metadata).

kkappler avatar Aug 23 '24 00:08 kkappler