infobs.instruments package

Subpackages

Submodules

infobs.instruments.instrument module

class infobs.instruments.instrument.IdealInstrument(kelvin: bool = True)[source]

Bases: Instrument

Ideal instrument without atmospheric noise and calibration error.

measure(df: DataFrame, _: float | None = None) DataFrame[source]

adds realistic noise to noise-free observation, using the properties of the instrument

Parameters:
  • df (pd.DataFrame) – dataframe of noise-free observations

  • obstime (float) – integration time

Returns:

dataframe of noisy observations

Return type:

pd.DataFrame

class infobs.instruments.instrument.Instrument(lines: List[str], kelvin: bool = True)[source]

Bases: ABC

abstract class for instruments, used to generate synthetic observations with the instrument noise properties

available_lines(molecules: str | List[str] | None = None) List[str][source]
available_molecules() List[str][source]
filter_lines(df: DataFrame) DataFrame[source]
abstract measure(df: DataFrame, obstime: float) DataFrame[source]

adds realistic noise to noise-free observation, using the properties of the instrument

Parameters:
  • df (pd.DataFrame) – dataframe of noise-free observations

  • obstime (float) – integration time

Returns:

dataframe of noisy observations

Return type:

pd.DataFrame

restrict_lines(lines: List[str]) None[source]
class infobs.instruments.instrument.MergedInstrument(instruments: List[Instrument])[source]

Bases: Instrument

combinations of multiple instruments

measure(df: DataFrame, obstime: float | List[float]) DataFrame[source]

adds realistic noise to noise-free observation, using the properties of the instrument

Parameters:
  • df (pd.DataFrame) – dataframe of noise-free observations

  • obstime (float) – integration time

Returns:

dataframe of noisy observations

Return type:

pd.DataFrame

class infobs.instruments.instrument.StandardInstrument(lines: List[str], linewidth: float | None = None, kelvin: bool = True)[source]

Bases: Instrument, ABC

abstract class for standard instruments, used to generate synthetic observations with the instrument noise properties

abstract property dv: float | None

Reference velocity channel width

get_rms(obstime: float, lines: List[str] | None = None) Dict[str, float][source]
measure(df: DataFrame, obstime: float) DataFrame[source]

adds realistic noise to noise-free observation, using the properties of the instrument

Parameters:
  • df (pd.DataFrame) – dataframe of noise-free observations

  • obstime (float) – integration time

Returns:

dataframe of noisy observations

Return type:

pd.DataFrame

abstract property percent: Dict[str, float]

Calibration error [%] for each line

abstract property ref_obstime: Dict[str, float]

Reference integration time [s]

abstract property rms: Dict[str, float]

Noise RMS [K] for each line

Module contents