simpunch.level2#

Generate synthetic level 2 data.

PTM - PUNCH Level-2 Polarized (MZP) Mosaic

Functions#

get_fcorona_parameters(→ dict[str, float])

Get time dependent F corona model parameters.

generate_fcorona(, tilt_angle, a, b, tilt_offset)

Generate an F corona model.

add_fcorona(→ ndcube.NDCube)

Add synthetic f-corona model.

generate_starfield(wcs, img_shape, fwhm, wcs_mode, ...)

Generate a realistic starfield.

generate_dummy_polarization(→ ndcube.NDCube)

Create a synthetic polarization map.

add_starfield_polarized() → ndcube.NDCollection)

Add synthetic polarized starfield.

add_starfield_clear(→ ndcube.NDCube)

Add synthetic starfield.

remix_polarization(→ ndcube.NDCube)

Remix polarization from (B, pB) to (M,Z,P) using solpolpy.

generate_l2_ptm(→ None)

Generate level 2 PTM synthetic data.

generate_l2_ctm(→ None)

Generate level 2 CTM synthetic data.

generate_l2_all(→ None)

Generate all level 2 synthetic data.

Module Contents#

simpunch.level2.get_fcorona_parameters(date_obs: astropy.time.Time) dict[str, float]#

Get time dependent F corona model parameters.

simpunch.level2.generate_fcorona(shape: int, int, tilt_angle: float = 3 * u.deg, a: float = 600.0, b: float = 300.0, tilt_offset: tuple[float] = (0, 0)) numpy.ndarray#

Generate an F corona model.

simpunch.level2.add_fcorona(input_data: ndcube.NDCube) ndcube.NDCube#

Add synthetic f-corona model.

simpunch.level2.generate_starfield(wcs: astropy.wcs.WCS, img_shape: int, int, fwhm: float, wcs_mode: str = 'all', mag_set: float = 0, flux_set: float = 500000, noise_mean: float | None = 25.0, noise_std: float | None = 5.0, dimmest_magnitude: float = 8)#

Generate a realistic starfield.

simpunch.level2.generate_dummy_polarization(map_scale: float = 0.225, pol_factor: float = 0.5) ndcube.NDCube#

Create a synthetic polarization map.

simpunch.level2.add_starfield_polarized(input_collection: ndcube.NDCollection, polfactor: tuple = (0.2, 0.3, 0.5)) ndcube.NDCollection#

Add synthetic polarized starfield.

simpunch.level2.add_starfield_clear(input_data: ndcube.NDCube) ndcube.NDCube#

Add synthetic starfield.

simpunch.level2.remix_polarization(input_data: ndcube.NDCube) ndcube.NDCube#

Remix polarization from (B, pB) to (M,Z,P) using solpolpy.

simpunch.level2.generate_l2_ptm(input_file: str, path_output: str) None#

Generate level 2 PTM synthetic data.

simpunch.level2.generate_l2_ctm(input_file: str, path_output: str) None#

Generate level 2 CTM synthetic data.

simpunch.level2.generate_l2_all(datadir: str, outdir: str) None#

Generate all level 2 synthetic data.

L2_PTM <- f-corona subtraction <- starfield subtraction <- remix polarization <- L3_PTM