exoctk.contam_visibility package

Submodules

exoctk.contam_visibility.astro_funcx module

exoctk.contam_visibility.astro_funcx.JWST_same_ori(tgt0_c1, tgt0_c2, p0, tgt_c1, tgt_c2)[source]

Calculates normal orientation of second target, given first target’s orientation is normal. This is in Ecliptic coordinates!

Parameters
tgt0_c1: float

The RA of the first target.

tgt0_c2: float

The Dec of the first target.

p0: float

The origin.

tgt1_c1: float

The RA of the second target.

tgt1_c2: float

The Dec of the second target.

Returns
float

The normal orientation.

exoctk.contam_visibility.astro_funcx.delta_pa_no_roll(pos1_c1, pos1_c2, pos2_c1, pos2_c2)[source]

Calculates the change in position angle between two positions with no roll about V1

Parameters
pos1_c1: float

The RA of the first position.

pos1_c2: float

The Dec of the first position.

pos2_c1: float

The RA of the second position.

pos2_c2: float

The Dec of the second position.

Returns
float

The change in position angle.

exoctk.contam_visibility.astro_funcx.dist(obj1_c1, obj1_c2, obj2_c1, obj2_c2)[source]

Calculates the angular distance betrween two objects, positions specified in spherical coordinates

Parameters
obj1_c1: float

The RA of the first object.

obj1_c2: float

The Dec of the first object.

obj2_c1: float

The RA of the second object.

obj2_c2: float

The Dec of the second object.

Returns
float

The distance between the objects.

exoctk.contam_visibility.astro_funcx.pa(tgt_c1, tgt_c2, obj_c1, obj_c2)[source]

Calculates position angle of object at tgt position.

Parameters
tgt_c1: float

The RA of the target.

tgt_c2: float

The Dec of the target.

obj_c1: float

The RA of the reference.

obj_c2: float

The Dec of the reference.

Returns
float

The position angle.

exoctk.contam_visibility.astro_funcx.unit_limit(x)[source]

Forces value to be in [-1, 1]

Parameters
x: float, int

The value to adjust.

exoctk.contam_visibility.ephemeris_old2x module

class exoctk.contam_visibility.ephemeris_old2x.Ephemeris(ephem_file, cnvrt=False)[source]

Bases: object

A class for the ephemeris of an observation.

Ephemeris constructor

Parameters
ephem_file: str

The path to the ephemeris file.

cnvrt: bool, optional

Converts into Ecliptic frame.

OP_window(adate, ngc_1, ngc_2, pa, mdelta, pdelta)[source]

Attitude at adate must be valid, else returns (0, 0). If valid, returns (adate-mdelta, adate+pdelta) or the constraint window, which ever is smaller.

Parameters
date: float

The date of the observation.

ngc_1: flaot

The RA of the reference in radians.

ngc_2: float

The Dec of the reference in radians.

pa: float

The position angle.

mdelta: float

Delta time on low end.

pdelta: float

Delta time on high end.

Returns
tuple

The OP window.

Vsun_pos(adate)[source]

The vector of the sun at the given date

Parameters
adate: datetime

The date of the observation

Returns
Vector

The position of the sun as a Vector object

bisect_by_FOR(in_date, out_date, ngc_1, ngc_2)[source]

Find the midpoint in time between in and out of FOR, assumes only one “root” in interval

Parameters
in_date: float

The in date of the observation.

out_date: float

The out date of the observation.

ngc_1: flaot

The RA of the reference in radians.

ngc_2: float

The Dec of the reference in radians.

Returns
float

The midpoint in time.

bisect_by_attitude(in_date, out_date, ngc_1, ngc_2, pa)[source]

Find the midpoint in time between in and out of FOR, assumes only one “root” in interval

Parameters
in_date: float

The in date of the observation.

out_date: float

The out date of the observation.

ngc_1: flaot

The RA of the reference in radians.

ngc_2: float

The Dec of the reference in radians.

pa: float

The position angle.

Returns
float

The midpoint in time.

in_FOR(date, ngc_1, ngc_2)[source]

Test if in the FOR

Parameters
date: float

The date of the observation.

ngc_1: flaot

The RA of the reference in radians.

ngc_2: float

The Dec of the reference in radians.

Returns
bool

Is it in the FOR.

is_valid(date, ngc_1, ngc_2, V3pa)[source]

Indicates whether an attitude is valid at a given date.

Parameters
date: float

The date of the observation.

ngc_1: flaot

The RA of the reference in radians.

ngc_2: float

The Dec of the reference in radians.

V3pa: float

The V3 position of the telescope.

Returns
bool

Is it a valid PA.

long_term_attitude(date)[source]

Defines a long-term safe attitude as of a given date.

Parameters
date: float

The date of computation, as an mjd.

Returns
Attitude

The Attitude object at the given date.

normal_pa(adate, tgt_c1, tgt_c2)[source]

Calculate the V3 position

Parameters
adate: datetime.datetime object

The date of the observation.

tgt_c1: float

The RA in radians.

tgt_c2: float

The Dec in radians.

Returns
float

The V3 position.

pos(adate)[source]

Computes the position of the telescope at a given date using the grid of positions of the ephemeris as a starting point and applying a linear interpolation between the ephemeris grid points

Parameters
adate: datetime.datetime object

The date of the observation.

Returns
qx.Vector object

The position of the telescope as a Vector object

report_ephemeris(limit=100000, pathname=None)[source]

Prints a formatted report of the ephemeris.

Parameters
limit: int, optional

The number of records to report.

pathname: str, optional

The path to a file to hold the report.

sun_pos(adate)[source]

The coordinates of the sun at the given date

Parameters
adate: datetime.datetime object

The date of the observation.

Returns
tuple

The coordinates of the sun.

exoctk.contam_visibility.ephemeris_old2x.unit_limit(x)[source]

Forces value to be in [-1, 1].

Parameters
x: float, int

The value to adjust.

Returns
float

The adjusted value.

exoctk.contam_visibility.f_visibilityPeriods module

Series of functions to compute the visibility periods for a given (RA,DEC) with in some cases the possibility to select a PA value.

Functions derived from the code of Wayne Kinzel provided by Jeff Valenti Extract from the e-mail of Wayne Kinzel: As before, the code is not officially tested, nor is it an official STScI product. Users should be warned that the apparent position of the Sun changes ~+/-0.2 degrees epending upon where JWST is in its orbit. So do not rely strongly on these results if the target is within ~0.2 degrees of |ecliptic latitude| 45 degrees or 85 degrees. For example if a target is at 84.9 degrees latitude and the tool says it is CVZ, it may not be with the operational orbit.

