SdssTranslator#

class astro_metadata_translator.SdssTranslator(header, filename=None)#

Bases: FitsTranslator

Metadata translator for SDSS standard headers. NB: calibration data is not handled as calibration frames were not available to me at time of writing.

Parameters:

Attributes Summary

all_properties

All the valid properties for this translator including extensions.

default_resource_root

Default resource path root to use to locate header correction files.

detector_name_id_map

name

Name of this translation class

supported_instrument

Supports the SDSS imager instrument.

Methods Summary

can_translate(header[, filename])

Indicate whether this translation class can translate the supplied header.

to_altaz_begin()

Return value of altaz_begin from headers.

to_boresight_airmass()

Return value of boresight_airmass from headers.

to_boresight_rotation_angle()

Angle of the instrument in boresight_rotation_coord frame.

to_boresight_rotation_coord()

Coordinate frame of the instrument rotation angle (options: sky, unknown).

to_dark_time()

Duration of the exposure with shutter closed (seconds).

to_datetime_begin()

Calculate start time of observation.

to_datetime_end()

Calculate end time of observation.

to_detector_exposure_id()

Return value of detector_exposure_id from headers.

to_detector_group()

Return value of detector_group from headers.

to_detector_name()

Name of the detector within the instrument (might not be unique if there are detector groups).

to_detector_num()

Return value of detector_num from headers.

to_detector_serial()

Serial number/string associated with this detector.

to_detector_unique_name()

Return a unique name for the detector.

to_exposure_id()

Unique (with instrument) integer identifier for this observation.

to_exposure_time()

Actual duration of the exposure (seconds).

to_instrument()

The instrument used to observe the exposure.

to_location()

Calculate the observatory location.

to_object()

Object of interest or field name.

to_observation_id()

Calculate the observation ID.

to_observation_type()

Calculate the observation type.

to_physical_filter()

The bandpass filter used for this observation.

to_pressure()

Atmospheric pressure outside the dome.

to_relative_humidity()

Relative humidity outside the dome.

to_science_program()

Observing program (survey or proposal) identifier.

to_telescope()

Full name of the telescope.

to_temperature()

Temperature outside the dome.

to_tracking_radec()

Return value of tracking_radec from headers.

to_visit_id()

ID of the Visit this Exposure is associated with.

Attributes Documentation

all_properties: dict[str, PropertyDefinition] = {'altaz_begin': <astro_metadata_translator.properties.PropertyDefinition object>, 'altaz_end': <astro_metadata_translator.properties.PropertyDefinition object>, 'boresight_airmass': <astro_metadata_translator.properties.PropertyDefinition object>, 'boresight_rotation_angle': <astro_metadata_translator.properties.PropertyDefinition object>, 'boresight_rotation_coord': <astro_metadata_translator.properties.PropertyDefinition object>, 'can_see_sky': <astro_metadata_translator.properties.PropertyDefinition object>, 'dark_time': <astro_metadata_translator.properties.PropertyDefinition object>, 'datetime_begin': <astro_metadata_translator.properties.PropertyDefinition object>, 'datetime_end': <astro_metadata_translator.properties.PropertyDefinition object>, 'detector_exposure_id': <astro_metadata_translator.properties.PropertyDefinition object>, 'detector_group': <astro_metadata_translator.properties.PropertyDefinition object>, 'detector_name': <astro_metadata_translator.properties.PropertyDefinition object>, 'detector_num': <astro_metadata_translator.properties.PropertyDefinition object>, 'detector_serial': <astro_metadata_translator.properties.PropertyDefinition object>, 'detector_unique_name': <astro_metadata_translator.properties.PropertyDefinition object>, 'exposure_group': <astro_metadata_translator.properties.PropertyDefinition object>, 'exposure_id': <astro_metadata_translator.properties.PropertyDefinition object>, 'exposure_time': <astro_metadata_translator.properties.PropertyDefinition object>, 'exposure_time_requested': <astro_metadata_translator.properties.PropertyDefinition object>, 'focus_z': <astro_metadata_translator.properties.PropertyDefinition object>, 'group_counter_end': <astro_metadata_translator.properties.PropertyDefinition object>, 'group_counter_start': <astro_metadata_translator.properties.PropertyDefinition object>, 'has_simulated_content': <astro_metadata_translator.properties.PropertyDefinition object>, 'instrument': <astro_metadata_translator.properties.PropertyDefinition object>, 'location': <astro_metadata_translator.properties.PropertyDefinition object>, 'object': <astro_metadata_translator.properties.PropertyDefinition object>, 'observation_counter': <astro_metadata_translator.properties.PropertyDefinition object>, 'observation_id': <astro_metadata_translator.properties.PropertyDefinition object>, 'observation_reason': <astro_metadata_translator.properties.PropertyDefinition object>, 'observation_type': <astro_metadata_translator.properties.PropertyDefinition object>, 'observing_day': <astro_metadata_translator.properties.PropertyDefinition object>, 'observing_day_offset': <astro_metadata_translator.properties.PropertyDefinition object>, 'physical_filter': <astro_metadata_translator.properties.PropertyDefinition object>, 'pressure': <astro_metadata_translator.properties.PropertyDefinition object>, 'relative_humidity': <astro_metadata_translator.properties.PropertyDefinition object>, 'science_program': <astro_metadata_translator.properties.PropertyDefinition object>, 'telescope': <astro_metadata_translator.properties.PropertyDefinition object>, 'temperature': <astro_metadata_translator.properties.PropertyDefinition object>, 'tracking_radec': <astro_metadata_translator.properties.PropertyDefinition object>, 'visit_id': <astro_metadata_translator.properties.PropertyDefinition object>}#

