Esempio n. 1
0
size = int(argv[1])
psf_r = float(argv[2])
e = float(argv[3])
btr = float(argv[4])
ra = float(argv[5])
seed = int(argv[6])
file_tag = int(argv[7])
source_label = argv[8]
# seed = 52405 # used in the paper

num = 11
pixel_scale = 0.187

if source_label == "galsim":
    flux = numpy.array([
        tool_box.mag_to_flux(22.45),
        tool_box.mag_to_flux(23.2),
        tool_box.mag_to_flux(23.7),
        tool_box.mag_to_flux(24)
    ])
else:
    flux = numpy.array([
        tool_box.mag_to_flux(22.7),
        tool_box.mag_to_flux(23.83),
        tool_box.mag_to_flux(24.02),
        tool_box.mag_to_flux(24.12)
    ])

flux_num = len(flux)
noise_sig = 60
Esempio n. 2
0
a1, a2 = 0, -0.02
profile_params = [a1, a2]

# shear field
shear_field = a1 + a2 * x

# the galactic parameters
h5f = h5py.File(parent_path + "param_slope.hdf5", "w")

h5f["/FIELD_g"] = shear_field

h5f["/x"] = x

mag_i = tool_box.mag_generator(total_num, 20, 23.5)
flux_i = tool_box.mag_to_flux(mag_i)
h5f["/mag"] = mag_i
h5f["/flux"] = flux_i
print(flux_i.min(), flux_i.max())

# Plot
img = Image_Plot()
img.subplots(1, 3)
img.set_style()
inverse = range(nx - 1, -1, -1)

norm_g = plt.Normalize(vmin=numpy.min(shear_field_ch),
                       vmax=numpy.max(shear_field_ch))
cmap_g = plt.get_cmap('jet')

for i in range(3):
Esempio n. 3
0
import os
my_home = os.popen("echo $HOME").readlines()[0][:-1]
from sys import path, argv
path.append('%s/work/fourier_quad/' % my_home)
path.append("E:/Github/astrophy-research/my_lib")
from astropy.io import fits
import numpy
from Fourier_Quad import Fourier_Quad
import tool_box
import matplotlib.pyplot as plt


size1 = 32
size2 = 128
pts_n = 50
flux = tool_box.mag_to_flux(22)

fq_noise = Fourier_Quad(256, 1110)
noise = fq_noise.draw_noise(0, 60)
nsp = noise.shape

fq_pts1 = Fourier_Quad(size1, 1231)
fq_pts2 = Fourier_Quad(size2, 1231)
pts = fq_pts1.ran_pos(pts_n, 6)

gal1 = fq_pts1.convolve_psf(pts, 4, flux/pts_n)+noise[int(nsp[0]/2-size1/2):int(nsp[0]/2+size1/2),int(nsp[1]/2-size1/2):int(nsp[1]/2+size1/2)]
gal2 = fq_pts2.convolve_psf(pts, 4, flux/pts_n)+noise[int(nsp[0]/2-size2/2):int(nsp[0]/2+size2/2),int(nsp[1]/2-size2/2):int(nsp[1]/2+size2/2)]
print(gal1.shape, gal2.shape)
gal1_p = fq_pts1.pow_spec(gal1)
snr1 = fq_pts1.snr_f(gal1)
gal2_p = fq_pts2.pow_spec(gal2)
Esempio n. 4
0
path_items = tool_box.config(envs_path, ['get', 'get', 'get', 'get'], get_contents)
total_path, result_path, para_path, log_path = path_items


stamp_size = 48
stamp_col = 100
noise_sig = 60
pixel_scale = 0.187
stamp_num = 10000

mag = 24
ra = 0.4
btr = 0.4
e1 = 0.6
e2 = -0.7
gal_flux = tool_box.mag_to_flux(mag)

psf = galsim.Moffat(beta=3.5, fwhm=0.7, flux=1.0, trunc=2)

gal_pool = []

rng = numpy.random.RandomState(rank+123*rank+1)
fq = Fourier_Quad(stamp_size, 123)
ny,nx = stamp_col*stamp_size, stamp_col*stamp_size

bulge = galsim.Sersic(half_light_radius=ra, n=4, trunc=4.5 * ra, flux=1.0)  # be careful
disk = galsim.Sersic(scale_radius=ra, n=1, trunc=4.5 * ra, flux=1.0)  # be careful
gal = bulge * btr + disk * (1 - btr)
gal_e = gal.shear(e1=e1, e2=e2)
gal_f = gal_e.withFlux(gal_flux)
gal_c = galsim.Convolve([gal_f, psf])
import galsim

size = int(argv[1])
psf_r = float(argv[2])
e = float(argv[3])
btr = float(argv[4])
ra = float(argv[5])
seed = int(argv[6])
file_tag = int(argv[7])

pts_source = 0

num = 11
pixel_scale = 0.187

flux = [tool_box.mag_to_flux(21.5)]

noise_sig = 60

detect_thresh = 2

fq = Fourier_Quad(size, seed)
fq_p = Fourier_Quad(size, 17060)
# all the images are added by the same noise
noise = fq.draw_noise(0, noise_sig)

psf = galsim.Moffat(beta=3.5, fwhm=psf_r, flux=1.0, trunc=psf_r * 3)

shear_beta = numpy.linspace(0, numpy.pi, num)
input_g = numpy.linspace(-0.06, 0.06, num)
Esempio n. 6
0
data_path = argv[1]

rng = numpy.random.RandomState((rank + 1) * 1000)

time.sleep(rank * 0.05)

chip_num = 2000
stamp_num = 10000

t1 = time.time()

# magnitude & flux
mag_s, mag_e = 21, 25.5
mag = tool_box.mag_generator(chip_num * stamp_num, mag_s,
                             mag_e).astype(dtype=numpy.float32)
flux = tool_box.mag_to_flux(mag).astype(dtype=numpy.float32)

# galactic radius
radius_s, radius_e = 0.75, 1.87

radius = tool_box.radii_from_mags(mag, radius_s,
                                  radius_e).astype(dtype=numpy.float32) / 0.187

rand_seed = rng.randint(1, 4094967296, size=chip_num)

if rank == 0:
    if not os.path.exists(data_path):
        os.makedirs(data_path)
    if not os.path.exists(data_path + "/pic"):
        os.makedirs(data_path + "/pic")