InstrumentBase¶
- class synthesizAR.instruments.InstrumentBase(observing_time: Unit('s'), observer, pad_fov: Unit('arcsec') = None, fov_center=None, fov_width: Unit('arcsec') = None, average_over_los=False)[source]¶
Bases:
object
Base class for instruments. This object is not meant to be instantiated directly. Instead, specific instruments should subclass this base object and implement a
calculate_intensity_kernel
method for that specific instrument.- Parameters:
observing_time (
Quantity
) – Tuple of start and end observing timesobserver_coordinate (
SkyCoord
) – Coordinate of the observing instrumentcadence (
Quantity
) –resolution (
Quantity
) –pad_fov (
Quantity
, optional) – Two-dimensional array specifying the padding to apply to the field of view of the synthetic image in both directions. If None, no padding is applied and the field of view is defined by the maximal extent of the loop coordinates in each direction.fov_center (
SkyCoord
, optional) –fov_width (
Quantity
, optional) –average_over_los (
bool
, optional) –
Attributes Summary
Pixel area
Methods Summary
calculate_intensity_kernel
(*args, **kwargs)Converts emissivity for a particular transition to counts per detector channel.
convolve_with_psf
(smap, channel)Perform a simple convolution with a Gaussian kernel
get_detector_array
(coordinates)Calculate the number of pixels in the detector FOV and the physical coordinates of the bottom left and top right corners.
get_header
(channel, coordinates[, unit])Create the FITS header for a given channel and set of loop coordinates that define the needed FOV.
get_instrument_name
(channel)integrate_los
(time, channel, skeleton, ...)interpolate_to_instrument_time
(kernel, loop, ...)Interpolate the intensity kernel from the simulation time to the cadence of the instrument for the desired observing window.
observe
(skeleton[, save_directory, channels])Calculate the time dependent intensity for all loops and project them along the line-of-sight as defined by the instrument observer.
write_kernel_to_file
(kernel, loop, indices, ...)Attributes Documentation
- cadence¶
- detector¶
- observatory¶
- observer¶
- observing_time¶
- pixel_area¶
Pixel area
- projected_frame¶
- resolution¶
- telescope¶
Methods Documentation
- calculate_intensity_kernel(*args, **kwargs)[source]¶
Converts emissivity for a particular transition to counts per detector channel. When writing a new instrument class, this method should be overridden.
- get_detector_array(coordinates)[source]¶
Calculate the number of pixels in the detector FOV and the physical coordinates of the bottom left and top right corners.
- get_header(channel, coordinates, unit=None)[source]¶
Create the FITS header for a given channel and set of loop coordinates that define the needed FOV.
- integrate_los(time, channel, skeleton, coordinates_centers, bins, bin_range, header, kernels=None, check_visible=False)[source]¶
- static interpolate_to_instrument_time(kernel, loop, observing_time, axis=0)[source]¶
Interpolate the intensity kernel from the simulation time to the cadence of the instrument for the desired observing window.