exoctk.contam_visibility.f_visibilityPeriods.f_computeDurationOfVisibilityPeriodWithPA(ephemeris, mjdmin, mjdmax, ra, dec, pa, mjdc)[source]

Computes the duration of a specific visibility period associated to a given (RA,DEC), a given PA and given date

flag = 0 visibility period fully in the search interval flag = -1 start of the visibility period truncated by

the start of the search interval

flag = -2 end of the visibility period truncated by

the end of the search interval

flag = +1 the search interval is fully included in

the visibility period

Parameters
ephemeris: Ephemeris

The input ephemeris object.

mjdmin: float

The beginning of the search interval (modified Julian date). It must be covered by the ephemeris.

mjdmax: float

The end of the search interval (modified Julian date). It must be covered by the ephemeris.

ra: float

The input RA coordinate (equatorial coordinate, in rad).

dec: float

The input DEC coordinate (equatorial coordinate, in rad).

pa: float

The position angle.

Returns
tuple

The lists of visibility period starts and ends with flags.

exoctk.contam_visibility.f_visibilityPeriods.f_computeVisibilityPeriods(ephemeris, mjdmin, mjdmax, ra, dec)[source]

Returns two lists containing the start end end of each visibility period and a list containing a status flag

flag = 0 visibility period fully in the search interval flag = -1 start of the visibility period truncated by

the start of the search interval

flag = -2 end of the visibility period truncated by

the end of the search interval

flag = +1 the search interval is fully included in

the visibility period

Parameters
ephemeris: Ephemeris

The input ephemeris object.

mjdmin: float

The beginning of the search interval (modified Julian date). It must be covered by the ephemeris.

mjdmax: float

The end of the search interval (modified Julian date). It must be covered by the ephemeris.

ra: float

The input RA coordinate (equatorial coordinate, in rad).

dec: float

The input DEC coordinate (equatorial coordinate, in rad).

Returns
tuple

The lists of visibility period starts and ends with flags.

exoctk.contam_visibility.f_visibilityPeriods.f_computeVisibilityPeriodsWithPA(ephemeris, mjdmin, mjdmax, ra, dec, pa)[source]

Returns two lists containing the start end end of each visibility period and a list containing a status flag

flag = 0 visibility period fully in the search interval flag = -1 start of the visibility period truncated by

the start of the search interval

flag = -2 end of the visibility period truncated by

the end of the search interval

flag = +1 the search interval is fully included in

the visibility period

Parameters
ephemeris: Ephemeris

The input ephemeris object.

mjdmin: float

The beginning of the search interval (modified Julian date). It must be covered by the ephemeris.

mjdmax: float

The end of the search interval (modified Julian date). It must be covered by the ephemeris.

ra: float

The input RA coordinate (equatorial coordinate, in rad).

dec: float

The input DEC coordinate (equatorial coordinate, in rad).

pa: float

The position angle.

Returns
tuple

The lists of visibility period starts and ends with flags

exoctk.contam_visibility.math_extensionsx module

This module provides simple extensions to the Python mathematical library. 2018/06/26 Made PEP8 compliant and added sind() and cosd() - Joe Filippazzo Version 1 August 23, 2010 RLH - Added OBLIQUITY. Version 0 August 6, 2010 RLH - Created

class exoctk.contam_visibility.math_extensionsx.Circle(radius)[source]

Bases: object

Class to represent a circle.

Initialize a circle with a specified radius.

Parameters
radius: float

The radius of the circle.

area()[source]

Returns the area of the circle.

class exoctk.contam_visibility.math_extensionsx.ContinuousHistogram(boundaries, highest_inclusive=False)[source]

Bases: exoctk.contam_visibility.math_extensionsx.Histogram

Class to represent a histogram with continuous values.

Initializes a continuous histogram.

Default behavior with highest_inclusive = False:

Bin 0 is defined by x <= boundaries[0]. For i > 0, bin i is defined by boundaries[i-1] < x <= boundaries[i]. Bin n+1 is defined by x > boundaries[n-1].

Behavior with highest_exclusive = True:

Bins below n are defined in the same way as above. Bin n is defined by boundaries[n-2] < x < boundaries[n-1]. Bin n+1 is defined by x >= boundaries[n-1].

Parameters
boundaries: sequence

List of numbers that separate the bins, in increasing order.

highest_inclusive: bool

True if highest bin includes the last boundary, False (default) otherwise.

retrieve_boundaries()[source]

Returns the list of boundaries of a continuous histogram.

store_items(value, count=1)[source]

Stores a value in the continuous histogram.

Parameters
value: float

The value to store.

count: int

Number of items with that value to store (default 1).

class exoctk.contam_visibility.math_extensionsx.DiscreteBin(bin_value)[source]

Bases: exoctk.contam_visibility.math_extensionsx.HistogramBin

Class to represent a bin with a fixed value.

Constructor for a fixed-value bin

Parameters
bin_value: float

The value of the bin.

ismatch(value)[source]

Returns True if the value matches the bin, False otherwise

Parameters
value: float

The value to compare.

Returns
bool

True if matches, else False.

class exoctk.contam_visibility.math_extensionsx.DiscreteHistogram(values)[source]

Bases: exoctk.contam_visibility.math_extensionsx.Histogram

Class to represent a histogram with discrete values.

Initializes a histogram with discrete values.

Parameters
values: sequence

List of the discrete values.

retrieve_count_by_value(value)[source]

Returns the count matching a certain value. If not found, return None

Parameters
value: float

The value to retrieve.

retrieve_values()[source]

Returns the list of bin values of a discrete histogram

store_items(value, count=1)[source]

Stores a value in the discrete histogram if it matches one of the bin values.

Count = number of items with that value to store (default 1).

Returns True if a match was found and the value could be stored, False otherwise

Parameters
value: float

The value to store.

count: int

Number of items with that value to store (default 1).

Returns
foundbool

Whether or not a match was found.

class exoctk.contam_visibility.math_extensionsx.Histogram[source]

Bases: object

Class to represent a histogram.

normalize(total=None)[source]

Takes a histogram and returns a new histogram that normalizes all its values.

Parameters
total: int

Number of items to divide each bin by for the normalization. If not supplied, it defaults to the total in the histogram.

Returns
new_histogramHistogram

The new histogram.

num_items()[source]

Returns the total number of items stored in the histogram

retrieve_count(bin_index)[source]

Returns the number of items stored in a given bin of the histogram.

