Closed kkappler closed 1 year ago
This is actually a somewhat handy convenience class, the issue is that it duplicates data that are available elsewhere, in particular, all the data in this object seems to come from the processing Config()
Thus, it would be best if this class were always generated by the processing config.
Doing this "Consolidation before deprecation" will allow deprecation to focusing only on that one generator.
The TransferFunctionHeader attrs that are called are the following:
processing_scheme
(comes from tfk.config.decimations[0].estimator.engine
)_local_station
: (comes from tfk.config.stations.local
)_reference_station
: (comes from tfk.config.stations.remote
)input_channels
: (comes from tfk.config.decimations[0].input_channels
)output_channels
: (comes from tfk.config.decimations[0].output_channels
)reference_channels
: (comes from tfk.config.decimations[0].reference_channels
)Transfer Function Header is now consolidated into something that is generated as a method of Processing class.
The only change to still consider is making this a dict rather than a class - changing it to an mt_metadata object. However, that task will be more easily done while migrating the Processing class into mt_metadata which is o be addressed during the FC implementation.
If aurora's transfer_function class always has a processing_scheme instantiated when header is called, we can access header that way, via a method inside the transfer_function base class. This will eliminate tf_header as an input argument, and simplify its usage.
To make this all work on the new fc branches, which should import the processing scheme from mt_metadata, and to avoid circular imports (from aurora) we will need to make TransferFunctionHeader a class that lives in mt_metadata.
A good candidate for this would be a ListDict (or python-box)
This class has been completely deprecated and replaced with a ListDict that is returned by the emtf_tf_header method in processing.py
This class has been completely deprecated and replaced with a ListDict that is returned by the emtf_tf_header method in processing.py
See Issue #18. The TransferFunctionHeader object is not needed as we get this information from the mth5 now as dictionaries.
If we want to eliminate TransferFunctionHeader, we need to change the places where the code uses it to get that data from another object. The TransferFunction object would need to be able to provide:
Helpers in coding this: rgreppy tf_header yields:
rgreppy TransferFunctionHeader yields: