Example #1
0
"""
Generate gaussian random fields with a known power spectrum

"""

import numpy as np
import matplotlib.pyplot as plt

from astropy.units import deg

from lenstools import GaussianNoiseGenerator

#Set map side angle, and number of pixels on a side
num_pixel_side = 512
side_angle = 3.41 * deg

#Read the power spectrum (l,Pl) from an external file, and load it in numpy array format (the generator interpolates the power spectrum between bins)
l,Pl = np.loadtxt("Data/ee4e-7.txt",unpack=True)

#Instantiate the gaussian noise generator
gen = GaussianNoiseGenerator(shape=(num_pixel_side,num_pixel_side),side_angle=side_angle,label="convergence")

#Generate one random realization
gaussian_map = gen.fromConvPower(np.array([l,Pl]),seed=1,kind="linear",bounds_error=False,fill_value=0.0)

#gaussian_map is a ConvergenceMap instance
gaussian_map.visualize()
gaussian_map.savefig("example_map.png")
Example #2
0
if (pool is not None) and not (pool.is_master()):

    pool.wait()
    sys.exit(0)

map_mock_ids = range(int(sys.argv[1]))

igs1_set = IGS1(
    root_path=
    "/Users/andreapetri/Documents/Columbia/spurious_shear/convergence_maps")
map_igs1_ids = igs1_set.getNames(z=1.0,
                                 realizations=range(1,
                                                    int(sys.argv[1]) + 1))

gen = GaussianNoiseGenerator(shape=(2048, 2048),
                             side_angle=3.41 * deg,
                             label="convergence")
power_func = np.loadtxt("Data/ee4e-7.txt", unpack=True)

ens_mock = Ensemble.fromfilelist(map_mock_ids)
ens_igs1 = Ensemble.fromfilelist(map_igs1_ids)

ens_mock.load(callback_loader=generate_and_measure,
              pool=pool,
              generator=gen,
              power_func=power_func)
ens_igs1.load(callback_loader=measure_from_IGS1, pool=pool)

if pool is not None:
    pool.close()
Example #3
0
import matplotlib.pyplot as plt

from astropy.units import deg

from lenstools import GaussianNoiseGenerator

#Set map side angle, and number of pixels on a side
num_pixel_side = 128
side_angle = 20 * deg

#Read the power spectrum (l,Pl) from an external file, and load it in numpy array format (the generator interpolates the power spectrum between bins)
l,Pl = np.loadtxt("./try1.dat",unpack=True)

#Instantiate the gaussian noise generator
#gen = GaussianNoiseGenerator(shape=(num_pixel_side,num_pixel_side),side_angle=side_angle,label="convergence")
gen = GaussianNoiseGenerator(shape=(num_pixel_side,num_pixel_side),side_angle=side_angle)

#Generate one random realization
gaussian_map = gen.fromConvPower(np.array([l,Pl]),seed=1,kind="linear",bounds_error=False,fill_value=0.0)

#print(dir(gen._fourierMap))
#print(gen._fourierMap.__dict__)

#print(dir(gaussian_map))
#print(gaussian_map.__dict__)
#print(getattr(gaussian_map, 'data').shape)

map_data = getattr(gaussian_map, 'data')

np.savetxt('map_data.dat', map_data)