Parameters
bin_index: int

The index to use (starts with 1).

Returns
int

The number of items in the bin.

class exoctk.contam_visibility.math_extensionsx.HistogramBin[source]

Bases: object

Class to represent a bin within a histogram.

store_items(num_items=1)[source]

Stores a given number of items in the bin.

Parameters
num_items: int

Number of items to store (default 1).

class exoctk.contam_visibility.math_extensionsx.LinearEquation(coeff0, coeff1)[source]

Bases: exoctk.contam_visibility.math_extensionsx.Polynomial

Subclass of Polynomial for linear equations. This implementation is three times faster, so Polynomial should be reserved for higher orders.

Constructor for a linear equation to provide a more ‘natural’ interface without using a list.

Parameters
coeff0: float

Additive constant.

coeff1: float

Multiplicative coefficient.

apply(value)[source]

Applies a linear equation to an input value.

This is intended to be faster than the more general method with Polynomial.

Parameters
value: float

The evaluand.

Returns
float

The result of the evaluated equation.

class exoctk.contam_visibility.math_extensionsx.PoissonDistribution(mean, max_boundary)[source]

Bases: exoctk.contam_visibility.math_extensionsx.DiscreteHistogram

Class to represent a Poisson distribution.

Constructor function for the Poisson distribution.

Parameters
mean: float

Mean parameter for the Poisson distribution.

max_boundary: float

The largest parameter for which the probability is to be computed. All values larger than max_boundary will be lumped into the highest bin.

cumulative_probability(value)[source]

Returns the probability that a random variable will have a value no greater than the one specified.

Parameters
value: float

The value between 0 and the max_boundary of the distribution.

Returns
float

The probability.

generate_distribution()[source]

Populates a Poisson distribution up to the maximum bin.

probability(k)[source]

Computes the probability that the Poisson distribution takes on the value k.

Value must be a nonnegative integer.

Parameters
k: float

The value to compute.

Returns
float

The probability.

retrieve_count_by_value(value)[source]

Returns the number of items in the histogram that have the designated value.

Value must be an integer between 0 and max_boundary.

Parameters
value: float

The value to retrieve.

Returns
resultint

The number of items with the given value.

retrieve_values()[source]

Returns the list of bin values for the Poisson distribution.

class exoctk.contam_visibility.math_extensionsx.Polynomial(coefficients)[source]

Bases: object

Class to represent a polynomial.

Constructor for a polynomial. Coefficients = a list of coefficients, starting with order 0 and increasing.

Parameters
coefficients: sequence

The list of coefficients, starting with order 0 and increasing.

apply(value)[source]

Returns the result of applying a polynomial to an input value

Parameters
value: float

The evaluand.

Returns
float

The result of the evaluated equation.

class exoctk.contam_visibility.math_extensionsx.RangeBin(min_value=None, max_value=None, lower_inclusive=False, upper_inclusive=True)[source]

Bases: exoctk.contam_visibility.math_extensionsx.HistogramBin

Class to represent a bin with a range.

Constructor for a range bin.

Parameters
min_value: float

Minimum value for the bin.

max_value: float

Maximum value for the bin.

lower_inclusive: bool

True if min_value is inclusive, else False (default).

upper_inclusive: bool

True if max_value is inclusive, else False (default).

describe_limits(precision=2)[source]

Returns a printed representation of the limits of the bin.

Parameters
precision: int

Number of digits to print after the decimal point.

Returns
str

The limits of the bin.

ismatch(value)[source]

Indicates whether the bin matches the value.

Parameters
value: float

The value to compare.

Returns
bool

True if matches, else False.

istoo_high(value)[source]

Returns True if the specified value is too high for the bin. Assumes the bin has an upper limit.

Parameters
value: float

The value to compare.

Returns
bool

True if too high, else False.

class exoctk.contam_visibility.math_extensionsx.Rectangle(length, width)[source]

Bases: object

Class to represent a rectangle.

Initialize a rectangle with a specified length and width.

Parameters
length: float

The length of the rectangle.

width: float

The width of the rectangle.

area()[source]

Returns the area of the rectangle.

motion_tolerant_area(motion_length, motion_angle)[source]

Returns the area within a rectangle that can tolerate a motion in a known direction while remaining within the rectangle.

Parameters
motion_length: float

Distance of motion (same units as rectangle length and width).

motion_angle: float

Angle in radians between the direction of motion and long direction of rectangle.

Returns
float

The area.

class exoctk.contam_visibility.math_extensionsx.Square(side)[source]

Bases: exoctk.contam_visibility.math_extensionsx.Rectangle

Class to represent a square.

Initialize a square with a specified side length.

Parameters
side: float

The length of the square side.

inner_area(excluded_width)[source]

Returns the area of the square after removing a strip of specified width along each edge.

Parameters
excluded_width: float

The width of the strip to remove.

Returns
float

The area.

class exoctk.contam_visibility.math_extensionsx.StatisticalList(data=None)[source]

Bases: list

Numeric list class with statistical attributes.

Initializes a statistical list.

Parameters
data: sequence

List of inputs to list.

compute_rms()[source]

Computes the rms value of a statistical list.

compute_statistics(min_value=None, max_value=None, max_bins=None)[source]

Computes statistics for a StatisticalList object; must contain at least one element.

Parameters
min_value: float

Minimum value for cutoff of histogram (defaults to minimum in list).

max_value: float

Maximum value for cutoff of histogram (defaults to maximum in list).

max_bins: int

Maximum number of bins in histogram.

compute_variance()[source]

Computes the variance of a statistical list.

exoctk.contam_visibility.math_extensionsx.acos2(val)[source]

Safe version of acos that handles invalid arguments in the same way as asin2

Parameters
val: float

The evaluand.

Returns
float

The arccos of the value.

exoctk.contam_visibility.math_extensionsx.asin2(val)[source]

Safe version of asin that handles invalid arguments.

Arguments greater than 1 are truncated to 1; arguments less than -1 are set to -1.

Parameters
val: float

The evaluand.

Returns
float

The arcsin of the value.

exoctk.contam_visibility.math_extensionsx.atan2d(x)[source]

Return the arctan in degrees

Parameters
x: float

The evaluand.

Returns
float

The arctan of x in degrees.

exoctk.contam_visibility.math_extensionsx.average_histograms(histograms)[source]

Takes a list of histogram objects and simply averages all the bin values.

All histograms in the list must be identical except for the count.

Parameters
histograms: sequence

A lst of Histogram objects to combine.

