fcmaker package

Submodules

fcmaker.fcmaker module

fcmaker.fcmaker.make_fc(p2uid=None, pswd=None, obids=[], bk_images=[], bk_lams=[], data_loc='./fcm_data', plot_loc='./fcm_plots', do_pdf=True, do_png=False, no_upload=False, systemtex=False, montage=False, clear_SkyView_cache=False, obsdate=None, do_parang=False)

The main fcmaker function, to create finding charts from p2.

Parameters:
  • p2uid – string. P2 user ID (will prompt if is None)
  • pswd – string. P2 user password (will prompt if is None)
  • obids – list of int. List of the P2 OB ID for which to generate finding charts
  • bk_images – list of string. Specify the FC background: SkyView survey name, None for default, or local FITS filename
  • bk_lams – list of string. Specify the wavelength of the background charts. None to read from FITS header.
  • data_loc – string. Relative path to the background images (local FITS files or SkyView images).
  • plot_loc – string. Relative path to the background images (local FITS files or SkyView images).
  • do_pdf – bool. Save a local PDF file ?
  • do_png – bool. Save a local png file ?
  • no_upload – bool. Skip the upload of finding charts to p2 ?
  • systemtex – bool. Use the system Latex instead of the Python latex ?
  • montage – bool. Use of Montage to rotate the fields with North up ?
  • clear_SkyView_cache – bool. Clear the SkyView cache ?
  • obsdate – string. Year (Month, Day, Hour, Minute, …) of the observation
  • do_parang – bool. Show the instrument field-of-view when a parallactic angle is required ?
fcmaker.fcmaker.make_fc_local(f, do_pdf=True, do_png=False, systemtex=False, montage=True, clear_SkyView_cache=False, obsdate=None, do_parang=False)

The other fcmaker function, to create finding charts from a local file.

Parameters:
  • f – an open file, e.g. _io.TextIOWrapper from open(filename)
  • do_pdf – bool. Save a local PDF file ?
  • do_png – bool. Save a local png file ?
  • systemtex – bool. Use the system Latex instead of the Python latex ?
  • montage – bool. Use of Montage to rotate the fields with North up ?
  • clear_SkyView_cache – bool. Clear the SkyView cache ?
  • obsdate – string. Year (Month, Day, Hour, Minute, …) of the observation
  • do_parang – bool. Show the instrument field-of-view when a parallactic angle is required ?
fcmaker.fcmaker.set_fcmaker(systemtex, montage, clear_SkyView_cache, data_loc, plot_loc, do_parang)

A function that sets the generic options of fcmaker.

Parameters:
  • no_systemtex – bool. True = use Python LaTex. False = System LaTeX.
  • no_montage – bool. True = do NOT use Montage.
  • clear_SkyView_cache – bool. True = clear the cache.
fcmaker.fcmaker.set_obsdate(obsdate)

A function that sets the obsdate parameter inside fcmaker.

Parameters:obsdate – string. The observing time (and date) for the OB. Should be parsable by dateutils.parser.parse(). None = now.
fcmaker.fcmaker.set_systemtex(systemtex)

A function that sets whether fcmaker uses the default system LateX, or not.

Parameters:no_systemtex – bool. True = use Python LaTex. False = System LaTeX.

fcmaker.fcmaker_hawki module

fcmaker.fcmaker_hawki.detector_to_sky(dx, dy, pa)

Converts HAWKI offsets from the DETECTOR reference frame to the SKY reference frame.

Parameters:
  • dx (float) – offset in arcsec
  • dy (float) – offset in arcsec
  • pa (float) – current position angle in degrees measured East-of-North (MUSE convention)
Returns:

the (dra,ddec) offsets in SKY convention.

Return type:

tuple of floats

Note

According to the MUSE User manual, “when in DETECTOR framework, if both telescope offsets and PA offsets are provided, the telescope offsets are sent (first) with respect to the current PA of the instrument, before applying the PA offset.”

fcmaker.fcmaker_hawki.get_fields_dict(fc_params)

Create a dictionnary with the basic info required to draw the fields, given certain OB parameters.

Parameters:fc_params – A dictionnary containing the MUSE OB parameters
Returns:A dictionary containing the plotting parameters for each field.
fcmaker.fcmaker_hawki.get_localfcdata_hawki(fc_params, inpars)

Extracts all the important info to build a finding chart from a given MUSE OB defined locally.

Parameters:inpars – A dictionnary containing the OB parameters
Returns:A dictionnary containing the MUSE OB parameters
fcmaker.fcmaker_hawki.get_p2fcdata_hawki(ob, api)

