csst_cpic_sim package
-Submodules
-csst_cpic_sim.main module
--
-
- -csst_cpic_sim.main.deduplicate_names_add_count(names: list) -
remove duplicate names and add count
-
-
-
- -csst_cpic_sim.main.main(argv=None) -
Command line interface of csst_cpic_sim
--
-
- Parameters -
argv (list) – input arguments. Default is None. If None, sys.argv is used.
-
-
-
-
- -csst_cpic_sim.main.observation_simulation_from_config(obs_file, config_file) -
Run observation simulation from config file
--
-
- Parameters -
-
-
obs_file (str) – observation file or folder.
-config_file (str) – config file.
-Examples – see examples in example folder.
-
-
-
-
- -csst_cpic_sim.main.quick_run_v2(target_str: str, band: str, expt: float, emgain: float, nframe: int, skybg: Optional[float] = None, rotation: float = 0, shift: list = [0, 0], emset_input: bool = False, cr_frame: bool = True, camera_effect: bool = True, prograss_bar=False, output='./') ndarray -
A quick run function for CPIC.
--
-
- Parameters -
-
-
target_str (str) – target string. See the input of target.target_file_load for more details.
-band (str) – band name
-expt (float) – exposure time in unit of second
-emgain (float) – EM gain value. Note that emgain is not the same as emset, controled by emset_input keyword.
-nframe (int) – number of frames
-skybg (float or None) – sky background in unit of magnitude. If None, sky background will not be set.
-rotation (float) – rotation of the telescope. in unit of degree. 0 means North is up.
-shift (list) – target shift in unit of arcsec
-emset_input (bool) – if True, emgain paramter is emset. Else, emgain is set using emgain parameter.
-cr_frame (bool) – if True, cosmic ray frame will be added to the image.
-camera_effect (bool) – if True, camera effect will be added to the image.
-prograss_bar (bool) – if True, a prograss_bar will be shown.
-output (str) – the output directory.
-
-- Returns -
image_cube
-
-- Return type -
np.ndarray
-
-
-
-
- -csst_cpic_sim.main.vis_observation(target: dict, skybg: float, expt: float, nframe: int, band: str, emset: int, obsid: int = 41000000000, rotation: float = 0, shift: list = [0, 0], gnc_info: dict = {}, csst_format: bool = True, camera=<csst_cpic_sim.camera.CpicVisEmccd object>, crmaker=<csst_cpic_sim.camera.CosmicRayFrameMaker object>, nsample: int = 1, emgain=None, prograss_bar=None, output='./') ndarray -
Observation simulation main process on visable band using EMCCD.
--
-
- Parameters -
-
-
target (dict) – target dictionary. See the input of target.spectrum_generator for more details.
-skybg (float) – sky background in unit of magnitude/arcsec^2
-expt (float) – exposure time in unit of second
-nframe (int) – number of frames
-band (str) – band name
-emset (int) – EM gain setting value. 1023(0x3FF) for ~1.0× EM gain.
-obsid (int) – observation ID. Start from 4 for CPIC, 01 for science observation. See the input of io.obsid_parser for more details.
-rotation (float) – rotation of the telescope. in unit of degree. 0 means North is up.
-shift (list) – target shift in unit of arcsec
-gnc_info (dict) – gnc_info dictionary. See the input of io.primary_hdu for more details.
-csst_format (bool) – if True, the output fits file will be in the csst format.
-crmaker (CosmicRayFrameMaker) – CosmicRayFrameMaker object. See the input of camera.CosmicRayFrameMaker for more details.
-nsample (int) – number of samples for wide bandpass.
-emgain (float or None) – if None, emgain are set using emset parameter. Else, emgain are set using emgain parameter.
-prograss_bar (bool) – if True, a prograss_bar will be shown.
-output (str) – the output directory.
-
-- Returns -
image_cube
-
-- Return type -
np.ndarray
-
-
csst_cpic_sim.target module
--
-
- -class csst_cpic_sim.target.AlbedoCat(phase: float, metallicity: float, f_sed: float) -
Bases:
-TabularSpectralElement
,Icat
Generate albedo spectrum from the planet reflection model in Batalha et al. 2018
--
-
- Parameters -
-
-
phase (float) – [degree], The phase angle of the planet, range from 0 to 180.
-metallicity (float) – The metallicity of the planet. log(Z/Zsun), range from 0 to 2.
-f_sed (float) – The sedimentation efficiency of the cloud. log(f_sed), range from -2 to 2. 2 is for cloud free case.
-
-
Notes
-f_sed is only reliable between -2 and log10(6) and the cloud free case (2). -Values between log10(6) and 2 are interpolated from the cloud free case (2) and log10(6).
-Color Classification of Extrasolar Giant Planets: Prospects and Cautions -Natasha E. Batalha et al 2018 AJ 156 158
-
-
-
- -class csst_cpic_sim.target.TargetOjbect(info, cstar=None) -
Bases:
-object
A helper class to generate target spectrum and albedo spectrum
--
-
- -x -
x of target in arcsec
--
-
- Type -
float
-
-
-
-
- -y -
y of target in arcsec
--
-
- Type -
fload
-
-
-
-
- -ra -
ra string for center star, such as ‘15d23m05s’
--
-
- Type -
str
-
-
-
-
- -dec -
dec string for center star
--
-
- Type -
str
-
-
-
-
- -distance -
distance of center star in pc
--
-
- Type -
float
-
-
-
-
- -image -
image of the target
--
-
- Type -
2d np.array
-
-
-
-
- -spectrum -
spectrum of the target
--
-
- Type -
pysynphot.spectrum.Spectrum
-
-
-
-
- -csst_cpic_sim.target.bcc_spectrum(coe_cloud: float, coe_metalicity: float) ArraySpectralElement -
Albedo spectrum of planet using BCC model (Batalha et al. 2018),
--
-
- Parameters -
-
-
coe_cloud (float) – The sedimentation efficiency of the cloud. log(f_sed), range from -2 to 2. 2 is for cloud free case.
-coe_metalicity (float) – The metallicity of the planet. log(Z/Zsun), range from 0 to 2.
-
-- Returns -
albedo spectrum of the planet
-
-- Return type -
pysynphot.spectrum.ArrayBandpass
-
-
-
-
- -csst_cpic_sim.target.detect_template_path(template: str) str -
Find template file in catalog folder or current folder.
--
-
- Parameters -
template (str) – template file name
-
-- Returns -
absolute path of template file
-
-- Return type -
str
-
-
-
-
- -csst_cpic_sim.target.extract_target_x_y(target: dict, ra0: Optional[str] = None, dec0: Optional[str] = None) tuple -
extract x, y of target from target dict
--
-
- Parameters -
-
-
target (dict) – target dict. must contain either (ra, dec) or (pangle, spearation)
-ra0 (str) – ra of center star. must be provided if (ra, dec) of target is used
-dec0 (str) – dec of center star. must be provided if (ra, dec) of target is used
-
-- Returns -
x, y – x, y of target in arcsec
-
-- Return type -
float
-
-- Raises -
-
-
ValueError – if (ra, dec) of target is used but (ra, dec) of center star is not provided.
-ValueError – one of (ra, dec) or (pangle, spearation) is not provided.
-
-
-
-
- -csst_cpic_sim.target.hybrid_albedo_spectrum(coe_b: float, coe_r: float) ArraySpectralElement -
Albedo spectrum of planet using hybrid-jupiter-neptune model (Lacy et al. 2018) -jupiter and neptune spectrum is from Karkoschka’s 1994
--
-
- Parameters -
-
-
coe_b (float) – coefficient of blue spectrum, 1 for jupiter, 0 for neptune
-coe_r (float) – coefficient of red spectrum, 1 for jupiter, 0 for neptune
-
-- Returns -
albedo spectrum of the planet
-
-- Return type -
pysynphot.spectrum.ArrayBandpass
-
-
-
-
- -csst_cpic_sim.target.planet_contrast(planet_x_au: float, planet_y_au: float, phase_angle: float, radius: float) float -
calculate the contrast of a planet
--
-
- Parameters -
-
-
planet_x_au (float) – x position of the planet in au
-planet_y_au (float) – y position of the planet in au
-phase_angle (float) – phase angle of the planet in degree
-radius (float) – radius of the planet in jupiter radius
-
-- Returns -
contrast – contrast of the planet
-
-- Return type -
float
-
-
-
-
- -csst_cpic_sim.target.spectrum_generator(targets: dict) list -
generate the spectrum due to the input target list
--
-
- Parameters -
targets (dict) –
target dictionary which contains keyword ‘cstar’ (necessary), ‘stars’(optional), ‘planets’ (optional). -The values are: -- cstar: dict
--
--
-
center star information. must contain keywords ra, dec, distance, magnitude, sptype
-
-
-
-
-
- objects: list of dict, optional, recommended! V2.0 new!
-
-
list of targets. each dict must contain ra, dec, magnitude, sptype
-
-
-
-- Returns -
obj_sp_list – list of [x, y, spectrum, image] of each target
-
-- Return type -
list
-
-
-
-
- -csst_cpic_sim.target.standard_spectrum(magnitude: float) ArraySourceSpectrum -
Standard spectrum of magnitude system. -For example, the standard_spectrum of vega megnitude is vega spectrum. -The standard spectrum of ab magnitude is a flat spectrum.
--
-
- Parameters -
magnitude (float) – magnitude of the standard spectrum
-
-- Returns -
star_sp
-
-- Return type -
S.spectrum.Spectrum
-
-
-
-
- -csst_cpic_sim.target.star_photlam(magnitude: float, sptype: str, is_blackbody: bool = False, mag_input_band: str = 'f661') ArraySourceSpectrum -
genrate flux spectrum of a star by its observal magnitude and spectral type
--
-
- Parameters -
-
-
magnitude (float) – magnitude of the star
-sptype (str) – spectral type of the star
-is_blackbody (bool) – if True, use blackbody spectrum instead of ck04model
-mag_input_band (str) – bandpass of the input magnitude, default is f661
-
-- Returns -
spectrum of the star in photlam unit
-
-- Return type -
pysynphot.spectrum.ArraySpectrum
-
-
-
-
- -csst_cpic_sim.target.target_file_load(target: Union[dict, str]) dict -
Generate target dict from file, string or dict.
--
-
- Parameters -
-
-
target (dict) – target file name, formated string or target dict.
-Outputs –
--------- –
-target – dictionary of target. Format of input
-
-
--Note
-If target is a string start with *, it will be treated as a formatted string. -e.g. “*5.1/25.3(1.3,1.5)/22.1(2.3,-4.5)” which means a central object -with magnitude 5.1, and two substellar with magnitude 25.3 and 22.1, respectively. -The spectrum of each object is standard refernece spectrum of ABmag. -The first number in the parenthesis is the x position in arcsec, and the second is the y position.
-If target is a string without *, it will be treated as file name. And find the file in catalog folder. -The file need to be in yaml format. -And end with .yaml (note .yml not work). If not .yaml will be added.
-If target is a dict, it will be returned directly.
-If all the above conditions are not met, an empty dict will be returned.
-
csst_cpic_sim.optics module
--
-
- -csst_cpic_sim.optics.filter_throughput(filter_name) -
Totally throughput of the each CPIC band. -Including the throughput of the filter, telescope, cpic, and camera QE. -If the filter_name is not supported, return the throughput of the default filter(f661).
--
-
- Parameters -
filter_name (str) – The name of the filter. -One of [‘f565’, ‘f661’(default), ‘f743’, ‘f883’, ‘f940’, ‘f1265’, ‘f1425’, ‘f1542’]
-
-- Returns -
The throughput of the filter.
-
-- Return type -
synphot.Bandpass
-
-
-
-
- -csst_cpic_sim.optics.focal_convolve(band: str, targets: list, init_shifts: list = [0, 0], rotation: float = 0, nsample: int = 5, error: float = 0, platesize: list = [1024, 1024]) ndarray -
PSF convolution of the ideal focus image.
--
-
- Parameters -
-
-
band (str) – The name of the band.
-target (list) – The list of thetargets. See the output of spectrum_generator for details.
-init_shifts (list) – The shifts of the targets to simulate the miss alignment. Unit: arcsec
-rotation (float) – The rotation of the image. Unit: degree
-error (float) – The error of the DM acceleration. Unit: nm
-platesize (list) – The size of the image. Unit: pixel
-
-- Return type -
np.ndarray
-
-
-
-
- -csst_cpic_sim.optics.focal_mask(image, iwa, platescale, throughtput=1e-06) -
Mask the image outside the inner working angle.
--
-
- Parameters -
-
-
image (np.ndarray) – The image to be masked.
-iwa (float) – The inner working angle. Unit: arcsec.
-platescale (float) – The platescale of the image. Unit: arcsec/pixel.
-throughtput (float) – The throughtput of the mask. The default is 1e-6.
-
-- Returns -
The masked image.
-
-- Return type -
np.ndarray
-
-
-
-
- -csst_cpic_sim.optics.ideal_focus_image(bandpass: SpectralElement, targets: list, platescale, platesize: list = [1024, 1024], init_shifts: list = [0, 0], rotation: float = 0) ndarray -
Ideal focus image of the targets. -Each star is a little point of 1pixel.
--
-
- Parameters -
-
-
bandpass (synphot.SpectralElement) – The bandpass of the filter.
-targets (list) – The list of the targets. See the output of spectrum_generator for details.
-platescale (float) – The platescale of the camera. Unit: arcsec/pixel
-platesize (list) – The size of the image. Unit: pixel
-init_shifts (list) – The shifts of the targets to simulate the miss alignment. Unit: arcsec
-rotation (float) – The rotation of the image. Unit: degree
-
-- Returns -
The ideal focus image.
-
-- Return type -
np.ndarray
-
-
csst_cpic_sim.camera module
--
-
- -class csst_cpic_sim.camera.CRobj(flux, angle, sigma, length) -
Bases:
-object
Cosmic ray object.
--
-
- -flux -
The flux of the cosmic ray.
--
-
- Type -
float
-
-
-
-
- -angle -
The angle of the cosmic ray.
--
-
- Type -
float
-
-
-
-
- -sigma -
The width of the cosmic ray.
--
-
- Type -
float
-
-
-
-
- -length -
The length of the cosmic ray.
--
-
- Type -
int
-
-
-
-
- -class csst_cpic_sim.camera.CosmicRayFrameMaker -
Bases:
-object
Cosmic ray frame maker.
--
-
- Parameters -
-
-
depth (float) – The depth of the camera pixel in um.
-pitch (float) – The pitch of the camera pixel in um.
-cr_rate (float) – The cosmic ray rate per second per cm2.
-
-
-
-
- -make_CR(length, sigma, seed=- 1) -
make a image of cosmic ray with given length and sigma.
--
-
- Parameters -
-
-
length (int) – The length of the cosmic ray in pixel.
-sigma (float) – The width of the cosmic ray in pixel.
-
-- Returns -
output – The image of cosmic ray.
-
-- Return type -
numpy.ndarray
-
-
-
-
- -make_cr_frame(shape, expt, seed=- 1) -
make a cosmic ray frame.
--
-
- Parameters -
-
-
shape (list) – The size of the image in pixel.
-expt (float) – The exposure time in second.
-seed (int, optional) – The random seed. The default is -1. If seed is -1, the seed will be randomly selected.
-
-- Returns -
image – The cosmic ray frame.
-
-- Return type -
numpy.ndarray
-
-
-
-
- -random_CR_parameter(expt, pixsize) -
randomly generate cosmic ray parameters, including number, length, flux, sigma and angle.
--
-
- Parameters -
-
-
expt (float) – The exposure time in second.
-pixsize (list) – The size of the image in pixel.
-
-- Returns -
CRs – A list of cosmic ray objects.
-
-- Return type -
list
-
-
-
-
- -class csst_cpic_sim.camera.CpicVisEmccd(config_dict=None) -
Bases:
-object
The class for Cpic EMCCD camera.
--
-
- -switch -
A dictionary to switch on/off the camera effects.
--
-
- Type -
dict
-
-
-
-
- -bias_frame() -
Generate bias frame -The bias frame contains vertical, horizontal, peper-salt noise, bias drift effect. -Can be configurable using self.switch.
--
-
- Returns -
bias frame
-
-- Return type -
np.ndarray
-
-
-
-
- -config_init() -
initialize the camera. -If the config is set, call this function to update the config.
-
-
-
- -em_fix_fuc_fit(emgain) -
Calculate the emgain fix coeficient to fix the gamma distribution. -The coeficient is from fixing of ideal emgain distribution.
--
-
- Parameters -
emgain (float) – The emgain.
-
-- Returns -
The coeficient.
-
-- Return type -
float
-
-
-
-
- -emgain_set(em_set, ccd_temp=None, self_update=True) -
Set emgain from em set value.
--
-
- Parameters -
-
-
em_set (int) – em set value. 3FF is about 1.17×, 200 is about 1000×.
-ccd_temp (float, optional) – CCD temperature. If not given, use the current ccd temperature.
-self_update (bool, optional) – if True, update the emgain and emset. Default is True. -if False, only return the emgain.
-
-
-
-
- -emregester_blooming(image, max_iteration=5) -
emregester blooming effect
-
-
-
- -nonlinear_effect(image) -
nonlinear effect
-
-
-
- -readout(image_focal, em_set, expt_set, image_cosmic_ray=False, emgain=None) -
From focal planet image to ccd output. -Interface function for emccd. Simulate the readout process.
--
-
- Parameters -
-
-
image_focal (np.ndarray) – focal planet image. Unit: photon-electron/s/pixel
-em_set (int) – emgain set value.
-expt_set (float) – exposure time set value. Unit: s (0 mains 1ms)
-image_cosmic_ray (np.ndarray, optional) – cosmic ray image. Unit: photon-electron/pixel
-emgain (float, optional) – if not None, use the given emgain. Else, calculate the emgain using em_set
-
-- Returns -
ccd output image. Unit: ADU
-
-- Return type -
np.ndarray
-
-
-
-
- -time_syn(t, readout=True, initial=False) -
time synchronization and update the system time and ccd temperature
--
-
- Parameters -
-
-
t (float) – relative time
-readout (bool, optional) – If the camera is readout before time synchronization, set readout to True -if True, the ccd temperature will increase, otherwise, it will decrease
-initial (bool, optional) – If inital is True, the ccd will be intialized to the cooler temperature
-
-
-
-
- -vertical_blooming(image) -
vertical blooming effect
-
-
-
- -csst_cpic_sim.camera.sky_frame_maker(band, skybg, platescale, shape) -
generate a sky background frame.
--
-
- Parameters -
-
-
band (str) – The band of the sky background.
-skybg (str) – The sky background file name.
-platescale (float) – The platescale of the camera in arcsec/pixel.
-shape (tuple) – The shape of the output frame. (y, x)
-
-- Returns -
sky_bkg_frame – The sky background frame.
-
-- Return type -
numpy.ndarray
-
-
csst_cpic_sim.io module
--
-
- -csst_cpic_sim.io.check_and_update_fits_header(header) -
Check the header keywords and update the description according to the data model.
--
-
- Parameters -
header (astropy.io.fits.header.Header) – The header to be checked.
-
-- Return type -
None
-
-
-
-
- -csst_cpic_sim.io.datetime_obj_to_mjd(time_obj) -
transfer datetime object to mean julian date (MJD).
--
-
- Parameters -
time_obj (datetime.datetime) – The datetime object.
-
-- Returns -
The mean julian date (MJD).
-
-- Return type -
float
-
-
-
-
- -csst_cpic_sim.io.frame_header(obs_info, index, primary_header, camera_dict) -
Generate the header for a single frame.
--
-
- Parameters -
-
-
obs_info (dict) – Dictionary of parameters. See save_fits function.
-index (int) – Frame index.
-primary_header (dict) – Primary header
-
-- Return type -
astropy.io.fits.Header
-
-
-
-
- -csst_cpic_sim.io.obsid_parser(obsid: int) -
Parse the obsid to get the obstype.
--
-
- Parameters -
obsid (str) – The obsid of the observation. -Obsid must be 11 digits and start with 5 for CPIC.
-
-- Returns -
The obstype of the observation.
-
-- Return type -
str
-
-- Raises -
ValueError – If the obsid is not 11 digits or does not start with 5.
-
-
-
-
- -csst_cpic_sim.io.primary_hdu(obs_info: dict, gnc_info: dict, filename_output=False) -
Generate the primary hdu of the fits file.
--
-
- Parameters -
-
-
obs_info (dict) – The parameters of the observation. See save_fits function.
-gnc_info (dict) – The gnc information of the observation.
-filename_output (bool (optional)) – If True, the folder and the filename will be returned.
-
-- Returns -
-
-
fits.PrimaryHDU – The primary hdu of the fits file.
-str, str – The folder and filename of the fits file. Only returned if filename_output is True.
-
-
Notes
-The gnc_info dict should contain the information of orbit and observation. -these informations are used to genrated the hdu header. Refer to the data model for more information.
-
-
-
- -csst_cpic_sim.io.save_fits(images, obs_info, gnc_info, camera_dict={}, csst_format=True, output_folder='./') -
Save the image to a fits file.
--
-
- Parameters -
-
-
images (numpy.ndarray) – Image array to be saved.
-obs_info (dict) –
Dictionary of observation informations. -Must contain the following keys
--
-
-
-
- band: str
-
-
Band of the image.
-
-
--
-
- expt: float
-
-
Exposure time of the each image.
-
-
--
-
- nframe: int
-
-
Number of frames in the image.
-
-
--
-
- emgain: int
-
-
EM gain of the camera.
-
-
--
-
- obsid: str
-
-
Observation ID. Obsid must be 11 digits and start with 5 for CPIC. See pharse_obsid() for details.
-
-
--
-
- rotation: float
-
-
Rotation angle of the image.
-
-
--
-
- shift: list
-
-
Shift of the image.
-
-
-
-gnc_info (dict) – Dictionary of GNC information. -Contains the keywords in the primary header. See primary_hdu() for details.
-csst_format (bool, optional) – Whether to save the fits file in CSST format, by default True.
-
-
-
-
- -csst_cpic_sim.io.save_fits_simple(images, obs_info, output_folder='./') -
Save the image to a fits file with a simple header to TMP directory.
--
-
- Parameters -
-
-
images (numpy.ndarray) – Image array to be written.
-obs_info (dict) – Dictionary of observation informations. See save_fits function.
-
-- Return type -
Filename of the saved fits file.
-
-
-
-
- -csst_cpic_sim.io.set_up_logger(log_dir) -
csst_cpic_sim.config module
--
-
- -csst_cpic_sim.config.iso_time(time) -
Transfer relative time to iso time format
--
-
- Parameters -
time (str or float) – The relative time in seconds.
-
-- Returns -
The iso time format.
-
-- Return type -
str
-
-
-
-
- -csst_cpic_sim.config.load_refdata_path(config_aim) -
Load refdata path. -The refdata path is stored in config_aim file. If not found, set it.
--
-
- Parameters -
config_aim (str) – config_aim file path
-
-
-
-
- -csst_cpic_sim.config.relative_time(time) -
Transfer iso time format to relative time in seconds
--
-
- Parameters -
time (str or float) – The iso time format.
-
-- Returns -
The relative time in seconds.
-
-- Return type -
float
-
-
-
-
- -csst_cpic_sim.config.replace_cpism_refdata(config: dict, output: str = '$') None -
Replace the cpism_refdata in the config. -In the config file, we use ${cpism_refdata} to indicate the cpism_refdata. -This function is used to replace the cpism_refdata in the config, or replace back.
--
-
- Parameters -
-
-
config (dict) – config dict.
-output (str) – ‘$’ or ‘other’. If output is ‘$’, then replace the cpism_refdata in the config with ${cpism_refdata}. -If output is ‘other’, then replace the ${cpism_refdata} in the config file with the real path. -‘$’ is used meanly to generate a demo config file.
-
-
-
-
- -csst_cpic_sim.config.setup_config(new_config) -
Set up config from a dict. -Some of the configs need to calcuate.
--
-
- Parameters -
new_config (dict) – new config dict.
-
-- Return type -
None
-
-
-
-
- -csst_cpic_sim.config.which_focalplane(band) -
Return the name of the focalplane which the band belongs to. -right now only support vis
--
-
- Parameters -
band (str) – The name of the band.
-
-- Returns -
The name of the focalplane. -‘vis’ or ‘nir’ or ‘wfs’
-
-- Return type -
str
-
-- Raises -
ValueError – If the band is not in [‘f565’, ‘f661’, ‘f743’, ‘f883’, ‘f940’, ‘f1265’, ‘f1425’, ‘f1542’, ‘wfs’]
-
-
csst_cpic_sim.utils module
--
-
- -class csst_cpic_sim.utils.Logger(filename, level='INFO') -
Bases:
-object
-
-
- -csst_cpic_sim.utils.psf_imshow(psf, vmin=1e-08, vmax=0.1, log=True, region=1) -
-
-
- -csst_cpic_sim.utils.random_seed_select(seed=- 1) -
Select a random seed for numpy.random and return it.
-
-
-
- -csst_cpic_sim.utils.region_replace(background: ndarray, front: ndarray, shift: list, bmask: float = 1.0, fmask: float = 1.0, padded_in: bool = False, padded_out: bool = False, subpix: bool = False) -
replace a region of the background with the front image.
--
-
- Parameters -
-
-
background (np.ndarray) – The background image.
-front (np.ndarray) – The front image.
-shift (list) – The [x, y] shift of the front image. Unit: pixel. -Relative to the lower-left corner of the background image. -[0, 0] means the lower-left corner of the front image is at the lower-left corner of the background image.
-bmask (float) – The mask of the background image. Default: 1.0 -0.0 means the background image is masked. -1.0 means the background image is fully added.
-fmask (float) – The mask of the front image. Default: 1.0 -0.0 means the front image is masked (not added). -1.0 means the front image is fully added.
-padded_in (bool) – Whether the input background image is padded. Default: False -In the function, the background image is padded by the size of the front image. -If True, means the background image is padded.
-padded_out (bool) – Whether the output image is padded. Default: False -In the function, the background image is padded by the size of the front image. -If True, means the output image is padded. -padded_in and padded_out are designed for the case that replace_region fuction is called multiple times.
-subpix (bool) – Whether the shift is subpixel. Default: False -If True, the shift is subpixel, using scipy.ndimage.shift to shift the front image. -If False, the shift is integer, using numpy slicing to shift the front image.
-
-- Returns -
The output image. -shape = background.shape if padded_out = False -shape = background.shape + 2 * front.shape if padded_out = True
-
-- Return type -
np.ndarray
-
-
Module contents
--
-
- -class csst_cpic_sim.CosmicRayFrameMaker -
Bases:
-object
Cosmic ray frame maker.
--
-
- Parameters -
-
-
depth (float) – The depth of the camera pixel in um.
-pitch (float) – The pitch of the camera pixel in um.
-cr_rate (float) – The cosmic ray rate per second per cm2.
-
-
-
-
- -make_CR(length, sigma, seed=- 1) -
make a image of cosmic ray with given length and sigma.
--
-
- Parameters -
-
-
length (int) – The length of the cosmic ray in pixel.
-sigma (float) – The width of the cosmic ray in pixel.
-
-- Returns -
output – The image of cosmic ray.
-
-- Return type -
numpy.ndarray
-
-
-
-
- -make_cr_frame(shape, expt, seed=- 1) -
make a cosmic ray frame.
--
-
- Parameters -
-
-
shape (list) – The size of the image in pixel.
-expt (float) – The exposure time in second.
-seed (int, optional) – The random seed. The default is -1. If seed is -1, the seed will be randomly selected.
-
-- Returns -
image – The cosmic ray frame.
-
-- Return type -
numpy.ndarray
-
-
-
-
- -random_CR_parameter(expt, pixsize) -
randomly generate cosmic ray parameters, including number, length, flux, sigma and angle.
--
-
- Parameters -
-
-
expt (float) – The exposure time in second.
-pixsize (list) – The size of the image in pixel.
-
-- Returns -
CRs – A list of cosmic ray objects.
-
-- Return type -
list
-
-
-
-
- -csst_cpic_sim.extract_target_x_y(target: dict, ra0: Optional[str] = None, dec0: Optional[str] = None) tuple -
extract x, y of target from target dict
--
-
- Parameters -
-
-
target (dict) – target dict. must contain either (ra, dec) or (pangle, spearation)
-ra0 (str) – ra of center star. must be provided if (ra, dec) of target is used
-dec0 (str) – dec of center star. must be provided if (ra, dec) of target is used
-
-- Returns -
x, y – x, y of target in arcsec
-
-- Return type -
float
-
-- Raises -
-
-
ValueError – if (ra, dec) of target is used but (ra, dec) of center star is not provided.
-ValueError – one of (ra, dec) or (pangle, spearation) is not provided.
-
-
-
-
- -csst_cpic_sim.focal_mask(image, iwa, platescale, throughtput=1e-06) -
Mask the image outside the inner working angle.
--
-
- Parameters -
-
-
image (np.ndarray) – The image to be masked.
-iwa (float) – The inner working angle. Unit: arcsec.
-platescale (float) – The platescale of the image. Unit: arcsec/pixel.
-throughtput (float) – The throughtput of the mask. The default is 1e-6.
-
-- Returns -
The masked image.
-
-- Return type -
np.ndarray
-
-
-
-
- -csst_cpic_sim.planet_contrast(planet_x_au: float, planet_y_au: float, phase_angle: float, radius: float) float -
calculate the contrast of a planet
--
-
- Parameters -
-
-
planet_x_au (float) – x position of the planet in au
-planet_y_au (float) – y position of the planet in au
-phase_angle (float) – phase angle of the planet in degree
-radius (float) – radius of the planet in jupiter radius
-
-- Returns -
contrast – contrast of the planet
-
-- Return type -
float
-
-
-
-
- -csst_cpic_sim.quick_run_v2(target_str: str, band: str, expt: float, emgain: float, nframe: int, skybg: Optional[float] = None, rotation: float = 0, shift: list = [0, 0], emset_input: bool = False, cr_frame: bool = True, camera_effect: bool = True, prograss_bar=False, output='./') ndarray -
A quick run function for CPIC.
--
-
- Parameters -
-
-
target_str (str) – target string. See the input of target.target_file_load for more details.
-band (str) – band name
-expt (float) – exposure time in unit of second
-emgain (float) – EM gain value. Note that emgain is not the same as emset, controled by emset_input keyword.
-nframe (int) – number of frames
-skybg (float or None) – sky background in unit of magnitude. If None, sky background will not be set.
-rotation (float) – rotation of the telescope. in unit of degree. 0 means North is up.
-shift (list) – target shift in unit of arcsec
-emset_input (bool) – if True, emgain paramter is emset. Else, emgain is set using emgain parameter.
-cr_frame (bool) – if True, cosmic ray frame will be added to the image.
-camera_effect (bool) – if True, camera effect will be added to the image.
-prograss_bar (bool) – if True, a prograss_bar will be shown.
-output (str) – the output directory.
-
-- Returns -
image_cube
-
-- Return type -
np.ndarray
-
-
-
-
- -csst_cpic_sim.sky_frame_maker(band, skybg, platescale, shape) -
generate a sky background frame.
--
-
- Parameters -
-
-
band (str) – The band of the sky background.
-skybg (str) – The sky background file name.
-platescale (float) – The platescale of the camera in arcsec/pixel.
-shape (tuple) – The shape of the output frame. (y, x)
-
-- Returns -
sky_bkg_frame – The sky background frame.
-
-- Return type -
numpy.ndarray
-
-
-
-
- -csst_cpic_sim.spectrum_generator(targets: dict) list -
generate the spectrum due to the input target list
--
-
- Parameters -
targets (dict) –
target dictionary which contains keyword ‘cstar’ (necessary), ‘stars’(optional), ‘planets’ (optional). -The values are: -- cstar: dict
--
--
-
center star information. must contain keywords ra, dec, distance, magnitude, sptype
-
-
-
-
-
- objects: list of dict, optional, recommended! V2.0 new!
-
-
list of targets. each dict must contain ra, dec, magnitude, sptype
-
-
-
-- Returns -
obj_sp_list – list of [x, y, spectrum, image] of each target
-
-- Return type -
list
-
-
-
-
- -csst_cpic_sim.star_photlam(magnitude: float, sptype: str, is_blackbody: bool = False, mag_input_band: str = 'f661') ArraySourceSpectrum -
genrate flux spectrum of a star by its observal magnitude and spectral type
--
-
- Parameters -
-
-
magnitude (float) – magnitude of the star
-sptype (str) – spectral type of the star
-is_blackbody (bool) – if True, use blackbody spectrum instead of ck04model
-mag_input_band (str) – bandpass of the input magnitude, default is f661
-
-- Returns -
spectrum of the star in photlam unit
-
-- Return type -
pysynphot.spectrum.ArraySpectrum
-
-
-
-
- -csst_cpic_sim.vis_observation(target: dict, skybg: float, expt: float, nframe: int, band: str, emset: int, obsid: int = 41000000000, rotation: float = 0, shift: list = [0, 0], gnc_info: dict = {}, csst_format: bool = True, camera=<csst_cpic_sim.camera.CpicVisEmccd object>, crmaker=<csst_cpic_sim.camera.CosmicRayFrameMaker object>, nsample: int = 1, emgain=None, prograss_bar=None, output='./') ndarray -
Observation simulation main process on visable band using EMCCD.
--
-
- Parameters -
-
-
target (dict) – target dictionary. See the input of target.spectrum_generator for more details.
-skybg (float) – sky background in unit of magnitude/arcsec^2
-expt (float) – exposure time in unit of second
-nframe (int) – number of frames
-band (str) – band name
-emset (int) – EM gain setting value. 1023(0x3FF) for ~1.0× EM gain.
-obsid (int) – observation ID. Start from 4 for CPIC, 01 for science observation. See the input of io.obsid_parser for more details.
-rotation (float) – rotation of the telescope. in unit of degree. 0 means North is up.
-shift (list) – target shift in unit of arcsec
-gnc_info (dict) – gnc_info dictionary. See the input of io.primary_hdu for more details.
-csst_format (bool) – if True, the output fits file will be in the csst format.
-crmaker (CosmicRayFrameMaker) – CosmicRayFrameMaker object. See the input of camera.CosmicRayFrameMaker for more details.
-nsample (int) – number of samples for wide bandpass.
-emgain (float or None) – if None, emgain are set using emset parameter. Else, emgain are set using emgain parameter.
-prograss_bar (bool) – if True, a prograss_bar will be shown.
-output (str) – the output directory.
-
-- Returns -
image_cube
-
-- Return type -
np.ndarray
-
-