Returns
new_histogramHistogram

The averaged histogram.

exoctk.contam_visibility.math_extensionsx.avg(l)[source]

Returns the average of a list of numbers

Parameters
l: sequence

The list of numbers.

Returns
float

The average.

exoctk.contam_visibility.math_extensionsx.avg2(num1, num2)[source]

Returns the average of two numbers

Parameters
num1: float

The first number.

num2: float

The second number.

Returns
float

The average.

exoctk.contam_visibility.math_extensionsx.combine_histograms(histograms)[source]

Takes a list of histograms and returns a new Histogram object that sums the values in each bin.

All histograms in the list must be identical except for the count.

Parameters
histograms: sequence

A lst of Histogram objects to combine.

Returns
Histogram

The combined histogram.

exoctk.contam_visibility.math_extensionsx.conditional_probability(p_joint, p_B)[source]

Returns probability of event A given event B.

Parameters
p_joint: float

P(A,B).

p_B: float

Probability of event B.

Returns
float

The probability.

exoctk.contam_visibility.math_extensionsx.cosd(x)[source]

Return the cos in degrees

Parameters
x: float

The evaluand.

Returns
float

The cos of x in degrees.

exoctk.contam_visibility.math_extensionsx.factorial(num)[source]

Returns the factorial of a nonnegative integer. This function is provided in math module starting with Python 2.6, but implement anyway for compatibility with older systems.

Parameters
num: int

The number to factorialize.

Returns
int

The factorial.

exoctk.contam_visibility.math_extensionsx.output_as_percentage(num, fractional_digits=1)[source]

Output a percentage neatly.

Parameters
num: float

The number to make into a percentage.

fractional_digits: int

Number of digits to output as fractions of a percent. If not supplied, there is no reduction in precision.

Returns
str

The percentage.

exoctk.contam_visibility.math_extensionsx.percent_str(num, fractional_digits=1)[source]

Output a number as a percentage.

Parameters
num: float

The number to make into a percentage.

fractional_digits: int

Number of digits to output as fractions of a percent. If not supplied, there is no reduction in precision.

Returns
str

The percentage.

exoctk.contam_visibility.math_extensionsx.really_greater_than(x, y)[source]

Safe greater-than function that returns true if and only if x is “significantly” greater than y

Parameters
x: float

The first number.

y: float

The second number.

Returns
bool

True if x is greater, else False.

exoctk.contam_visibility.math_extensionsx.really_less_than(x, y)[source]

Safe less-than function that returns true if and only if x is “significantly” less than y.

Parameters
x: float

The first number.

y: float

The second number.

Returns
bool

True if x is less, else False.

exoctk.contam_visibility.math_extensionsx.sind(x)[source]

Return the sin in degrees.

Parameters
x: float

The evaluand.

Returns
float

The sin of x in degrees.

exoctk.contam_visibility.math_extensionsx.stdev(l)[source]

Standard deviation of a list of numbers that represent sample values

Parameters
l: sequence

The list to take the standard deviation of.

Returns
float

The standard deviation.

exoctk.contam_visibility.math_extensionsx.variance(l)[source]

Variance of a list of numbers that represent sample values

Parameters
l: sequence

The list to take the variance of.

Returns
float

The variance.

exoctk.contam_visibility.quaternionx module

Version 4 September 9, 2010 WMK Flipped sign of the angle in the QX, QY, QZ, QJX, QJY, QJZ, set_values, set_as_QX, … functions to be consistent with the corrected multiplication. Also updated the doc strings.

Version 3 September 8, 2010 RLH Backed out change to cnvrt in version 2.

Version 2 September 3, 2010 RLH Fixed sign error in quaternion multiplication functions. Added quaternion __str__ method. Modified cnvrt method to return a CelestialVector

4/9/2010 WMK Redefined the __init__ inputs Changed from a Vector internal representation to 3 scalers Fixed an error in cvt_att_Q_to_angles, was assuming an att2inertial Quaternion! Streamlined some of the functions

Version 1.0 August 3, 2010 Got rid of degrees trig functions.

Combined this and rotationsx.py module to avoid circular imports and made it PEP Compliant Joe Filippazzo - 2018/06/26

class exoctk.contam_visibility.quaternionx.Attitude(ra=0.0, dec=0.0, pa=0.0, frame='eq', degrees=True)[source]

Bases: exoctk.contam_visibility.quaternionx.CelestialVector

Defines an Observatory attitude by adding a position angle.

Constructor for an Attitude.

pa = position_angle in degrees(default) or radians if degrees=False is specified. Other arguments are the same as with CelestialVector

Parameters
ra: float

The right ascension.

dec: float

The declination.

pa: float

The position angle.

frame: str

The frame to use.

degrees: bool

Use degrees.

class exoctk.contam_visibility.quaternionx.CelestialVector(ra=0.0, dec=0.0, frame='eq', degrees=True)[source]

Bases: exoctk.contam_visibility.quaternionx.Vector

Class to encapsulate a unit vector on the celestial sphere.

Constructor for a celestial vector.

There are two spherical coordinates, a longitudinal coordinate (called right ascension), and a latitudinal coordinate (called declination). The RA is defined as the counterclockwise angle from a reference direction on the equatorial plane; it ranges from 0-360 degrees. The DEC is the angle between the vector and the equatorial plane; it ranges from -90 to 90 degrees. Angles are specified in degrees but represented internally as radians.

The frame attribute indicates the coordinate frame of the vector, which may be ‘eq’ (equatorial, default), ‘ec’ (ecliptic), or ‘gal’ (galactic). In equatorial coordinates, the equatorial plane is the celestial equator (extension of the Earth’s equator) and the reference axis is the vernal equinox. In ecliptic coordiantes, the equatorial plane is the ecliptic (the Earth’s orbital plane) and the reference axis is usually defined relative to the Sun. In galactic coordinates, the equatorial plane is the plane of the Galaxy.

The degrees attribute should be True if the RA, DEC inputs are in degrees. Otherwise radians is assumed.

The coordinates “ra” and “dec” may be used in all three systems. Other names for coordinates in different frames may be defined for clarity.

A CelestialVector is also an ordinary unit vector, with Cartesian coordinates defined relative to the equatorial plane.

Parameters
ra: float

The right ascension.

dec: float

The declination.

frame: str

The frame to use.

degrees: bool

Use degrees.

position_angle(v)[source]

Returns the position angle of v at the self vector, in radians.

