calibpipe.telescope.pointing package#

Pointing-related telescope calibration utilities.

Submodules#

calibpipe.telescope.pointing.containers module#

Containers to store the properties of stars, star images in the camera and star fitter results used for pointing calibration.

class calibpipe.telescope.pointing.containers.StarDescriptionContainer(prefix=None, **fields)[source]#

Bases: Container

Container, describing the properties of a single star.

Attributes:
labelField(default=, type=str)

Star label

catalog_nameField(default=, type=str)

Star catalog name

magnitudeField(default=-1)

Star magnitude

wavelength_bandField(default=, type=str)

Wavelength band of the star magnitude

raField(default=nan deg, unit=deg)

Right ascension of the star in J2000

decField(default=nan deg, unit=deg)

Declination of the star in J2000

pm_decField(default=nan mas / yr, unit=mas / yr)

Proper motion in declination

pm_ra_cosdecField(default=nan mas / yr, unit=mas / yr)

Proper motion in right ascension (multiplied by cos(declination))

metadict

dict of attached metadata

prefixstr

Prefix attached to column names when saved to a table or file

label#
catalog_name#
magnitude#
wavelength_band#
ra#
dec#
pm_dec#
pm_ra_cosdec#
meta#
prefix#
default_prefix = 'stardescription'#
fields = {'catalog_name': Field(default=, type=str), 'dec': Field(default=nan deg, unit=deg), 'label': Field(default=, type=str), 'magnitude': Field(default=-1), 'pm_dec': Field(default=nan mas / yr, unit=mas / yr), 'pm_ra_cosdec': Field(default=nan mas / yr, unit=mas / yr), 'ra': Field(default=nan deg, unit=deg), 'wavelength_band': Field(default=, type=str)}#
class calibpipe.telescope.pointing.containers.StarImageContainer(prefix=None, **fields)[source]#

Bases: Container

Container, describing star image in the camera.

Attributes:
timeField(default=0.0)

Observation time

fov_latField(default=nan deg, unit=deg)

Star position in FoV latitude

fov_lonField(default=nan deg, unit=deg)

Star position in FoV longitude

fov_lat_errorField(default=nan deg, unit=deg)

Star position error in FoV latitude

fov_lon_errorField(default=nan deg, unit=deg)

Star position error in FoV longitude

pixel_idField(default=[-1])

Pixel id of closest pixel to Star position

pixel_clusterField(default=[-1])

Pixel ids of star cluster above background threshold

is_validField(default=False)

Validity flag of the star image

metadict

dict of attached metadata

prefixstr

Prefix attached to column names when saved to a table or file

time#
fov_lat#
fov_lon#
fov_lat_error#
fov_lon_error#
pixel_id#
pixel_cluster#
is_valid#
meta#
prefix#
default_prefix = 'starimage'#
fields = {'fov_lat': Field(default=nan deg, unit=deg), 'fov_lat_error': Field(default=nan deg, unit=deg), 'fov_lon': Field(default=nan deg, unit=deg), 'fov_lon_error': Field(default=nan deg, unit=deg), 'is_valid': Field(default=False), 'pixel_cluster': Field(default=[-1]), 'pixel_id': Field(default=[-1]), 'time': Field(default=0.0)}#
class calibpipe.telescope.pointing.containers.StarContainer(prefix=None, **fields)[source]#

Bases: Container

Container describing a single star in the field of view.

Attributes:
descriptionField(default=calibpipe.telescope.pointing.containers.StarDescriptionContainer)

Catalog description of a star

expected_imageField(default=calibpipe.telescope.pointing.containers.StarImageContainer)

Expected star image

reco_imageField(default=calibpipe.telescope.pointing.containers.StarImageContainer)

Reconstructed star image

metadict

dict of attached metadata

prefixstr

Prefix attached to column names when saved to a table or file

description#
expected_image#
reco_image#
meta#
prefix#
default_prefix = 'star'#
fields = {'description': Field(default=calibpipe.telescope.pointing.containers.StarDescriptionContainer), 'expected_image': Field(default=calibpipe.telescope.pointing.containers.StarImageContainer), 'reco_image': Field(default=calibpipe.telescope.pointing.containers.StarImageContainer)}#
class calibpipe.telescope.pointing.containers.StarFitterContainer(prefix=None, **fields)[source]#

Bases: ChunkContainer

Container, describing star fitter results.

Attributes:
time_startField(default=0.0)

high resolution start time of the chunk

time_endField(default=0.0)

high resolution end time of the chunk

event_id_startField(default=None)

event id of the first event of the chunk

event_id_endField(default=None)

event id of the last event of the chunk

n_eventsField(default=-1)

number of events used for the calculation of the chunk values

outlier_maskField(default=None)

boolean mask indicating outliers in the chunk

is_validField(default=False)

