Survey
- class ehtim.survey.ParameterSet(paramset, params_fixed={})[source]
- paramset
- dict containing single parameter set. Each key in dict becomes its own attribute - Type:
 
 - params_fixed
- dict containing non-varying parameters. Each key in dict becomes its own attribute - Type:
 
 - obs_sc_init
- original observation with systematic noise added, reverse taper applied, and extended flux removed - Type:
 
 - init_img()[source]
- Creates initial/prior image. Only gaussian prior option at present, but creates prior attritubute self.initimg using self.zbl and self.prior_fwhm - Args: - Returns: 
 - load_data()[source]
- Loads in uvfits file from self.infile into eht-imaging obs object and averages using self.avg_time Creates self.obs - Args: - Returns: 
 - make_img()[source]
- Reconstructs image with specified parameters (data weights, amount of self-cal, etc) described in paramset dict Creates attributes self.im_out containing the final image and self.caltab containing a corresponding calibration table object for the final image - Args: - Returns: 
 - preimcal()[source]
- Applies pre-imaging calibration to self.obs. This includes flagging sites with no measurements, rescaling short baselines so only compact flux is being imaged, applying a u-v taper, and adding extra sys noise. Creates self.obs_sc which will have self-cal applied in future steps and self.obs_sc_init which is a copy of the initial preimcal observation - Args: - Returns: 
 - save_statistics()[source]
- Saves a csv file with the following statistics: chi^2 closure phase, logcamp, vis wrt the original observation chi^2 vis wrt to original observation with self-cal to final image applied chi^2 closure phase, logcamp, vis wrt the original observation with sys noise and self-cal applied - Args: - Returns: 
 
- ehtim.survey.create_params_fixed(infile, outfile_base, outpath, ground_truth_img='None', save_imgsums=False, save_uvfits=True, save_pdf=False, save_stats=True, save_caltab=True, nproc=1, backend='multiprocessing', ttype='nfft', overwrite=False, selfcal=True, gaintol=[0.02, 0.2], niter_static=3, blurfrac=1, maxit=100, stop=0.0001, fov=128, npixels=64, reverse_taper_uas=5, uv_zblcut=100000000.0, SEFD_error_budget={'AA': 0.1, 'AX': 0.1, 'GL': 0.1, 'LM': 0.1, 'MG': 0.1, 'MM': 0.1, 'PV': 0.1, 'SW': 0.1})[source]
- Create a dict for all non-varying survery parameters - Parameters:
- infile (str) – path to input uvfits observation file 
- outfile_base (str) – name of base filename for all outputs 
- outpath (str) – path to directory where all outputs should be stored 
- ground_truth_img (str) – if applicable, path to ground truth fits file 
- save_imgsums (bool) – save summary pdf for each image 
- save_uvfits (bool) – save final self-cal observation to uvfits file 
- save_pdf (bool) – save pdf of each image 
- save_stats (bool) – save csv file containing statistics for each image 
- save_caltab (bool) – save a calibration table for each image 
- nproc (int) – number of parallel processes 
- backend (str) – either ‘multiprocessing’ or ‘ray’ 
- ttype (str) – “fast” or “nfft” or “direct” 
- overwrite (bool) – if True, write over existing files with same names - else, skip parameter set 
- selfcal (bool) – perform self-calibration steps during imaging 
- gaintol (array) – tolerance for gains to be under/over unity respectively during self-cal 
- niter_static (int) – number of iterations for each imaging step 
- blurfrac (int) – factor to blur initial image between iterations 
- maxit (int) – maximum number of iterations if image does not converge 
- stop (float) – convergence criterion for imaging 
- fov (int) – image field of view in uas 
- npixels (int) – number of image pixels 
- reverse_taper_uas (int) – fwhm of gassuain in uas to reverse taper observation 
- uv_zblcut (float) – maximum uv-distance to which is considered short baseline flux 
- SEFD_error_budget (dict) – SEFD percentage error for each station 
 
- Returns:
- dict containing all non-varying survery parameters 
- Return type:
- (dict) 
 
- ehtim.survey.create_survey_psets(zbl=[0.6], sys_noise=[0.02], avg_time=['scan'], prior_fwhm=[40], sc_phase=[0], xdw_phase=[10], sc_ap=[0], xdw_ap=[1], amp=[0.2], cphase=[1], logcamp=[1], simple=[1], l1=[1], tv=[1], tv2=[1], flux=[1], epsilon_tv=[1e-10])[source]
- Create a dataframe given all survey parameters. Default values will create an example dataframe but these values should be adjusted for each specific observation - Parameters:
- zbl (array) – compact flux value (Jy) 
- sys_noise (array) – percent addition of systematic noise 
- avg_time (array) – in seconds or ‘scan’ for scan averaging 
- prior_fwhm (array) – fwhm of gaussian prior in uas 
- sc_phase (array) – number of iterations to perform phase-only self-cal 
- xdw_phase (array) – multiplicative factor for data weights after one round of phase-only self-cal 
- sc_ap (array) – number of iterations to perform amp+phase self-cal 
- xdw_ap (array) – multiplicative factor for data weights after one round of amp+phase self-cal 
- amp (array) – data weight to be placed on amplitudes 
- cphase (array) – data weight to be placed on closure phases 
- logcamp (array) – data weight to be placed on log closure amplitudes 
- simple (array) – regularizer weight for relative entropy, favoring similarity to prior image 
- l1 (array) – regularizer weight for l1 norm, favoring image sparsity 
- tv (array) – regularizer weight for total variation, favoring sharp edges 
- tv2 (array) – regularizer weight for total squared variation, favoring smooth edges 
- flux (array) – regularizer weight for total flux density, favoring final images with flux close to zbl 
- epsilon_tv (array) – epsilon value used in definition of total variation - rarely need to change this 
 
- Returns:
- pandas DataFrame containing all combination of parameter sets along with index values 
- Return type:
- (DataFrame)