v is an arbitrary vector that should be a CelestialVector object. The position angle is the angle between the North vector on the plane orthogonal to the self vector and the projection of v onto that plane, defined counterclockwise. See “V3-axis Position Angle”, John Isaacs, May 2003 for further discussion.

Parameters
v: Vector

The vector to measure against.

Returns
pafloat

The position angle between the two vectors.

rotate_about_axis(angle, axis)[source]

This rotates a vector about an axis by the specified angle by using a rotation matrix. A new vector is returned.

Axis must be ‘x’, ‘y’, or ‘z’. The x-rotation rotates the y-axis toward the z-axis. The y-rotation rotates the z-axis toward the x-axis. The z-rotation rotates the x-axis toward the y-axis.

Parameters
angle: float

The angle of rotation.

axis: str

The axis to rotate about, [‘x’, ‘y’, ‘z’].

Returns
resultVector

The rotated vector.

rotate_about_eigenaxis(angle, eigenaxis)[source]

Rotates a vector about arbitrary eigenaxis.

eigenaxis = Vector object (axis about which to rotate). angle = angle to rotate by in radians. Rotation is counterclockwise looking outward from origin along eigenaxis. Function uses rotation matrix from Rodrigues formula.

Note: This function is more general than rotate_about_axis above and could be used in its place. However, rotate_about_axis is faster and clearer when the rotation axis is one of the Cartesian axes.

Parameters
angle: float

The angle of rotation.

eigenaxis: Vector

The eigenaxis to rotate about.

Returns
resultVector

The rotated vector.

rotate_by_posang(pa)[source]

Returns the vector that results from rotating the self vector counterclockwise from the North projection onto the plane orthogonal to that vector by the specified position angle (in radians). See “V3-axis Position Angle”, John Isaacs, May 2003 for further discussion.

Parameters
pa: float

The position angle.

Returns
resultVector

The rotated vector.

rotate_using_quaternion(angle, eigenaxis)[source]

Rotates a vector about arbitrary eigenaxis using quaternion.

This is an alternative formulation for rotate_about_eigenaxis. Interface is the same as rotate_about_eigenaxis.

Parameters
angle: float

The angle of rotation.

eigenaxis: Vector

The eigenaxis to rotate about.

Returns
Vector

The rotated vector.

set_eq(ra, dec, degrees=False)[source]

Modifies a celestial vector with a new RA and DEC.

degrees = True if units are degrees. Default is radians.

Parameters
ra: float

The right ascension.

dec: float

The declination.

degrees: bool

Use degrees.

transform_frame(new_frame)[source]

Transforms coordinates between celestial and ecliptic frames and returns result as a new CelestialVector. If new coordinate frame is the same as the old, a copy of the vector is returned.

Parameters
new_frame: str

Convert to new frame.

Returns
resultVector

The transformed vector.

update_cartesian(x=None, y=None, z=None)[source]

Modifies a celestial vector by specifying new Cartesian coordinates.

Any subset of the Cartesian coordinates may be specifed.

Parameters
x: float

The extent in x.

y: float

The extent in y.

z: float

The extent in z.

class exoctk.contam_visibility.quaternionx.GalacticPole(latitude, longitude, ascending_node)[source]

Bases: object

Represents coordinates of galactic pole.

Initializes the coordinates of the galactic pole.

Parameters
latitude: float

Latitude of pole, in degrees.

longitude: float

Longitude of pole, in degrees.

ascending_node: float

Ascending node of pole, in degrees.

class exoctk.contam_visibility.quaternionx.Matrix(rows)[source]

Bases: list

Class to encapsulate matrix data and methods.

A matrix is simply a list of lists that correspond to rows of the matrix. This is just intended to handle simple multiplication and vector rotations. For anything more advanced or computationally intensive, Python library routines should be used.

Constructor for a matrix.

This accepts a list of rows. It is assumed the rows are all of the same length.

Parameters
rows: sequence

The rows of the matrix.

column(col_index)[source]

Returns a specified column of the matrix as a numeric list.

Parameters
col_index: int

The column index.

Returns
list

The column values.

element(row_index, col_index)[source]

Returns an element of the matrix indexed by row and column.

Indices begin with 0.

Parameters
row_index: int

The row index.

col_index: int

The column index.

Returns
float

The matrix value.

get_cols()[source]

Returns list of all columns in a matrix.

num_cols()[source]

Returns the number of columns in the matrix.

num_rows()[source]

Returns the number of rows in the matrix.

row(row_index)[source]

Returns a specified row of the matrix.

Parameters
row_index: int

The row index.

Returns
list

The row values.

class exoctk.contam_visibility.quaternionx.NumericList(iterable=(), /)[source]

Bases: list

List class that supports multiplication. Only valid for numbers.

exoctk.contam_visibility.quaternionx.QX(angle)[source]

Creates rotation quaternion about X axis, rotates a vector about this axis.

Parameters
angle: float

The angle to rotate by.

exoctk.contam_visibility.quaternionx.QY(angle)[source]

Creates rotation quaternion about Y axis, rotates a vector about this axis.

Parameters
angle: float

The angle to rotate by.

exoctk.contam_visibility.quaternionx.QZ(angle)[source]

Creates rotation quaternion about Z axis, rotates a vector about this axis

Parameters
angle: float

The angle to rotate by.

exoctk.contam_visibility.quaternionx.Qmake_a_point(V)[source]

Creates a pure Q, i.e. defines a pointing not a rotation

Parameters
V: Vector

The vector.

Returns
Quaternion

The point as a quaternion.

exoctk.contam_visibility.quaternionx.Qmake_aperture2inertial(coord1, coord2, APA, xoff, yoff, s, YapPA, V3ref, V2ref)[source]

Creates a rotation Q, going from the target in aperture frame to body.

Parameters
coord1: float

The first coordinate.

coord2: float

The second coordinate.

APA: float

The apature position.

xoff: float

The x offset.

yoff: float

The y offset.

s: float

The multiplicative factor.

V2ref: float

The V2 position.

V3ref: float

The V3 position.

Returns
Quaternion

The rotation quaternion.

exoctk.contam_visibility.quaternionx.Qmake_body2inertial(coord1, coord2, V3pa)[source]

Creates a rotation Q, going from the body frame to inertial.

Parameters
coord1: float

The first coordinate.

coord2: float

The second coordinate.

V3pa: float

The V3 position.

Returns
Quaternion

The rotation quaternion

exoctk.contam_visibility.quaternionx.Qmake_v2v3_2body(v2, v3)[source]

Creates a rotation Q, going from v2 and v3 in the body frame to inertial.

Parameters
v2: float