true if chunk values are valid

dlatField(default=nan deg, unit=deg)

Pointing latitude offset

dlonField(default=nan deg, unit=deg)

Pointing longitude offset

dlat_errorField(default=nan deg, unit=deg)

Pointing latitude error

dlon_errorField(default=nan deg, unit=deg)

Pointing longitude error

data_points_in_fitField(default=-1, type=int)

Number of data points used in the fit

stars_in_fitField(default=-1, type=int)

Number of stars used in the fit

metadict

dict of attached metadata

prefixstr

Prefix attached to column names when saved to a table or file

dlat#
dlon#
dlat_error#
dlon_error#
data_points_in_fit#
stars_in_fit#
meta#
prefix#
default_prefix = 'starfitter'#
fields = {'data_points_in_fit': Field(default=-1, type=int), 'dlat': Field(default=nan deg, unit=deg), 'dlat_error': Field(default=nan deg, unit=deg), 'dlon': Field(default=nan deg, unit=deg), 'dlon_error': Field(default=nan deg, unit=deg), 'event_id_end': Field(default=None), 'event_id_start': Field(default=None), 'is_valid': Field(default=False), 'n_events': Field(default=-1), 'outlier_mask': Field(default=None), 'stars_in_fit': Field(default=-1, type=int), 'time_end': Field(default=0.0), 'time_start': Field(default=0.0)}#

calibpipe.telescope.pointing.starfield module#

Star field handling for pointing calibration.

class calibpipe.telescope.pointing.starfield.StarFieldQuery(*args: t.Any, **kwargs: t.Any)[source]#

Bases: TelescopeComponent

Star field component to query stars in the camera field of view.

catalog_name#

Catalog name from ctapipe.utils.astro.StarCatalog to query for stars.

apply_proper_motion#

Whether to apply proper motion correction to star positions based on the observation time. For simulation data, we might want to switch off proper motion correction to ensure consistency with the simulated starfield coordinates.

region_radius#

Radius of the region around the telescope pointing to query for stars.

max_magnitude#

Maximum magnitude of stars to consider for pointing calibration.

wavelength_band#

Wavelength band to use for star magnitude.

__init__(monitoring_source, config=None, parent=None, **kwargs)[source]#
Parameters:
configtraitlets.loader.Config

Configuration specified by config file or cmdline arguments. Used to set traitlet values.

parent: Tool or Component

If a Component is created by another Component or Tool, you need to pass the creating Component as parent, e.g. parent=self. This makes sure the config is correctly handed down to the child components. Do not pass config in this case.

kwargs

Traitlets to be overridden. TraitError is raised if kwargs contains a key that does not correspond to a traitlet.

class calibpipe.telescope.pointing.starfield.StarFieldReconstructor(*args: t.Any, **kwargs: t.Any)[source]#

Bases: TelescopeComponent

Star field component to reconstruct stars in the camera field of view.

psf_model_type#

Component name of the PSF model to use for the optical PSF. The name of a PSFModel subclass. Possible values: [‘ComaPSFModel’]

pdf_bin_range_factor#

PDF bin range factor to be multiplied with the plate scale (in deg) of the telescope to define the PDF calculation range around the expected star position.

n_pdf_bins#

Number of bins for PDF calculation in each dimension.

min_star_prominence#

Minimal star prominence over the background in terms of NSB variance std deviations.

pdf_percentile_limit#

Relative PDF lower bound.

__init__(subarray, config=None, parent=None, **kwargs)[source]#
Parameters:
configtraitlets.loader.Config

Configuration specified by config file or cmdline arguments. Used to set traitlet values.

parent: Tool or Component

If a Component is created by another Component or Tool, you need to pass the creating Component as parent, e.g. parent=self. This makes sure the config is correctly handed down to the child components. Do not pass config in this case.

kwargs

Traitlets to be overridden. TraitError is raised if kwargs contains a key that does not correspond to a traitlet.

calibpipe.telescope.pointing.starfitter module#

Star trajectory fitting module.

class calibpipe.telescope.pointing.starfitter.StarFitter(*args: t.Any, **kwargs: t.Any)[source]#

Bases: Component

Star trajectory fitting class.

exclude_invalid_stars#

Whether to exclude ‘invalid’ stars in the fit, which are those that not have been successfully reconstructed in the camera over the entire time period of the chunk. Setting this flag to ‘False’ will include all stars in the fit, regardless of their reconstruction status. Excluding stars that have any failed reconstruction within the chunk may result in more reliable fits but fewer stars contributing to the fit.

fit_function(x, beta)[source]#

Linear fit function for ODR.

Parameters:
xarray-like

Independent variable (reco_fov_offset)

betaarray-like

Fit parameters (dlat, dlon)

Returns:
array-like

Dependent variable (expected_fov_offset) calculated from the fit parameters and independent variable