All the valid properties for this translator including extensions.

default_resource_root: str | None = 'corrections/SDSS'#

Default resource path root to use to locate header correction files.

detector_name_id_map = {'g1': 0, 'g2': 5, 'g3': 10, 'g4': 15, 'g5': 20, 'g6': 25, 'i1': 3, 'i2': 8, 'i3': 13, 'i4': 18, 'i5': 23, 'i6': 28, 'r1': 4, 'r2': 9, 'r3': 14, 'r4': 19, 'r5': 24, 'r6': 29, 'u1': 2, 'u2': 7, 'u3': 12, 'u4': 17, 'u5': 22, 'u6': 27, 'z1': 1, 'z2': 6, 'z3': 11, 'z4': 16, 'z5': 21, 'z6': 26}#
name: str | None = 'SDSS'#

Name of this translation class

supported_instrument: str | None = 'Imager'#

Supports the SDSS imager instrument.

Methods Documentation

classmethod can_translate(header, filename=None)#

Indicate whether this translation class can translate the supplied header.

Parameters:
  • header (dict-like) – Header to convert to standardized form.

  • filename (str, optional) – Name of file being translated.

Returns:

canTrue if the header is recognized by this class. False otherwise.

Return type:

bool

to_altaz_begin()#

Return value of altaz_begin from headers.

Telescope boresight azimuth and elevation at start of observation.

Returns:

The translated property.

Return type:

astropy.coordinates.builtin_frames.altaz.AltAz

to_boresight_airmass()#

Return value of boresight_airmass from headers.

Airmass of the boresight of the telescope.

Returns:

The translated property.

Return type:

float

to_boresight_rotation_angle()#

Angle of the instrument in boresight_rotation_coord frame.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

astropy.coordinates.angles.core.Angle

Parameters:

self (MetadataTranslator)

to_boresight_rotation_coord()#

Coordinate frame of the instrument rotation angle (options: sky, unknown).

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

str

Parameters:

self (MetadataTranslator)

to_dark_time()#

Duration of the exposure with shutter closed (seconds).

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

astropy.units.quantity.Quantity

Parameters:

self (MetadataTranslator)

to_datetime_begin()#

Calculate start time of observation.

Uses FITS standard MJD-BEG or DATE-BEG, in conjunction with the TIMESYS header. Will fallback to using MJD-OBS or DATE-OBS if the -BEG variants are not found.

Returns:

