Coverage for src/lccalib/survey.py: 0%

1"""

2 Interface to various survey inputs.

3"""

4

5 from abc import ABC, abstractmethod

6

7# pylint:disable=W0221

8

9 class Survey(ABC):

10 """Abstract class defining the minimum required inputs for any survey."""

11

12 def __init__(self, *args, **kwargs):

13 pass

14

15 @abstractmethod

16 def get_secondary_star_catalog(self, **kwargs):

17 """Return the calibrated secondary stars catalog."""

18

19 @abstractmethod

20 def get_secondary_star_lc(self, **kwargs):

21 """Return the secondary stars light curves."""

22

23 @abstractmethod

24 def get_sne_lc(self, **kwargs):

25 """Return the supernovae light curves."""

26

27 @abstractmethod

28 def get_secondary_labels(self, band, **kwargs):

29 """Return a dictionary giving the column names in secondary catalog.

30

31 The dictionary should looks like:

32 >>> dict( {

33 >>> "mag": str,

34 >>> "emag": str,

35 >>> "color": (str, str) ,

36 >>> "goods": dict({str: float}), #name and threshold

37 >>> "mag_cut": (float, float) })

38 """

39

40 @abstractmethod

41 @property

42 def bands(self):

43 """Return list of bands"""