Extracts all the important info to build a finding chart from a given HAWKI OB from p2.

Parameters:
  • ob – an api.getOB() object
  • api – a p2api.ApiConnection() object
Returns:

A dictionnary containing the OB parameters

fcmaker.fcmaker_hawki.get_polygon(central_coord, pa, nx, ny, startx, starty)

Given the central location and position of a field, build a polygon to feed to matplotlib down the line.

Parameters:
  • central_coord – an astropy.SkyCoord entry with the center of the MUSE field
  • pa – the position angle of the field (p2 convention)
  • startx, starty (nx,ny,) – the Fast Phot windowing parameters
Returns:

A list of 2-D coordinates for each corner of the field-of-view.

fcmaker.fcmaker_hawki.hawki_templates = ['HAWKI_img_acq_Preset', 'HAWKI_img_acq_PresetRRM', 'HAWKI_img_acq_MoveToPixel', 'HAWKI_img_acq_FastPhot', 'HAWKI_img_acq_FastPhotRRM', 'HAWKI_img_obs_GenericOffset', 'HAWKI_img_obs_AutoJitter', 'HAWKI_img_acq_LGS_Preset', 'HAWKI_img_acq_LGS_PresetRRM', 'HAWKI_img_acq_LGS_MoveToPixel', 'HAWKI_img_acq_LGS_FastPhot']

List all the supported HAWKI observing templates (incl. Fast Phot)

fcmaker.fcmaker_hawki.plot_field(ax1, ax2, fc_params, field)

The specific HAWKI function that draws a specific observation field.

Parameters:
  • ax1,ax2 – the left and right plots ‘axis’
  • fc_params – the dictionnary of parameters for the OB
  • field – the specific field list of parameters

fcmaker.fcmaker_instrument_dispatch module

fcmaker.fcmaker_instrument_dispatch.get_bk_image(fc_params)

Returns the default SkyView survey name for all supported instruments.

Parameters:fc_params – the parameters of the finding chart (a dictionnary)
Returns:The survey name as a string
fcmaker.fcmaker_instrument_dispatch.get_chart_center(fc_params)

Defines the center of the right and left plots for different instruments.

Parameters:fc_params – the parameters of the finding charts (a dictionary)
Returns:a tuple with the chart center as a SkyCoord value.
Return type:(left_center, right_center)
fcmaker.fcmaker_instrument_dispatch.get_chart_radius(fc_params)

Defines the radius of the right and left plots for different instruments.

Parameters:fc_params – the parameters of the finding charts (a dictionary)
Returns:a tuple with the chart radius in arcsec.
Return type:(left_radius, right_radius)
fcmaker.fcmaker_instrument_dispatch.get_fields_dict(fc_params)

Returns the dictionnary of the field plotting parameters, given certain fc parameters.

Parameters:fc_params – the parameters of the finding chart (a dictionnary)
Returns:A dictionary of lists.

A function to get theinner search radius for Gudie Stars, as a function of the instrument.

Parameters:fc_params – the parameters of the finding charts (a dictionary)
Returns:the radius value, in arcsec
Return type:radius (float)
fcmaker.fcmaker_instrument_dispatch.get_localfcdata(inpars)

Extract the required info for creating a finding chart from the ob and templates obtained from a local parameter file.

Parameters:inpars – a dictionnary.
Returns:a dictionnary containing the OB parameters
fcmaker.fcmaker_instrument_dispatch.get_p2fcdata(obID, api)

Extract the required info for creating a finding chart from the ob and templates obtained via p2api.

Parameters:
  • obID – the OB Id, as an integer.
  • api – a p2api.ApiConnection() object
Returns:

a dictionnary containing the OB parameters

fcmaker.fcmaker_instrument_dispatch.get_pmin(survey)

A function to get the pmin value for the aplpy chart, as a function of the instrument.

Parameters:fc_params – the parameters of the finding charts (a dictionary)
Returns:the pmin value
Return type:pmin (float)
fcmaker.fcmaker_instrument_dispatch.get_scalebar(inst)

Sets the scalebar of the chart, as a function of the instrument

Parameters:inst (string) – the instrument name
Returns:tuple with the scalebar length (in degrees) and label
Return type:(scl, scll)
fcmaker.fcmaker_instrument_dispatch.get_target_from_ephem(fc_params, ephemeris)

A function to extract the target coordinates and other useful stuff from a PAF ephemeris file.