The V2 position.

V3: float

The V3 position.

Returns
Quaternion

The rotation quaternion.

exoctk.contam_visibility.quaternionx.Qmake_v2v3_2inertial(coord1, coord2, V3pa, v2, v3)[source]

Creates a rotation Q, going from v2 and v3 in the body frame to inertial

Parameters
coord1: float

The first coordinate.

coord2: float

The second coordinate.

V3pa: float

The V3 position.

v2: float

The V2 position.

v3: float

The V3 position.

Returns
Quaternion

The rotation quaternion.

class exoctk.contam_visibility.quaternionx.Quaternion(V, q4)[source]

Bases: object

This representation is used by Wertz and Markley

Quaternion constructor.

Parameters
V: Vector

The vector to construct the quaternion with.

q4: Vector

The fourth vector.

cnvrt(V)[source]

Rotates a vector from the starting frame to the ending frame defined by the Q.

Parameters
V: Vector

The vector to rotate.

Returns
Vector

The rotated Vector.

conjugate()[source]

Returns a copy of the conjugated Q

inv_cnvrt(V)[source]

Rotates a vector from the ending frame to the starting frame defined by the Q.

Parameters
V: Vector

The vector to invert.

Returns
Vector

The inverted Vector.

length()[source]

Returns length of the Q

normalize()[source]

Returns a copy of the Q normalized

set_as_QX(angle)[source]

Sets quaterion in place like QX function.

Parameters
angle: float

The angle of rotation

set_as_QY(angle)[source]

Sets quaterion in place like QY function

Parameters
angle: float

The angle of rotation

set_as_QZ(angle)[source]

Sets quaterion in place like QZ function.

Parameters
angle: float

The angle of rotation.

set_as_conjugate()[source]

Assigns conjugate values in place.

set_as_mult(QQ1, QQ2)[source]

Sets self as QQ1*QQ2 in place for quaternion multiplication.

Parameters
QQ1: Quaternion

The first quaternion.

QQ2: Quaternion

The second quaternion.

set_as_point(V)[source]

Set V as a point.

Parameters
V: Vector

The vector to set as a point.

set_equal(Q)[source]

Assigns values from other Q to this one.

Parameters
Q: Quaternion

The quaternion value to set.

set_values(V, angle)[source]

Sets quaterion values using a direction vector and a rotation of the coordinate frame about it.

Parameters
V: Vector

The direction Vector.

angle: float

The angle of rotation.

class exoctk.contam_visibility.quaternionx.Vector(x=0.0, y=0.0, z=0.0)[source]

Bases: object

Class to encapsulate vector data and operations.

Constructor for a three-dimensional vector.

Note that two-dimensional vectors can be constructed by omitting one of the coordinates, which will default to 0.

Parameters
x: float

The x coordinate.

y: float

The y coordinate.

z: float

The z coordinate.

angle(V2)[source]

Returns angle between the two vectors in degrees.

Parameters
V2: Vector

The vector to measure.

Returns
float

The angle between the two vectors.

create_matrix()[source]

Converts a Vector into a single-column matrix.

cross(V1, V2)[source]

returns cross product of two vectors

Parameters
V1: Vector

The vector to cross.

V2: Vector

The vector to cross.

Returns
Vector

The resultant vector.

display()[source]

Print the values

dot(V2)[source]

returns dot product between two vectors.

Parameters
V2: Vector

The vector to dot.

Returns
Vector

The resultant vector.

length()[source]

Returns magnitude of the vector

normalize()[source]

Returns copy of the normalized vector

rx()[source]

The magnitude of x

ry()[source]

The magnitude of y

rz()[source]

The magnitude of z

set_eq(x=None, y=None, z=None)[source]

Assigns new value to vector.

Arguments are now optional to permit this to be used with 2D vectors or to modify any subset of coordinates.

Parameters
x: float

The x coordinate.

y: float

The y coordinate.

z: float

The z coordinate.

set_xyz(ra, dec)[source]

Creates a unit vector from spherical coordinates

Parameters
ra: float

The right ascension.

dec: float

The declination.

exoctk.contam_visibility.quaternionx.angle(V1, V2)[source]

returns angle between two vectors in degrees, non class member.

Parameters
V1: Vector

The first vector.

V2: Vector

The second vector.

Returns
float

The angle between the vectors.

exoctk.contam_visibility.quaternionx.cross(v1, v2)[source]

Returns cross product between two vectors, non class member.

Parameters
v1: Vector

The first vector.

v2: Vector

The second vector.

Returns
float

The cross product of the vectors.

exoctk.contam_visibility.quaternionx.cvt_body2inertial_Q_to_c1c2pa_tuple(Q)[source]

Creates a angle tuple from Q, assuming body frame to inertial Q and 321 rotation sequence.

Parameters
Q: Quaternion

The quaternion.

Returns
coord1float

The first coordinate.

coord2float

The second coordinate.

pafloat

The poosition angle.

exoctk.contam_visibility.quaternionx.cvt_c1c2_using_body2inertial_Q_to_v2v3pa_tuple(Q, coord1, coord2)[source]

Given Q and a position, returns v2, v3, V3PA tuple

Parameters
Q: Quaternion

The quaternion.

coord1: float

The first coordinate.

coord2: float

The second coordinate

Returns
coord1float

The first coordinate.

coord2float

The second coordinate.

pafloat

The poosition angle.

exoctk.contam_visibility.quaternionx.cvt_pt_Q_to_V(Q)[source]

Converts a pure (pointing) Q to a unit position Vector

Parameters
Q: Quaternion

The quaternion to convert to a Vector.

Returns
Vector

The point as a vector.

exoctk.contam_visibility.quaternionx.cvt_v2v3_using_body2inertial_Q_to_c1c2pa_tuple(Q, v2, v3)[source]

Given Q and v2, v3 gives pos on sky and V3 PA.

Parameters
Q: Quaternion

The quaternion.

v2: float

The V2 position.

v3: float

The V3 position.

Returns
tuple

The coordinates and position angle

exoctk.contam_visibility.quaternionx.dec_separation(v1, v2)[source]

Returns difference in declination between two CelestialVectors.

Parameters
v1: Vector

The first vector.

v2: Vector

The second vector.

Returns
float

The separation between Dec values

exoctk.contam_visibility.quaternionx.dot(v1, v2)[source]

returns dot product between two vectors, non class member.

Parameters
v1: Vector

The first vector.

v2: Vector

The second vector.

Returns
float

The dot product of the vectors.

