FluxCompensator objects

The four objects passed in the FluxCompensator package.

Dimensions

All follow the same structure in attributes. They differ only in the attribute dimension of the physical property val and its corresponding wavelength wav.

class type val dimension wav dimension
SyntheticCube 3D cube 3D (x, y, wav) 1D array
SyntheticImage 2D image 2D (x, y) 0D array
SyntheticSED 1D sed 1D (wav) 1D array
SyntheticFlux 0D val 0D (wav) 0D array

The Hyperion output can be read by SyntheticCube when we have a 3D Hyperion ModelOutput and by SyntheticSED when we have a 1D Hyperion ModelOutput. For further information see Setting Up.

Warning

Within the Virtual Pipeline and Post processing and methods might change the dimension of the physical property val passed in the object and a new object type is returned. Also some methods do not work on certain dimension.

Here are all possible combinations listed:

input FC_object method documentation output FC_object
SyntheticCube extinction SyntheticCube
SyntheticCube change_resolution SyntheticCube
SyntheticCube convolve_psf SyntheticCube
SyntheticCube convolve_filter SyntheticImage
SyntheticCube add_noise SyntheticCube
SyntheticCube get_rough_sed SyntheticSED
SyntheticCube get_total_val SyntheticFlux
SyntheticImage extinction SyntheticImage
SyntheticImage change_resolution SyntheticImage
SyntheticImage convolve_psf SyntheticImage
SyntheticImage convolve_filter ERROR
SyntheticImage add_noise SyntheticImage
SyntheticImage get_rough_sed ERROR
SyntheticImage get_total_val SyntheticFlux
SyntheticSED extinction SyntheticSED
SyntheticSED change_resolution ERROR
SyntheticSED convolve_psf ERROR
SyntheticSED convolve_filter SyntheticFlux
SyntheticSED add_noise ERROR
SyntheticSED get_rough_sed ERROR
SyntheticSED get_total_val SyntheticFlux
SyntheticFlux extinction SyntheticFlux
SyntheticFlux change_resolution ERROR
SyntheticFlux convolve_psf ERROR
SyntheticFlux convolve_filter ERROR
SyntheticFlux add_noise ERROR
SyntheticFlux get_rough_sed ERROR
SyntheticFlux get_total_val ERROR

Note

Knowing the current object type and understanding the physical actions of the methods is essential. Attributes like log and stage come in handy. Here one can see the history and type of object.

Attributes & Properties

Attributes and properties of the objects can be called by adding to the script:

# print wav attribute
print c.wav

# print resolution property in arcsec
print c.resolution['arcsec']

Attributes like in ModelOutput of Hyperion

wav : numpy.ndarray
The wavelength of val entry in microns.
val : numpy.ndarray
The physical property.
units : str
Current units of val.
distance : str
Distance to the observed object in cm.
x_min : float
Physical offset from axis origin in FOV in cm.
x_max : float
Physical offset from axis origin in FOV in cm.
y_min : float
Physical offset from axis origin in FOV in cm.
y_max : float
Physical offset from axis origin in FOV in cm.
lon_min : float
Minimal longitudinal angle.
lon_max : float
Maximal longitudinal angle.
lat_min : float
Minimal latitudinal angle.
lat_max : float
Maximal latitudinal angle.
pix_area_sr : float
Pixel area per sr.

Attributes specific for the FluxCompensator

If input_array is already a SyntheticCube object, the attributes are passed. If input_array is not a SyntheticCube object, SyntheticCube specific attributes are defined and then passed.

unit_in : str

Unit of val in input_array. Valid options are:

  • 'ergs/cm^2/s'
  • 'ergs/cm^2/s/Hz'
  • 'Jy'
  • 'mJy'
  • 'MJy/sr'
grid_unit : float

Physical unit of FOV axis in cm. Valid options are:

  • au in cm
  • pc in cm
  • kpc in cm
grid_unit_name

Astronomical unit of FOV axis. Valid options are:

  • 'au'
  • 'pc'
  • 'kpc'
FOV : tuple

Tuple FOV(x,y) of Field of View pixel entries.

  • pixel in x direction: FOV[0]
  • pixel in y direction: FOV[1]
name : str
The name of the FluxCompensator object until another input_array is called. The default is None.
stage : str
Gives current operation stage of SyntheticCube. E. g. 'SyntheticCube: convolve_filter'
log : list
List of strings of the previous and current stages.
filter : dict

Dictionary filter = {name, waf_0, waf_min, waf_max} of the applied filter.

  • name of filter: filter['name']
  • central wavelength: filter['waf_0']
  • minimal wavelength: filter['waf_min']
  • maximal wavelength: filter['waf_max']

Properties specific for the FluxCompensator

Properties are updated in the pipeline.

spacing_wav : float, None
The property spacing_wav estimates the width of the logarithmic spaced wav entries.
pixel : tuple

The property pixel is a tuple which resembles the current pixel in a value val. pixel(x,y) are calls as follows:

  • x: pixel[0]
  • y: pixel[1]
shape : tuple

The property shape is a string, which resembles the current shape of the value val.

  • scalar: '()'
  • 1D: '(wav)'
  • 2D: '(x, y)'
  • 3D: '(x, y , wav)'
resolution : dict

The property resolution tells you the current resolution. If we are already in the SyntheticSED or SyntheticFlux dimension entries are considered as one large pixel.

  • resolution in arcsec per pixel : resolution['arcsec']
  • resolution in rad per pixel : resolution['rad']