Parameters:
  • fc_params – the parameters of the finding charts (a dictionary)
  • ephemeris – the content of a PAF files as a list of strings from readlines()
Returns:

the updated parameters of the finding charts (a dictionary)

Return type:

fc_params

fcmaker.fcmaker_instrument_dispatch.get_total_right_radius(fc_params, right_radius)

A function to compute the total right radius given the offsets within the OB.

Parameters:
  • fc_params – dictionnary of OB parameters
  • right_radius – default right radius
Returns:

updated right_radius

Return type:

right_radius

fcmaker.fcmaker_instrument_dispatch.plot_field(ax1, ax2, fc_params, field)

Triggers the plotting of a specific field.

Parameters:
  • ax1,ax2 – the left and right plots ‘axis’
  • fc_params – the dictionnary of parameters for the OB
  • field – the specific field list of parameters

fcmaker.fcmaker_metadata module

fcmaker.fcmaker_muse module

fcmaker.fcmaker_muse.detector_to_sky(dx, dy, pa)

Converts MUSE offsets from the DETECTOR reference frame to the SKY reference frame.

Parameters:
  • dx (float) – offset in arcsec
  • dy (float) – offset in arcsec
  • pa (float) – current position angle in degrees measured East-of-North (MUSE convention)
Returns:

the (dra,ddec) offsets in SKY convention.

Return type:

tuple of floats

Note

According to the MUSE User manual, “when in DETECTOR framework, if both telescope offsets and PA offsets are provided, the telescope offsets are sent (first) with respect to the current PA of the instrument, before applying the PA offset.”

fcmaker.fcmaker_muse.get_fields_dict(fc_params)

Create a dictionnary with the basic info required to draw the fields, given certain OB parameters.

Parameters:fc_params – A dictionnary containing the MUSE OB parameters
Returns:A dictionary containing the plotting parameters for each field.
fcmaker.fcmaker_muse.get_localfcdata_muse(fc_params, inpars)

Extracts all the important info to build a finding chart from a given MUSE OB defined locally.

Parameters:inpars – A dictionnary containing the OB parameters
Returns:A dictionnary containing the MUSE OB parameters
fcmaker.fcmaker_muse.get_p2fcdata_muse(fc_params, ob, api)

Extracts all the important info to build a finding chart from a given MUSE OB from p2.

Parameters:
  • ob – an api.getOB() object
  • api – a p2api.ApiConnection() object
Returns:

A dictionnary containing the OB parameters

fcmaker.fcmaker_muse.get_polygon(central_coord, pa, mode)

Given the central location and position of a field, build a polygon to feed to matplotlib down the line.

Parameters:
  • central_coord – an astropy.SkyCoord entry with the center of the MUSE field
  • pa – the position angle of the field (p2 convention)
  • mode – the instrument mode, either ‘WFM’ or ‘NFM’
Returns:

A list of 2-D coordinates for each corner of the field-of-view.

fcmaker.fcmaker_muse.left_radius(ins_mode)

A function that sets the defaut size of the left window depending on the mode.

fcmaker.fcmaker_muse.plot_field(ax1, ax2, fc_params, field)

The specific MUSE function that draws a specific observation field.

Parameters:
  • ax1,ax2 – the left and right plots ‘axis’
  • fc_params – the dictionnary of parameters for the OB
  • field – the specific field list of parameters

fcmaker.fcmaker_plots module

fcmaker.fcmaker_plots.add_orient(ax, field_center, radius=<Quantity 540. arcsec>, arrow_width=<Quantity 120. arcsec>, usetex=True)

Plot some N-E orientation arrows

Rely on the show_arrow function from aplpy, which should be able to deal with any image orientation, even is North /= up.

Parameters:
  • ax – the aplpy ax instance to add the arrows to
  • field_center – a SkyCoord entry marking the central pointing of the chart
  • radius – the distance from the field_center to draw the arrows at, in arcsec.
  • arrow_width – the arrow size, in arcsec
  • usetex – whether a system LaTeX is used, or not
fcmaker.fcmaker_plots.draw_fc(fc_params, bk_image=None, bk_lam=None, do_pdf=False, do_png=False)

The finding chart master plotting function.

Parameters:
  • fc_params – a dictionnary containing the OB parameters
  • bk_image – the background image as string, either a SkyView entry, or local filename
  • bk_lam – the wavelength of the chart as a string
  • do_pdf (bool) – save a pdf file, in addition to jpg
  • do_png (bool) – save a png file, in addition to jpg
Returns:

