diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020.png index 3c35b76..7642bb3 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_I_err.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_I_err.png index d1adfb7..68675c4 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_I_err.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_I_err.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P.png index b589d76..77c3470 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_err.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_err.png index 3cf814b..060c72c 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_err.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_err.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_flux.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_flux.png index 5995159..3b0172d 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_flux.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_P_flux.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRi.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRi.png index fe79fb0..16d53fa 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRi.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRi.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRp.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRp.png index fe3b8a5..56f1753 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRp.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_SNRp.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol.png index 69327a1..acf1f08 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_IQU.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_IQU.png index 1dce3fa..8eff941 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_IQU.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_IQU.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_I_err.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_I_err.png index 85e7de0..19a10dc 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_I_err.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_I_err.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P.png index b8604a0..ad0d589 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_err.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_err.png index 5b4c0c6..928a261 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_err.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_err.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_flux.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_flux.png index 4b312b5..e5a6f4a 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_flux.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_P_flux.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRi.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRi.png index a871296..b15b11e 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRi.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRi.png differ diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRp.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRp.png index f6fbcca..c7d4418 100644 Binary files a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRp.png and b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_pol_SNRp.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_1px.png b/plots/NGC1068_x274020/NGC1068_FOC_1px.png new file mode 100644 index 0000000..fa6de46 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_1px.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_1px_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_1px_IQU.png new file mode 100644 index 0000000..b4b8cb7 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_1px_IQU.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png deleted file mode 100755 index c25c7fb..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_IQU.png deleted file mode 100755 index 58026f5..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_IQU.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png deleted file mode 100755 index 887800c..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_err.png deleted file mode 100755 index 05d66e0..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_flux.png deleted file mode 100755 index 95230ac..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_flux.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRi.png deleted file mode 100755 index 64ebbd2..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRi.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRp.png deleted file mode 100755 index 3e8a445..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRp.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020.png index 126bb77..61ce1eb 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_IQU.png index ce5c55a..a6106d8 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_IQU.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_IQU.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_I_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_I_err.png index ae19cc4..6a0da42 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_I_err.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_I_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P.png index 09dddfe..b8f657b 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_err.png index 24d32f7..0d7f57c 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_err.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_flux.png index 1c5fc27..58d0590 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_flux.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_P_flux.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRi.png index c9e3ec7..6395b3f 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRi.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRi.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRp.png index f3c9fcd..c5aa6c8 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRp.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_SNRp.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot.png deleted file mode 100755 index 01e9a11..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_IQU.png deleted file mode 100755 index 358bc0f..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_IQU.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_I_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_I_err.png deleted file mode 100644 index 3a692fe..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_I_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png deleted file mode 100755 index bd50888..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_err.png deleted file mode 100755 index 5bbf717..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_flux.png deleted file mode 100755 index 72b3538..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_flux.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRi.png deleted file mode 100755 index 96ee04f..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRi.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRp.png deleted file mode 100755 index 1039a71..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRp.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror.png deleted file mode 100644 index 01e9a11..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_IQU.png deleted file mode 100644 index 58f8fcd..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_IQU.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_I_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_I_err.png deleted file mode 100644 index 3a692fe..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_I_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P.png deleted file mode 100644 index bd50888..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P_err.png deleted file mode 100644 index 5bbf717..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P_flux.png deleted file mode 100644 index 72b3538..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_P_flux.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_SNRi.png deleted file mode 100644 index 96ee04f..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_SNRi.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_SNRp.png deleted file mode 100644 index 1039a71..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withaxiserror_SNRp.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror.png deleted file mode 100644 index cb57389..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_IQU.png deleted file mode 100644 index 197a62d..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_IQU.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_I_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_I_err.png deleted file mode 100644 index 21b837f..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_I_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P.png deleted file mode 100644 index 7144328..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P_err.png deleted file mode 100644 index 1b00484..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P_err.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P_flux.png deleted file mode 100644 index b5f1655..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_P_flux.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_SNRi.png deleted file mode 100644 index bc9a74d..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_SNRi.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_SNRp.png deleted file mode 100644 index 3eeeaf7..0000000 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_withoutaxiserror_SNRp.png and /dev/null differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test.png new file mode 100644 index 0000000..ed80390 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_IQU.png new file mode 100644 index 0000000..30d049b Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_IQU.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_I_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_I_err.png new file mode 100644 index 0000000..9c12ce4 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_I_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P.png new file mode 100644 index 0000000..21c2353 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P_err.png new file mode 100644 index 0000000..ce4e805 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P_flux.png new file mode 100644 index 0000000..72425fa Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_P_flux.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_SNRi.png new file mode 100644 index 0000000..70ae5c0 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_SNRi.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_SNRp.png new file mode 100644 index 0000000..8a4045a Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_SNRp.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae.png new file mode 100644 index 0000000..2811e9b Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_IQU.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_IQU.png new file mode 100644 index 0000000..a815c09 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_IQU.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_I_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_I_err.png new file mode 100644 index 0000000..aacec9f Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_I_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P.png new file mode 100644 index 0000000..5b12718 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P_err.png new file mode 100644 index 0000000..7721803 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P_flux.png new file mode 100644 index 0000000..9b7af30 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_P_flux.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_SNRi.png new file mode 100644 index 0000000..3a66585 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_SNRi.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_SNRp.png new file mode 100644 index 0000000..ad50aa7 Binary files /dev/null and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_test_wae_SNRp.png differ diff --git a/src/FOC_reduction.py b/src/FOC_reduction.py index fddb39d..44a27ac 100755 --- a/src/FOC_reduction.py +++ b/src/FOC_reduction.py @@ -103,7 +103,7 @@ def main(): rebin = True if rebin: pxsize = 0.10 - px_scale = 'arcsec' #pixel or arcsec + px_scale = 'arcsec' #pixel, arcsec or full rebin_operation = 'sum' #sum or average # Alignement align_center = 'image' #If None will align image to image center @@ -117,10 +117,11 @@ def main(): rotate_data = False #rotation to North convention can give erroneous results # Polarization map output figname = 'IC5063_FOC' #target/intrument name - figtype = '_combine_FWHM020' #additionnal informations - SNRp_cut = 7. #P measurments with SNR>3 - SNRi_cut = 180. #I measurments with SNR>30, which implies an uncertainty in P of 4.7%. - step_vec = 1 #plot all vectors in the array. if step_vec = 2, then every other vector will be plotted + figtype = '_combine_FWHM020_pol' #additionnal informations + SNRp_cut = 3. #P measurments with SNR>3 + SNRi_cut = 70. #I measurments with SNR>30, which implies an uncertainty in P of 4.7%. + step_vec = 0 #plot all vectors in the array. if step_vec = 2, then every other vector will be plotted + # if step_vec = 0 then all vectors are displayed at full length ##### Pipeline start ## Step 1: @@ -150,12 +151,17 @@ def main(): if (data < 0.).any(): print("ETAPE 4 : ", data) # Align and rescale images with oversampling. - data_array, error_array, headers, data_mask = proj_red.align_data(data_array, headers, error_array, upsample_factor=int(Dxy.min()), ref_center=align_center, return_shifts=False) + data_mask = np.zeros(data_array.shape[1:]).astype(bool) + if px_scale.lower() not in ['full','integrate']: + data_array, error_array, headers, data_mask = proj_red.align_data(data_array, headers, error_array, upsample_factor=int(Dxy.min()), ref_center=align_center, return_shifts=False) for data in data_array: if (data < 0.).any(): print("ETAPE 5 : ", data) - vertex = image_hull((1.-data_mask),step=5,null_val=0.,inside=True) + if px_scale.lower() not in ['full','integrate']: + vertex = image_hull((1.-data_mask),step=5,null_val=0.,inside=True) + else: + vertex = np.array([0.,0.,data_array.shape[2],data_array.shape[2]]) shape = np.array([vertex[1]-vertex[0],vertex[3]-vertex[2]]) rectangle = [vertex[2], vertex[0], shape[1], shape[0], 0., 'w'] @@ -206,13 +212,16 @@ def main(): Stokes_test = proj_fits.save_Stokes(I_stokes, Q_stokes, U_stokes, Stokes_cov, P, debiased_P, s_P, s_P_P, PA, s_PA, s_PA_P, headers, figname+figtype, data_folder=data_folder, return_hdul=True) # Plot polarization map (Background is either total Flux, Polarization degree or Polarization degree error). - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype, plots_folder=plots_folder, display=None) - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_P_flux", plots_folder=plots_folder, display='Pol_Flux') - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_P", plots_folder=plots_folder, display='Pol_deg') - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_I_err", plots_folder=plots_folder, display='I_err') - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_P_err", plots_folder=plots_folder, display='Pol_deg_err') - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_SNRi", plots_folder=plots_folder, display='SNRi') - proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_SNRp", plots_folder=plots_folder, display='SNRp') + if px_scale.lower() not in ['full','integrate']: + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype, plots_folder=plots_folder, display=None) + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_P_flux", plots_folder=plots_folder, display='Pol_Flux') + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_P", plots_folder=plots_folder, display='Pol_deg') + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_I_err", plots_folder=plots_folder, display='I_err') + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_P_err", plots_folder=plots_folder, display='Pol_deg_err') + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_SNRi", plots_folder=plots_folder, display='SNRi') + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype+"_SNRp", plots_folder=plots_folder, display='SNRp') + else: + proj_plots.polarization_map(deepcopy(Stokes_test), data_mask, rectangle=None, SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut, step_vec=step_vec, savename=figname+figtype, plots_folder=plots_folder, display='default') return 0 diff --git a/src/lib/plots.py b/src/lib/plots.py index 70f53c8..430e274 100755 --- a/src/lib/plots.py +++ b/src/lib/plots.py @@ -328,7 +328,7 @@ def polarization_map(Stokes, data_mask=None, rectangle=None, SNRp_cut=3., SNRi_c data_mask = np.ones(stkI.shape).astype(bool) #Plot Stokes parameters map - if display is None: + if display is None or display.lower() == 'default': plot_Stokes(Stokes, savename=savename, plots_folder=plots_folder) #Compute SNR and apply cuts @@ -406,26 +406,27 @@ def polarization_map(Stokes, data_mask=None, rectangle=None, SNRp_cut=3., SNRi_c cont = ax.contour(SNRp, levels=levelsP, colors='grey', linewidths=0.5) else: # Defaults to intensity map - vmin, vmax = 0., np.max(stkI.data[stkI.data > 0.]*convert_flux) + vmin, vmax = 0., np.max(stkI.data[stkI.data > 0.]*convert_flux*2.) im = ax.imshow(stkI.data*convert_flux, vmin=vmin, vmax=vmax, aspect='auto', cmap='inferno', alpha=1.) cbar = plt.colorbar(im, cax=cbar_ax, label=r"$F_{\lambda}$ [$ergs \cdot cm^{-2} \cdot s^{-1} \cdot \AA$]") - levelsI = np.linspace(SNRi_cut, SNRi.max(), 10) - cont = ax.contour(SNRi, levels=levelsI, colors='grey', linewidths=0.5) - fontprops = fm.FontProperties(size=16) - px_size = wcs.wcs.get_cdelt()[0]*3600. - px_sc = AnchoredSizeBar(ax.transData, 1./px_size, '1 arcsec', 3, pad=0.5, sep=5, borderpad=0.5, frameon=False, size_vertical=0.005, color='w', fontproperties=fontprops) - ax.add_artist(px_sc) + if (display is None) or not(display.lower() in ['default']): + fontprops = fm.FontProperties(size=16) + px_size = wcs.wcs.get_cdelt()[0]*3600. + px_sc = AnchoredSizeBar(ax.transData, 1./px_size, '1 arcsec', 3, pad=0.5, sep=5, borderpad=0.5, frameon=False, size_vertical=0.005, color='w', fontproperties=fontprops) + ax.add_artist(px_sc) - #pol.data[np.isfinite(pol.data)] = 1./2. - X, Y = np.meshgrid(np.linspace(0,stkI.data.shape[0],stkI.data.shape[0]), np.linspace(0,stkI.data.shape[1],stkI.data.shape[1])) - U, V = pol.data*np.cos(np.pi/2.+pang.data*np.pi/180.), pol.data*np.sin(np.pi/2.+pang.data*np.pi/180.) - Q = ax.quiver(X[::step_vec,::step_vec],Y[::step_vec,::step_vec],U[::step_vec,::step_vec],V[::step_vec,::step_vec],units='xy',angles='uv',scale=0.5,scale_units='xy',pivot='mid',headwidth=0.,headlength=0.,headaxislength=0.,width=0.1,color='w') - pol_sc = AnchoredSizeBar(ax.transData, 2., r"$P$= 100 %", 4, pad=0.5, sep=5, borderpad=0.5, frameon=False, size_vertical=0.005, color='w', fontproperties=fontprops) - ax.add_artist(pol_sc) + if step_vec == 0: + pol.data[np.isfinite(pol.data)] = 1./2. + step_vec = 1 + X, Y = np.meshgrid(np.linspace(0,stkI.data.shape[0],stkI.data.shape[0])-0.5, np.linspace(0,stkI.data.shape[1],stkI.data.shape[1])-0.5) + U, V = pol.data*np.cos(np.pi/2.+pang.data*np.pi/180.), pol.data*np.sin(np.pi/2.+pang.data*np.pi/180.) + Q = ax.quiver(X[::step_vec,::step_vec],Y[::step_vec,::step_vec],U[::step_vec,::step_vec],V[::step_vec,::step_vec],units='xy',angles='uv',scale=0.5,scale_units='xy',pivot='mid',headwidth=0.,headlength=0.,headaxislength=0.,width=0.1,color='w') + pol_sc = AnchoredSizeBar(ax.transData, 2., r"$P$= 100 %", 4, pad=0.5, sep=5, borderpad=0.5, frameon=False, size_vertical=0.005, color='w', fontproperties=fontprops) + ax.add_artist(pol_sc) - north_dir = AnchoredDirectionArrows(ax.transAxes, "E", "N", length=-0.08, fontsize=0.03, loc=1, aspect_ratio=-1, sep_y=0.01, sep_x=0.01, angle=-Stokes[0].header['orientat'], color='w', arrow_props={'ec': 'w', 'fc': 'w', 'alpha': 1,'lw': 2}) - ax.add_artist(north_dir) + north_dir = AnchoredDirectionArrows(ax.transAxes, "E", "N", length=-0.08, fontsize=0.03, loc=1, aspect_ratio=-1, sep_y=0.01, sep_x=0.01, angle=-Stokes[0].header['orientat'], color='w', arrow_props={'ec': 'w', 'fc': 'w', 'alpha': 1,'lw': 2}) + ax.add_artist(north_dir) # Display instrument FOV if not(rectangle is None): diff --git a/src/lib/reduction.py b/src/lib/reduction.py index 7ec1c28..cfb65ef 100755 --- a/src/lib/reduction.py +++ b/src/lib/reduction.py @@ -568,11 +568,12 @@ def rebin_array(data_array, error_array, headers, pxsize, scale, Dxy = np.array([pxsize,]*2) elif scale.lower() in ['arcsec','arcseconds']: Dxy = np.floor(pxsize/w.wcs.cdelt/3600.).astype(int) + elif scale.lower() in ['full','integrate']: + Dxy = np.floor(image.shape).astype(int) else: raise ValueError("'{0:s}' invalid scale for binning.".format(scale)) if (Dxy <= 1.).any(): - print(Dxy, pxsize, w.wcs.cdelt*3600.) raise ValueError("Requested pixel size is below resolution.") new_shape = (image.shape//Dxy).astype(int) @@ -1049,7 +1050,7 @@ def compute_Stokes(data_array, error_array, data_mask, headers, # Routine for the FOC instrument if instr == 'FOC': # Get image from each polarizer and covariance matrix - pol_array, pol_cov = polarizer_avg(data_array, error_array, data_mask, + pol_array, pol_cov_m = polarizer_avg(data_array, error_array, data_mask, headers, FWHM=FWHM, scale=scale, smoothing=smoothing) pol0, pol60, pol120 = pol_array @@ -1088,6 +1089,7 @@ def compute_Stokes(data_array, error_array, data_mask, headers, # Uncertainties on the orientation of the polarizers' axes taken to be 3deg (see Nota et. al 1996, p36; Robinson & Thomson 1995) sigma_theta = np.array([3.*np.pi/180., 3.*np.pi/180., 3.*np.pi/180.]) pol_flux = 2.*np.array([pol0/transmit[0], pol60/transmit[1], pol120/transmit[2]]) + pol_cov = np.array([[4.*pol_cov_m[i,j]/(transmit[i]*transmit[j]) for j in range(pol_cov_m.shape[1])] for i in range(pol_cov_m.shape[0])]) # Normalization parameter for Stokes parameters computation A = pol_eff[1]*pol_eff[2]*np.sin(-2.*theta[1]+2.*theta[2]) \ @@ -1141,9 +1143,9 @@ def compute_Stokes(data_array, error_array, data_mask, headers, s_U2_axis = (dU_dtheta1**2*sigma_theta[0]**2 + dU_dtheta2**2*sigma_theta[1]**2 + dU_dtheta3**2*sigma_theta[2]**2) # Add quadratically the uncertainty to the Stokes covariance matrix ## THIS IS WHERE THE PROBLEMATIC UNCERTAINTY IS ADDED TO THE PIPELINE - #Stokes_cov[0,0] += s_I2_axis - #Stokes_cov[1,1] += s_Q2_axis - #Stokes_cov[2,2] += s_U2_axis + Stokes_cov[0,0] += s_I2_axis + Stokes_cov[1,1] += s_Q2_axis + Stokes_cov[2,2] += s_U2_axis if not(FWHM is None) and (smoothing.lower() in ['gaussian_after','gauss_after']): Stokes_array = np.array([I_stokes, Q_stokes, U_stokes])