across.tools

Submodules

Classes

Coordinate

Class that represents a point in spherical space

EnergyBandpass

A class representing a bandpass filter defined in terms of energy.

FrequencyBandpass

A class representing a bandpass filter defined in terms of frequency.

Polygon

Class to represent a spherical polygon

WavelengthBandpass

A class representing a bandpass filter defined in terms of wavelength.

Functions

convert_to_wave(bandpass)

Converts a given EnergyBandpass or FrequencyBandpass to a WavelengthBandPass.

Package Contents

class Coordinate(/, **data)[source]

Bases: across.tools.core.schemas.base.BaseSchema

Class that represents a point in spherical space

ra: float = None
dec: float = None
model_post_init(__context)[source]

Pydantic post-init hook

Post-Init validations.

Ensure the RA is positive, and rounded to an appropriate precision

__repr__()[source]

Overrides the print statement

__eq__(other)[source]

Overrides the coordinate equals

class EnergyBandpass(/, **data)[source]

Bases: BaseBandpass

A class representing a bandpass filter defined in terms of energy.

Inherits from BaseBandpass, this class specializes the filter to operate in the energy domain.

type

A constant string indicating the type of the bandpass filter.

Type:

Literal[‘ENERGY’]

unit

The unit of measurement for the energy.

Type:

EnergyUnit

type: Literal['ENERGY'] = 'ENERGY'
unit: across.tools.core.enums.EnergyUnit
model_post_init(__context)[source]

Validates that the min and max energy values are positive.

Raises:

ValueError – If the min or max energy values are not defined, are non-positive, and max is greater than min.

class FrequencyBandpass(/, **data)[source]

Bases: BaseBandpass

A class representing a bandpass filter defined in terms of frequency.

Inherits from BaseBandpass, this class specializes the filter to operate in the frequency domain.

type

A constant string indicating the type of the bandpass filter.

Type:

Literal[‘FREQUENCY’]

unit

The unit of measurement for the frequency.

Type:

FrequencyUnit

type: Literal['FREQUENCY'] = 'FREQUENCY'
unit: across.tools.core.enums.FrequencyUnit
model_post_init(__context)[source]

Validates that the min and max frequency values are positive.

Raises:

ValueError – If the min or max energy values are not defined, are non-positive, and max is greater than min.

class Polygon(/, **data)[source]

Bases: across.tools.core.schemas.base.BaseSchema

Class to represent a spherical polygon

coordinates: list[across.tools.core.schemas.coordinate.Coordinate]
model_post_init(__context)[source]

Pydantic post-init hook

Post-Init validations.

1.) a polygon must contain a list of coordinates 1.) a polygon’s first and final coordinates must be the same (wrapping) 2.) a polygon has more than 3 unique coordinates

__repr__()[source]

Overrides the print statement

__eq__(other)[source]

Overrides the coordinate equals

class WavelengthBandpass(/, **data)[source]

Bases: BaseBandpass

A class representing a bandpass filter defined in terms of wavelength.

Inherits from BaseBandpass, this class specializes the filter to operate in the wavelength domain and provides additional functionality for wavelength-based filters.

type

A constant string indicating the type of the bandpass filter.

Type:

Literal[‘WAVELENGTH’]

central_wavelength

The central wavelength of the filter. It is defined as the midpoint between the min and max.

Type:

float or None

bandwidth

The bandwidth of the filter. It is defined as half the difference between the max and min.

Type:

float or None

unit

The unit of measurement for the wavelength.

Type:

WavelengthUnit

type: Literal['WAVELENGTH'] = 'WAVELENGTH'
central_wavelength: float | None = None
peak_wavelength: float | None = None
bandwidth: float | None = None
unit: across.tools.core.enums.WavelengthUnit
model_post_init(__context)[source]

Validates the min and max values of the wavelength bandpass and calculates the central wavelength and bandwidth if they are not provided. Also ensures the values are positive and that the max wavelength is greater than the min wavelength. Lastly, it converts the units to angstroms.

Raises:

ValueError – If the min/max values are invalid or if the calculated values for central wavelength or bandwidth are non-positive.

convert_to_wave(bandpass)[source]

Converts a given EnergyBandpass or FrequencyBandpass to a WavelengthBandPass.

Parameters:

bandpass (EnergyBandpass or FrequencyBandpass) – The bandpass filter in energy or frequency domain.

Returns:

The corresponding bandpass filter in the wavelength domain.

Return type:

WavelengthBandpass

Notes

When converting from Energy/Frequency to wavelength, the min/max values are inverted in relation to their corresponding wavelengths. Thus, the min/max values are switched during conversion.