Main#

Function to perform toy coronagraph

class main.Target#

A circular symmetric target

A circular symmetric target, which could be a dust ring, a debris disk, or ice remains.

file_name#

The name of the FITS file containing the target data.

Type:

str

taregt_pixel#

Number of pixels along the edge of the target image.

Type:

int

psf_scale#

The scale of the PSF in arcseconds per pixel.

Type:

float

xpix#

The x-coordinates of the pixels in arcseconds.

Type:

np.ndarray

ypix#

The y-coordinates of the pixels in arcseconds.

Type:

np.ndarray

pre_img#

The pre-processed image.

Type:

np.ndarray

planets#

A list of the planets in the system.

Type:

list

orbits#

A list of the orbits of the planets.

Type:

list

planets_brightness#

A list of the brightnesses of the planets in Jy/arcsec^2.

Type:

list

__init__()#

Initialize the Target object.

__init__()#

Initialization

Initializes the instance based on the target fits file.

Parameters:

None

__weakref__#

list of weak references to the object (if defined)

add_planet(pos, brightness, mode='moving', res=1000)#

Add a planet

Add a planet to the Target object.

Parameters:
  • pos (array-like) – Planet position information (depends on mode). For “moving” mode, pos = [a, e, pa, inc, t]; for “polar” mode, pos =[r, theta(in degree)]; for “cartesian” mode, pos =[x,y].

  • brightness (float) – Planet brightness in Jy.

  • mode (str) – Mode for specifying planet position coordinates (“moving”, “polar”, “cartesian”).

  • res (int) – Number of points used for orbit calculations.

Returns:

None

contrast(charge=2, order=1, plot_contrast=True, plot_dpi=300, exozodi_limit=10, res=100)#

Contrast

Find the planet brightness and background brightness in the final image.

Parameters:
  • charge (int) – Charge number (for vortex coronagraph).

  • order (int) – The order number of the planet, using self.list_planets() to look up the order.

  • plot_contrast (bool) – Whether to plot the dust to planet brightness ratio.

  • plot_dpi (int) – Dots per inch (DPI) for the plot.

  • exozodi_limit (float) – The maximum exozodi to target dust ratio.

  • res (int) – The number of points in the exozodi ratio range.

Returns:

plot or print planet brightness, background brightness, and background brightness (ignored dust inside IWA) in Jy.

delete_planet(order=1)#

Delete planet

Deletes a planet from self.planet, self.orbit, and self.planet_brightness with a given order number.

Parameters:

order (int) – The order number of the planet to be deleted. Defaults to 1.

Returns:

None

list_planets()#

List planets

List the planets present in the Target object with their order numbers.

Returns:

print the list of planets with their orders.

planet_move(time, order=1, mode='cumulate', plot_pos=False, plot_dpi=300, res=1000, flip=True, message=True)#

Planet moving

Move a planet’s position.

Parameters:
  • time (float) – The time by which the planet should move.

  • order (int) – The order number of the planet.

  • mode (str) – Mode for specifying movement (“culmulated”, “specific”). The former will be added to the original time, while the latter will set up a new time regardless of the original time.

  • plot_pos (bool) – Whether to plot the new planet’s position in its orbit.

  • plot_dpi (int) – Dots per inch (DPI) for the plot.

  • res (int) – Number of points used for orbit calculations.

  • flip (bool) – Whether to flip the y-axis of the plot.

  • message (bool) – Whether to show the notification once job done.

Returns:

None

planet_video(charge, order=1, iwa_ignore=False, plot_dpi=300, length=3, fps=20, flip=True)#

Planet Video

Create a movie of the planet moving in its orbit.

Parameters:
  • charge (int) – Charge number (for vortex coronagraph).

  • order (int) – The order number of the planet, using self.list_planets() to look up the order.

  • iwa_ignore (bool) – Whether to ignore the dust inside IWA.

  • plot_dpi (int) – Dots per inch (DPI) for the plot.

  • length (int) – The length of the movie in seconds.

  • fps (int) – The frames per second of the movie.

  • flip (bool) – Whether to flip the y-axis of the plot.

Returns:

planet_video_*.mp4

plot_final(charge, iwa_ignore=False, add_planet=True, plot_dpi=300, flip=True)#

Final image

Plots the target image after processing with the vortex coronagraph.

Parameters:
  • charge (int) – Charge number (for vortex coronagraph).

  • add_planet (bool) – Whether to include planets in the plot.

  • rot_number (int) – Rotation number for creating the circular PSF.

  • plot_dpi (int) – Dots per inch (DPI) for the final plot.

  • flip (bool) – Whether to flip the y-axis of the plot.

Returns:

*_final.png

plot_orbit(order=1, plot_dpi=300, res=1000, flip=True)#

Orbit plot

Plot the orbit of a planet.

Parameters:
  • order (int) – The order number of the planet, using self.list_planets() to look up the order.

  • plot_dpi (int) – Dots per inch (DPI) for the plot.

  • res (int) – Number of points used for orbit calculations.

  • flip (bool) – Whether to flip the y-axis of the plot.

Returns:

orbit_*.png

plot_origin(plot_planets=True, res=1000, plot_dpi=300, boundary=True, flip=True)#

Plot original target

Plot the original image with or without planets.

Parameters:
  • plot_planets (bool) – Whether to plot planets or not.

  • res (int) – Number of points used for orbit calculations.

  • plot_dpi (int) – Dots per inch (DPI) for the plot.

  • boundary (bool) – Whether to show the boundary limits.

  • flip (bool) – Whether to flip the y-axis of the plot.

Returns:

origin_*.png