exoctk.contam_visibility.quaternionx.make_celestial_vector(v)[source]

Takes a Vector object and creates an equivalent CelestialVector.

Input vector v must be a unit vector.

Parameters
v: Vector

The vector to convert.

Returns
resultVector

The updated vector.

exoctk.contam_visibility.quaternionx.pos_V_to_ra_dec(V)[source]

Returns tuple of spherical angles from unit direction Vector.

Parameters
V: Vector

The vector to analyze.

Returns
rafloat

The ra of the vector.

decfloat

The dec of the vector.

exoctk.contam_visibility.quaternionx.projection(v, axis)[source]

Returns projection of vector v on plane normal to axis.

First take cross-product of v and the axis and normalize it. Then cross the axis with the result and return a CelestialVector. See http://www.euclideanspace.com/maths/geometry/elements/plane/ lineOnPlane/index.htm.

Parameters
v: Vector

The vector to convert.

axis: str

The axis to project onto.

Returns
Vector

The updated vector.

exoctk.contam_visibility.quaternionx.ra_delta(v1, v2)[source]

Returns difference in right ascension between two CelestialVectors.

Parameters
v1: Vector

The first vector.

v2: Vector

The second vector.

Returns
delta_rafloat

The difference in RA.

exoctk.contam_visibility.quaternionx.ra_separation(v1, v2)[source]

Returns separation in right ascension between two CelestialVectors. This is accurate only if the difference in declination is small.

|sep| = DELTA-RA cos DEC

Parameters
v1: Vector

The first vector.

v2: Vector

The second vector.

Returns
float

The separation between RA values.

exoctk.contam_visibility.quaternionx.separation(v1, v2, norm=False)[source]

Returns angle between two unit vectors in radians.

The angle between two normalized vectors is the arc-cosine of the dot product. Unless the norm attribute is set to True, it is assumed the vectors are already normalized (for performance).

Parameters
v1: Vector

The first vector.

v2: Vector

The second vector.

norm: bool

Normalize the vectors.

Returns
separationfloat

The separation of the vectors.

exoctk.contam_visibility.quaternionx.vel_ab(U, Vel)[source]

Takes a unit vector and a velocity vector(km/s) and returns a unit vector modidifed by the velocity abberation.

Parameters
U: Vector

The unit vector.

Vel: Vector

The velocity vector to multiply.

Returns
Vector

The modified vector.

exoctk.contam_visibility.resolve module

exoctk.contam_visibility.resolve.resolve_target(targetName)[source]

exoctk.contam_visibility.sossContamFig module

exoctk.contam_visibility.sossContamFig.contam(cube, instrument, targetName='noName', paRange=[0, 360], badPAs=array([], dtype=float64), tmpDir='', fig='', to_html=True)[source]

exoctk.contam_visibility.sossFieldSim module

exoctk.contam_visibility.sossFieldSim.fieldSim(ra, dec, instrument, binComp='')[source]

Wraps sossFieldSim, gtsFieldSim, and lrsFieldSim together. Produces a field simulation for a target using any instrument (NIRISS, NIRCam, or MIRI).

Parameters
rafloat

The RA of the target.

decfloat

The Dec of the target.

instrumentstr

The instrument the contamination is being calculated for. Can either be (case-sensitive): ‘NIRISS’, ‘NIRCam F322W2’, ‘NIRCam F444W’, ‘MIRI’

binCompsequence

The parameters of a binary companion.

Returns
simuCubenp.ndarray

The simulated data cube. Index 0 and 1 (axis=0) show the trace of the target for orders 1 and 2 (respectively). Index 2-362 show the trace of the target at every position angle (PA) of the instrument.

exoctk.contam_visibility.sossFieldSim.gtsFieldSim(ra, dec, filter, binComp='')[source]

Produce a Grism Time Series field simulation for a target. Parameters ———- ra : float

The RA of the target.

decfloat

The Dec of the target.

filterstr

The NIRCam filter being used. Can either be: ‘F444W’ or ‘F322W2’ (case-sensitive)

binCompsequence

The parameters of a binary companion.

Returns
simuCubenp.ndarray

The simulated data cube. Index 0 and 1 (axis=0) show the trace of the target for orders 1 and 2 (respectively). Index 2-362 show the trace of the target at every position angle (PA) of the instrument.

exoctk.contam_visibility.sossFieldSim.lrsFieldSim(ra, dec, binComp='')[source]

Produce a Grism Time Series field simulation for a target. Parameters ———- ra : float

The RA of the target.

decfloat

The Dec of the target.

binCompsequence

The parameters of a binary companion.

Returns
simuCubenp.ndarray

The simulated data cube. Index 0 and 1 (axis=0) show the trace of the target for orders 1 and 2 (respectively). Index 2-362 show the trace of the target at every position angle (PA) of the instrument.

exoctk.contam_visibility.sossFieldSim.sossFieldSim(ra, dec, binComp='', dimX=256)[source]

Produce a SOSS field simulation for a target.

Parameters
ra: float

The RA of the target.

dec: float

The Dec of the target.

binComp: sequence

The parameters of a binary companion.

dimX: int

The subarray size.

Returns
simuCubnp.ndarray

The simulated data cube.

exoctk.contam_visibility.time_extensionsx module

Module containing library functions for time manipulation. Standard for time representation in this project is fractional days. Dates are represented as modified Julian dates (mjd). An mjd gives the number of days since midnight on November 17, 1858.

class exoctk.contam_visibility.time_extensionsx.FlexibleInterval(est, lst, let)[source]

Bases: exoctk.contam_visibility.time_extensionsx.Interval

Class to represent an interval with flexibility on when it can start and end.

Constructor for a FlexibileInterval.

Parameters
est: float

Earliest start time (mjd).

lst: float

Latest start time (mjd).

let: float

Latest end time (mjd).

end_time()[source]

Returns the end of the FlexibleInterval.

flexibility()[source]

Returns the flexibility of the FlexibleInterval, in fractional days.

maximum_duration()[source]

Returns the maximum duration of the FlexibleInterval, in fractional days.

start_time()[source]

Returns the start of the FlexibleInterval.

class exoctk.contam_visibility.time_extensionsx.Interval(start, end)[source]

Bases: object

Class to represent a simple temporal interval.

Constructor for an interval.

Parameters
start: float

The start time.

end: float

The end time.

duration()[source]

Returns the duration of an interval in fractional days.

end_time()[source]

Returns the end of the interval.

start_time()[source]

Returns the start of the interval.

temporal_relationship(time)[source]

Returns the temporal relationship between an interval and an absolute time.

