Source code for sofia_redux.scan.channels.gain_provider.gain_provider

# Licensed under a 3-clause BSD style license - see LICENSE.rst

from abc import ABC, abstractmethod

__all__ = ['GainProvider']


[docs] class GainProvider(ABC): # pragma: no cover def __init__(self): """ The gain provider is an abstract class template, used to extract and set gain values for channel data. """ pass
[docs] @abstractmethod def get_gain(self, channel_data): """ Retrieve gain values from channel data. Parameters ---------- channel_data : ChannelData or ChannelGroup The channel data instance. Returns ------- gains : numpy.ndarray (float) The gain values. """ pass
[docs] @abstractmethod def set_gain(self, channel_data, gain): """ Set gain values in the gain provider. Parameters ---------- channel_data : ChannelData or ChannelGroup The channel data instance. gain : numpy.ndarray (float) The gain values to set. Returns ------- None """ pass
[docs] @abstractmethod def validate(self, mode): """ Validate a given mode. Parameters ---------- mode : Mode The mode instance. Returns ------- None """ pass