small fixes and improvments
This commit is contained in:
@@ -173,7 +173,7 @@ def main(infiles, target=None, output_dir="./data/"):
|
||||
# Reduction parameters
|
||||
kwargs = {}
|
||||
# Polarization map output
|
||||
kwargs["SNRp_cut"] = 3.0
|
||||
kwargs["P_cut"] = 0.99
|
||||
kwargs["SNRi_cut"] = 1.0
|
||||
kwargs["flux_lim"] = 1e-19, 3e-17
|
||||
kwargs["scale_vec"] = 5
|
||||
@@ -186,9 +186,7 @@ def main(infiles, target=None, output_dir="./data/"):
|
||||
|
||||
new_infiles = []
|
||||
for i, group in enumerate(grouped_infiles):
|
||||
new_infiles.append(
|
||||
FOC_reduction(target=target + "-" + str(i + 1), infiles=["/".join([data_folder, file]) for file in group], interactive=True)[0]
|
||||
)
|
||||
new_infiles.append(FOC_reduction(target=target + "-" + str(i + 1), infiles=["/".join([data_folder, file]) for file in group], interactive=True)[0])
|
||||
|
||||
infiles = new_infiles
|
||||
|
||||
|
||||
@@ -11,46 +11,46 @@ from lib.plots import overplot_pol, overplot_radio
|
||||
from matplotlib.colors import LogNorm
|
||||
|
||||
Stokes_UV = fits.open("./data/IC5063/5918/IC5063_FOC_b0.10arcsec_c0.20arcsec.fits")
|
||||
Stokes_18GHz = fits.open("./data/IC5063/radio/IC5063_18GHz.fits")
|
||||
Stokes_24GHz = fits.open("./data/IC5063/radio/IC5063_24GHz.fits")
|
||||
Stokes_103GHz = fits.open("./data/IC5063/radio/IC5063_103GHz.fits")
|
||||
Stokes_229GHz = fits.open("./data/IC5063/radio/IC5063_229GHz.fits")
|
||||
Stokes_357GHz = fits.open("./data/IC5063/radio/IC5063_357GHz.fits")
|
||||
# Stokes_18GHz = fits.open("./data/IC5063/radio/IC5063_18GHz.fits")
|
||||
# Stokes_24GHz = fits.open("./data/IC5063/radio/IC5063_24GHz.fits")
|
||||
# Stokes_103GHz = fits.open("./data/IC5063/radio/IC5063_103GHz.fits")
|
||||
# Stokes_229GHz = fits.open("./data/IC5063/radio/IC5063_229GHz.fits")
|
||||
# Stokes_357GHz = fits.open("./data/IC5063/radio/IC5063_357GHz.fits")
|
||||
# Stokes_S2 = fits.open("./data/IC5063/POLARIZATION_COMPARISON/S2_rot_crop.fits")
|
||||
Stokes_IR = fits.open("./data/IC5063/IR/u2e65g01t_c0f_rot.fits")
|
||||
|
||||
# levelsMorganti = np.array([1.,2.,3.,8.,16.,32.,64.,128.])
|
||||
levelsMorganti = np.logspace(-0.1249, 1.97, 7) / 100.0
|
||||
# levelsMorganti = np.logspace(-0.1249, 1.97, 7) / 100.0
|
||||
|
||||
levels18GHz = levelsMorganti * Stokes_18GHz[0].data.max()
|
||||
A = overplot_radio(Stokes_UV, Stokes_18GHz)
|
||||
A.plot(levels=levels18GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/18GHz_overplot.pdf", scale_vec=None)
|
||||
# levels18GHz = levelsMorganti * Stokes_18GHz[0].data.max()
|
||||
# A = overplot_radio(Stokes_UV, Stokes_18GHz)
|
||||
# A.plot(levels=levels18GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/18GHz_overplot.pdf", scale_vec=None)
|
||||
|
||||
levels24GHz = levelsMorganti * Stokes_24GHz[0].data.max()
|
||||
B = overplot_radio(Stokes_UV, Stokes_24GHz)
|
||||
B.plot(levels=levels24GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/24GHz_overplot.pdf", scale_vec=None)
|
||||
# levels24GHz = levelsMorganti * Stokes_24GHz[0].data.max()
|
||||
# B = overplot_radio(Stokes_UV, Stokes_24GHz)
|
||||
# B.plot(levels=levels24GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/24GHz_overplot.pdf", scale_vec=None)
|
||||
|
||||
levels103GHz = levelsMorganti * Stokes_103GHz[0].data.max()
|
||||
C = overplot_radio(Stokes_UV, Stokes_103GHz)
|
||||
C.plot(levels=levels103GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/103GHz_overplot.pdf", scale_vec=None)
|
||||
# levels103GHz = levelsMorganti * Stokes_103GHz[0].data.max()
|
||||
# C = overplot_radio(Stokes_UV, Stokes_103GHz)
|
||||
# C.plot(levels=levels103GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/103GHz_overplot.pdf", scale_vec=None)
|
||||
|
||||
levels229GHz = levelsMorganti * Stokes_229GHz[0].data.max()
|
||||
D = overplot_radio(Stokes_UV, Stokes_229GHz)
|
||||
D.plot(levels=levels229GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/229GHz_overplot.pdf", scale_vec=None)
|
||||
# levels229GHz = levelsMorganti * Stokes_229GHz[0].data.max()
|
||||
# D = overplot_radio(Stokes_UV, Stokes_229GHz)
|
||||
# D.plot(levels=levels229GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/229GHz_overplot.pdf", scale_vec=None)
|
||||
|
||||
levels357GHz = levelsMorganti * Stokes_357GHz[0].data.max()
|
||||
E = overplot_radio(Stokes_UV, Stokes_357GHz)
|
||||
E.plot(levels=levels357GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/357GHz_overplot.pdf", scale_vec=None)
|
||||
# levels357GHz = levelsMorganti * Stokes_357GHz[0].data.max()
|
||||
# E = overplot_radio(Stokes_UV, Stokes_357GHz)
|
||||
# E.plot(levels=levels357GHz, P_cut=2.0, SNRi_cut=10.0, savename="./plots/IC5063/357GHz_overplot.pdf", scale_vec=None)
|
||||
|
||||
# F = overplot_pol(Stokes_UV, Stokes_S2)
|
||||
# F.plot(P_cut=3.0, SNRi_cut=80.0, savename='./plots/IC5063/S2_overplot.pdf', norm=LogNorm(vmin=5e-20,vmax=5e-18))
|
||||
|
||||
G = overplot_pol(Stokes_UV, Stokes_IR, cmap="inferno")
|
||||
G.plot(
|
||||
P_cut=2.0,
|
||||
SNRi_cut=10.0,
|
||||
P_cut=0.99,
|
||||
SNRi_cut=1.0,
|
||||
savename="./plots/IC5063/IR_overplot.pdf",
|
||||
scale_vec=None,
|
||||
norm=LogNorm(Stokes_IR[0].data.max() * Stokes_IR[0].header["photflam"] / 1e3, Stokes_IR[0].data.max() * Stokes_IR[0].header["photflam"]),
|
||||
cmap="inferno_r",
|
||||
cmap="inferno",
|
||||
)
|
||||
|
||||
@@ -11,16 +11,33 @@ from lib.plots import overplot_chandra, overplot_pol
|
||||
from matplotlib.colors import LogNorm
|
||||
|
||||
Stokes_UV = fits.open("./data/MRK463E/5960/MRK463E_FOC_b0.05arcsec_c0.10arcsec.fits")
|
||||
Stokes_IR = fits.open("./data/MRK463E/WFPC2/IR_rot_crop.fits")
|
||||
Stokes_Xr = fits.open("./data/MRK463E/Chandra/X_ray_crop.fits")
|
||||
# Stokes_IR = fits.open("./data/MRK463E/WFPC2/IR_rot_crop.fits")
|
||||
# Stokes_Xr = fits.open("./data/MRK463E/Chandra/X_ray_crop.fits")
|
||||
Radio = fits.open("./data/MRK463E/EMERLIN/Voorwerpjes_1356+1822_1356+1822_uniform-image.fits")
|
||||
|
||||
levels = np.geomspace(1.0, 99.0, 7)
|
||||
# levels = np.geomspace(1.0, 99.0, 7)
|
||||
|
||||
A = overplot_chandra(Stokes_UV, Stokes_Xr, norm=LogNorm())
|
||||
A.plot(levels=levels, P_cut=0.99, SNRi_cut=1.0, scale_vec=5, zoom=1, savename="./plots/MRK463E/Chandra_overplot.pdf")
|
||||
A.write_to(path1="./data/MRK463E/FOC_data_Chandra.fits", path2="./data/MRK463E/Chandra_data.fits", suffix="aligned")
|
||||
# A = overplot_chandra(Stokes_UV, Stokes_Xr, norm=LogNorm())
|
||||
# A.plot(levels=levels, P_cut=0.99, SNRi_cut=1.0, scale_vec=5, zoom=1, savename="./plots/MRK463E/Chandra_overplot.pdf")
|
||||
# A.write_to(path1="./data/MRK463E/FOC_data_Chandra.fits", path2="./data/MRK463E/Chandra_data.fits", suffix="aligned")
|
||||
|
||||
# levels = np.array([0.8, 2, 5, 10, 20, 50]) / 100.0 * Stokes_UV[0].header["photflam"]
|
||||
# B = overplot_pol(Stokes_UV, Stokes_IR, norm=LogNorm())
|
||||
# B.plot(levels=levels, P_cut=0.99, SNRi_cut=1.0, scale_vec=5, norm=LogNorm(8.5e-18, 2.5e-15), savename="./plots/MRK463E/IR_overplot.pdf")
|
||||
# B.write_to(path1="./data/MRK463E/FOC_data_WFPC.fits", path2="./data/MRK463E/WFPC_data.fits", suffix="aligned")
|
||||
|
||||
levels = np.array([0.8, 2, 5, 10, 20, 50]) / 100.0 * Stokes_UV[0].header["photflam"]
|
||||
B = overplot_pol(Stokes_UV, Stokes_IR, norm=LogNorm())
|
||||
B.plot(levels=levels, P_cut=0.99, SNRi_cut=1.0, scale_vec=5, norm=LogNorm(8.5e-18, 2.5e-15), savename="./plots/MRK463E/IR_overplot.pdf")
|
||||
B.write_to(path1="./data/MRK463E/FOC_data_WFPC.fits", path2="./data/MRK463E/WFPC_data.fits", suffix="aligned")
|
||||
C = overplot_pol(Stokes_UV, Radio, norm=LogNorm())
|
||||
C.other_im.set(norm=LogNorm(1e-4, 2e-2))
|
||||
C.plot(
|
||||
levels=levels,
|
||||
P_cut=0.999,
|
||||
SNRi_cut=5.0,
|
||||
scale_vec=3,
|
||||
norm=LogNorm(1e-4, 2e-2),
|
||||
cmap="inferno_r",
|
||||
width=0.5,
|
||||
linewidth=0.5,
|
||||
savename="./plots/MRK463E/EMERLIN_overplot.pdf",
|
||||
)
|
||||
C.write_to(path1="./data/MRK463E/FOC_data_EMERLIN.fits", path2="./data/MRK463E/EMERLIN_data.fits", suffix="aligned")
|
||||
|
||||
@@ -30,10 +30,10 @@ A.add_vector(
|
||||
A.other_wcs.celestial.wcs.crpix - (1.0, 1.0),
|
||||
pol_deg=0.124,
|
||||
pol_ang=100.7,
|
||||
width=2,
|
||||
linewidth=2,
|
||||
width=2.0,
|
||||
linewidth=1.0,
|
||||
scale=1.0 / (A.px_scale * 6.0),
|
||||
edgecolor="b",
|
||||
edgecolor="w",
|
||||
color="b",
|
||||
label=r"IXPE torus: P = $12.4 (\pm 3.6)$%, PA = $100.7 (\pm 8.3)$°",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user