start_time – Time corresponding to the start of the observation. Returns None if no date can be found.

Return type:

astropy.time.Time or None

to_datetime_end()#

Calculate end time of observation.

Uses FITS standard MJD-END or DATE-END, in conjunction with the TIMESYS header.

Returns:

start_time – Time corresponding to the end of the observation.

Return type:

astropy.time.Time

to_detector_exposure_id()#

Return value of detector_exposure_id from headers.

Unique integer identifier for this detector in this exposure.

Returns:

The translated property.

Return type:

int

to_detector_group()#

Return value of detector_group from headers.

Collection name of which this detector is a part. Can be None if there are no detector groupings.

Returns:

The translated property.

Return type:

str

to_detector_name()#

Name of the detector within the instrument (might not be unique if there are detector groups).

Returns:

Translated value derived directly from a single header.

Return type:

str

Parameters:

self (MetadataTranslator)

to_detector_num()#

Return value of detector_num from headers.

Unique (for instrument) integer identifier for the sensor.

Returns:

The translated property.

Return type:

int

to_detector_serial()#

Serial number/string associated with this detector.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

str

Parameters:

self (MetadataTranslator)

to_detector_unique_name()#

Return a unique name for the detector.

Base class implementation attempts to combine detector_name with detector_group. Group is only used if not None.

Can be over-ridden by specialist translator class.

Returns:

namedetector_group``_``detector_name if detector_group is defined, else the detector_name is assumed to be unique. If neither return a valid value an exception is raised.

Return type:

str

Raises:

NotImplementedError – Raised if neither detector_name nor detector_group is defined.

to_exposure_id()#

Unique (with instrument) integer identifier for this observation.

Returns:

Translated value derived directly from a single header.

Return type:

int

Parameters:

self (MetadataTranslator)

to_exposure_time()#

Actual duration of the exposure (seconds).

Returns:

Translated value derived directly from a single header.

Return type:

astropy.units.quantity.Quantity

Parameters:

self (MetadataTranslator)

to_instrument()#

The instrument used to observe the exposure.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

str

Parameters:

self (MetadataTranslator)

to_location()#

Calculate the observatory location.

Returns:

location – An object representing the location of the telescope.

Return type:

astropy.coordinates.EarthLocation

to_object()#

Object of interest or field name.

Returns:

Translated value derived directly from a single header.

Return type:

str

Parameters:

self (MetadataTranslator)

to_observation_id()#

Calculate the observation ID.

Returns:

observation_id – A string uniquely describing the observation. This incorporates the run, camcol, filter and frame.

Return type:

str

to_observation_type()#

Calculate the observation type.

Returns:

typ – Observation type. Normalized to standard set.

Return type:

str

to_physical_filter()#

The bandpass filter used for this observation.

Returns:

Translated value derived directly from a single header.

Return type:

str

Parameters:

self (MetadataTranslator)

to_pressure()#

Atmospheric pressure outside the dome.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

astropy.units.quantity.Quantity

Parameters:

self (MetadataTranslator)

to_relative_humidity()#

Relative humidity outside the dome.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

float

Parameters:

self (MetadataTranslator)

to_science_program()#

Observing program (survey or proposal) identifier.

Returns:

Translated value derived directly from a single header.

Return type:

str

Parameters:

self (MetadataTranslator)

to_telescope()#

Full name of the telescope.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

str

Parameters:

self (MetadataTranslator)

to_temperature()#

Temperature outside the dome.

Returns:

Translated property that is fixed to a single value by the translator.

Return type:

astropy.units.quantity.Quantity

Parameters:

self (MetadataTranslator)

to_tracking_radec()#

Return value of tracking_radec from headers.

Requested RA/Dec to track.

Returns:

The translated property.

Return type:

astropy.coordinates.sky_coordinate.SkyCoord

to_visit_id()#

ID of the Visit this Exposure is associated with.

Science observations should essentially always be associated with a visit, but calibration observations may not be.

Returns:

Translated value derived directly from a single header.

Return type:

int

Parameters:

self (MetadataTranslator)