Returns ‘before’ if the interval ends at or before the time, ‘after’ if the interval begins at or after the time, ‘includes’ if the time occurs during the interval.

Parameters
time: float

The time.

Returns
relstr

The temporal relationship.

exoctk.contam_visibility.time_extensionsx.compute_mjd(year, day_of_year, hour, minute, second)[source]

Computes a modified Julian date from a date specified as a year, day of year, hour, minute, and second. Arguments should be integers.

Parameters
year: int

The year.

day_of_year: int

The day.

hour: int

The hour.

minute: int

The minute.

second: int

The second.

Returns
float

The modified julian day.

exoctk.contam_visibility.time_extensionsx.days_in_year(year)[source]

Returns the number of days in a year.

Parameters
year: int

The year to search.

Returns
daysint

The number of days that year.

exoctk.contam_visibility.time_extensionsx.days_to_seconds(days)[source]

Takes a time in fractional days and converts it into integer seconds.

Parameters
days: float

The number of days as a float.

Returns
int

The number of seconds in as many days.

exoctk.contam_visibility.time_extensionsx.display_date(mjd)[source]

Returns a string representation of the date represented by a modified Julian date.

Parameters
mjd: float

The modified julian day.

Returns
str

The MJD as a string.

exoctk.contam_visibility.time_extensionsx.display_time(time, force_hours=False)[source]

Returns a string representation of a time specified in fractional days.

Parameters
time: float

The time as a float.

force_hours: bool

Force the hour calculation.

Returns
str

The time as a string.

exoctk.contam_visibility.time_extensionsx.integer_days(time)[source]

Takes a time in fractional days and returns integer component.

Parameters
time: float

The float time.

Returns
int

The integer time.

exoctk.contam_visibility.time_extensionsx.is_leap_year(year)[source]

Returns True if the year is a leap year, False otherwise.

Parameters
year: int

The year to check.

Returns
bool

Is the year a leap year?

exoctk.contam_visibility.time_extensionsx.jd_to_mjd(jd)[source]

Converts a Julian date to a modified Julian date.

Parameters
jd: float

The true Julian day.

Returns
float

The modified Julian day.

exoctk.contam_visibility.time_extensionsx.leap_years(year1, year2)[source]

Returns the number of leap years between year1 and year2, non-inclusive.

year1 and year2 must be integers, with year2 > year1

Parameters
year1: int

The start year.

year2: int

The end year.

Returns
int

The number of leap years between year1 and year2.

exoctk.contam_visibility.time_extensionsx.mjd_from_string(time_string)[source]

Takes a string of the form yyyy.ddd:hh:mm:ss and returns an mjd.

Parameters
time_string: str

The MJD as a string.

Returns
float

The modified julian day.

exoctk.contam_visibility.time_extensionsx.mjd_to_jd(mjd)[source]

Converts a modified Julian date to a true Julian date.

Parameters
mjd: float

The modified julian day.

Returns
float

The true Julian day.

exoctk.contam_visibility.time_extensionsx.round_to_second(time)[source]

Rounds a time in days to the nearest second.

Parameters
time: int

The number of days as a float.

Returns
float

The number of seconds in as many days.

exoctk.contam_visibility.time_extensionsx.seconds_into_day(time)[source]

Takes a time in fractional days and returns number of seconds since the start of the current day.

Parameters
time: float

The time as a float.

Returns
int

The day’s duration in seconds.

exoctk.contam_visibility.time_extensionsx.seconds_to_days(seconds)[source]

Takes a time in integer seconds and converts it into fractional days.

Parameters
seconds: int

The number of seconds.

Returns
float

The number of days as a float.

exoctk.contam_visibility.time_extensionsx.time_from_string(time_string)[source]

Takes a string of the form ddd:hh:mm:ss and converts it to fractional days. All subfields above seconds are optional and may be omitted if the subfield and all higher-order ones are zero.

Parameters
time_string: str

The time as a string.

Returns
float

The fractional days.

exoctk.contam_visibility.visibilityPA module

Produces a graph of the visibility & accessible position angles for a given RA & DEC, and prints out corresponding information, including the ranges of accessible and inaccessible PAs.

Usage: python visibilityPA.py RA DEC [targetName]

if targetName is specified, then the figure is saved

-Created by David Lafreniere, March 2016 -makes use of (and hacks) several scripts created by Pierre Ferruit

that are part of the JWST Python tools JWSTpylib and JWSTpytools

exoctk.contam_visibility.visibilityPA.checkVisPA(ra, dec, targetName=None, ephFileName=None, fig=None)[source]

Check the visibility at a range of position angles.

Parameters
ra: str

The RA of the target in hh:mm:ss.s or dd:mm:ss.s or representing a float

dec: str

The Dec of the target in hh:mm:ss.s or dd:mm:ss.s or representing a float

targetName: str

The target name

ephFileName: str

The filename of the ephemeris file

fig: bokeh.plotting.figure

The figure to plot to

Returns
paGoodfloat

The good position angle.

paBadfloat

The bad position angle.

gdmatplotlib.dates object

The greogrian date.

figbokeh.plotting.figure object

The plotted figure.

exoctk.contam_visibility.visibilityPA.convert_ddmmss_to_float(astring)[source]

Convert sexigesimal to decimal degrees

Parameters
astring: str

The sexigesimal coordinate.

Returns
hour_or_degfloat

The converted coordinate.

exoctk.contam_visibility.visibilityPA.fill_between(fig, xdata, pamin, pamax, **kwargs)[source]
exoctk.contam_visibility.visibilityPA.using_gtvt(ra, dec, instrument, targetName='noName', ephFileName=None, output='bokeh')[source]

Plot the visibility (at a range of position angles) against time.

Parameters
rastr

The RA of the target (in degrees) hh:mm:ss.s or dd:mm:ss.s or representing a float

decstr

The Dec of the target (in degrees) hh:mm:ss.s or dd:mm:ss.s or representing a float

instrumentstr

Name of the instrument. Can either be (case-sensitive): ‘NIRISS’, ‘NIRCam’, ‘MIRI’, ‘FGS’, or ‘NIRSpec’

ephFileNamestr

The filename of the ephemeris file.

outputstr

Switches on plotting with Bokeh. Parameter value must be ‘bokeh’.

Returns
paGoodfloat

The good position angle.

paBadfloat

The bad position angle.

gdmatplotlib.dates object

The gregorian date.

figbokeh.plotting.figure object

The plotted figure.

Module contents

Package to calculate target visibility and contamination