The finding chart filename as a string

fcmaker.fcmaker_plots.get_bk_image(bk_image, bk_lam, fc_params)

A function that fetches the background image from the web, or locally if specified by the user.

Parameters:
  • bk_image – (string) defines whether to use a local image (FITS filename) or a SkyView image (survey name).
  • bk_lam – (string)
  • fc_params – the parameters of the finding chart (a dictionnary)
Returns:

The absolute path of the background image (possibly after download), and the survey name.

Note

For local images, the code expect them to be stored in fcm_m.data_loc folder.

fcmaker.fcmaker_plots.get_bk_image_lam(fn_bk_image, fc_params)

Reads the wavelength of the background image from the header. Assumes SkyView image.

Parameters:fn_bk_image – path to background image FITS file. fc_params: the parameters of the finding chart (a dictionnary)
Returns:The image wavelength range as a string.

fcmaker.fcmaker_tools module

fcmaker.fcmaker_tools.blind_offset(coord_start, coord_end)

Compute the offsets between two astropy.sky_coordinate.SkyCoord positions. This function assumes that the sky is flat, and only really makes sense for positions within 15 arcmin.

Parameters:
  • coord_start – a SkyCoord object
  • coord_end – a SkyCoord object
Returns:

The offsets in arcsec

fcmaker.fcmaker_tools.crosshair(inner_r=1, pa=0)

The PATH of acrosshair, useful for indicating targets without crowding the field.

Parameters:
  • inner_r – the (relative) inner radius. Default=1
  • pa – the position anglem in degrees
Returns:

A mpl.path.Path() object.

fcmaker.fcmaker_tools.myrotmatrix(angle)

Defines a clockwise rotation matrix given a certain rotation angle. There is probably a smarter way to do this …

Parameters:angle – a rotation angle in degree
Returns:a 2D numpy array
fcmaker.fcmaker_tools.offset_coord(coord_start, delta_ra=<Quantity 0. arcsec>, delta_dec=<Quantity 0. arcsec>)

Compute a new SkyCoord entity given a starting location and offset. This function assumes that the sky is flat!

Parameters:
  • coord_start – a SKyCoord object
  • delta_ra – an RA offset, in u.arcsec
  • delta_dec – an Dec offset, in u.arcsec
Returns:

a SkyCoord object

fcmaker.fcmaker_xshooter module

fcmaker.fcmaker_xshooter.detector_to_sky(dx, dy, pa)

Converts XSHOOTER offsets from the DETECTOR reference frame to the SKY reference frame.

Parameters:
  • dx (float) – offset in arcsec
  • dy (float) – offset in arcsec
  • pa (float) – current position angle in degrees measured East-of-North (XSHOOTER convention)
Returns:

the (dra,ddec) offsets in SKY convention.

Return type:

tuple of floats

fcmaker.fcmaker_xshooter.get_fields_dict(fc_params)

Create a dictionnary with the basic info required to draw the fields, given certain OB parameters.

Parameters:fc_params – A dictionnary containing the MUSE OB parameters
Returns:A dictionary containing the plotting parameters for each field.
fcmaker.fcmaker_xshooter.get_localfcdata_xshooter(fc_params, inpars)

Extracts all the important info to build a finding chart from a given XSHOOTER OB defined locally.

Parameters:inpars – A dictionnary containing the OB parameters
Returns:A dictionnary containing the MUSE OB parameters
fcmaker.fcmaker_xshooter.get_p2fcdata_xshooter(fc_params, ob, api)

Extracts all the important info to build a finding chart from a given XSHOOTER OB from p2.

Parameters:
  • ob – an api.getOB() object
  • api – a p2api.ApiConnection() object
Returns:

A dictionnary containing the OB parameters

fcmaker.fcmaker_xshooter.get_polygon(central_coord, pa, fov)

Given the central location and position of a field, build a polygon to feed to matplotlib down the line.

Parameters:
  • central_coord – an astropy.SkyCoord entry with the center of the XSHOOTER field
  • pa – the position angle of the field (p2 convention)
  • fov – length 2 list, with the size of the Field-of-View (in angular astropy.units)
Returns:

A list of 2-D coordinates for each corner of the field-of-view.

fcmaker.fcmaker_xshooter.plot_field(ax1, ax2, fc_params, field)

The specific XSHOOTER function that draws a specific observation field.

Parameters:
  • ax1,ax2 – the left and right plots ‘axis’
  • fc_params – the dictionnary of parameters for the OB
  • field – the specific field list of parameters

Module contents