diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/data/3C109_x3mc010/README.md b/data/3C109_x3mc010/README.md old mode 100644 new mode 100755 diff --git a/data/3C405_x136060/README.md b/data/3C405_x136060/README.md old mode 100644 new mode 100755 diff --git a/data/CygnusA_x43w0/README.md b/data/CygnusA_x43w0/README.md old mode 100644 new mode 100755 diff --git a/data/IC5063_x3nl030/README.md b/data/IC5063_x3nl030/README.md old mode 100644 new mode 100755 diff --git a/data/MKN3_x3md010/README.md b/data/MKN3_x3md010/README.md old mode 100644 new mode 100755 diff --git a/data/MKN3_x3nl010/README.md b/data/MKN3_x3nl010/README.md old mode 100644 new mode 100755 diff --git a/data/MKN463_x2rp030/README.md b/data/MKN463_x2rp030/README.md old mode 100644 new mode 100755 diff --git a/data/MKN78_x3nl020/README.md b/data/MKN78_x3nl020/README.md old mode 100644 new mode 100755 diff --git a/data/NGC1068_x14w010/README.md b/data/NGC1068_x14w010/README.md old mode 100644 new mode 100755 diff --git a/data/NGC1068_x274020/README.md b/data/NGC1068_x274020/README.md old mode 100644 new mode 100755 diff --git a/data/PG1630+377_x39510/README.md b/data/PG1630+377_x39510/README.md old mode 100644 new mode 100755 diff --git a/data/PictorA_x25d040/README.md b/data/PictorA_x25d040/README.md old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC.png b/plots/3C109_x3mc010/3C109_FOC.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_IQU.png b/plots/3C109_x3mc010/3C109_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_P.png b/plots/3C109_x3mc010/3C109_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_POL0_crop_region.png b/plots/3C109_x3mc010/3C109_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_P_err.png b/plots/3C109_x3mc010/3C109_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_SNRi.png b/plots/3C109_x3mc010/3C109_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_SNRp.png b/plots/3C109_x3mc010/3C109_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_center_image.png b/plots/3C109_x3mc010/3C109_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_IQU.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_P.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_P_err.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_SNRi.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_SNRp.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_IQU.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_P.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_P_err.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_P_flux.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_SNRi.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_SNRp.png b/plots/3C109_x3mc010/3C109_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_crop_region.png b/plots/3C109_x3mc010/3C109_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_errors_background_flux.png b/plots/3C109_x3mc010/3C109_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/3C109_x3mc010/3C109_FOC_errors_background_location.png b/plots/3C109_x3mc010/3C109_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC.png b/plots/3C405_x136060/3C405_FOC.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_IQU.png b/plots/3C405_x136060/3C405_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_P.png b/plots/3C405_x136060/3C405_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_POL0_crop_region.png b/plots/3C405_x136060/3C405_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_P_err.png b/plots/3C405_x136060/3C405_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_SNRi.png b/plots/3C405_x136060/3C405_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_SNRp.png b/plots/3C405_x136060/3C405_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_center_image.png b/plots/3C405_x136060/3C405_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_IQU.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_P.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_P_err.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_SNRi.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_SNRp.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM050_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_IQU.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_P.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_P_err.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_P_flux.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_SNRi.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_SNRp.png b/plots/3C405_x136060/3C405_FOC_combine_FWHM100_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_crop_region.png b/plots/3C405_x136060/3C405_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_errors_background_flux.png b/plots/3C405_x136060/3C405_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/3C405_x136060/3C405_FOC_errors_background_location.png b/plots/3C405_x136060/3C405_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC.png b/plots/CygnusA_x43w0/CygnusA_FOC.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_IQU.png b/plots/CygnusA_x43w0/CygnusA_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_P.png b/plots/CygnusA_x43w0/CygnusA_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_POL0_crop_region.png b/plots/CygnusA_x43w0/CygnusA_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_P_err.png b/plots/CygnusA_x43w0/CygnusA_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_SNRi.png b/plots/CygnusA_x43w0/CygnusA_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_SNRp.png b/plots/CygnusA_x43w0/CygnusA_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_center_image.png b/plots/CygnusA_x43w0/CygnusA_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_IQU.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_P.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_P_err.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_SNRi.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_SNRp.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM033_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_IQU.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_P.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_P_err.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_P_flux.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_SNRi.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_SNRp.png b/plots/CygnusA_x43w0/CygnusA_FOC_combine_FWHM066_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_crop_region.png b/plots/CygnusA_x43w0/CygnusA_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_errors_background_flux.png b/plots/CygnusA_x43w0/CygnusA_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/CygnusA_x43w0/CygnusA_FOC_errors_background_location.png b/plots/CygnusA_x43w0/CygnusA_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC.png b/plots/IC5063_x3nl030/IC5063_FOC.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_IQU.png b/plots/IC5063_x3nl030/IC5063_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_P.png b/plots/IC5063_x3nl030/IC5063_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_POL0_crop_region.png b/plots/IC5063_x3nl030/IC5063_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_P_err.png b/plots/IC5063_x3nl030/IC5063_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_SNRi.png b/plots/IC5063_x3nl030/IC5063_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_SNRp.png b/plots/IC5063_x3nl030/IC5063_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_center_image.png b/plots/IC5063_x3nl030/IC5063_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_IQU.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_P.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_P_err.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_SNRi.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_SNRp.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_IQU.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_P.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_P_err.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_P_flux.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_SNRi.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_SNRp.png b/plots/IC5063_x3nl030/IC5063_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_crop_region.png b/plots/IC5063_x3nl030/IC5063_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_errors_background_flux.png b/plots/IC5063_x3nl030/IC5063_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/IC5063_x3nl030/IC5063_FOC_errors_background_location.png b/plots/IC5063_x3nl030/IC5063_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC.png b/plots/MKN3_x3md010/MKN3_FOC.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_IQU.png b/plots/MKN3_x3md010/MKN3_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_P.png b/plots/MKN3_x3md010/MKN3_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_POL0_crop_region.png b/plots/MKN3_x3md010/MKN3_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_P_err.png b/plots/MKN3_x3md010/MKN3_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_SNRi.png b/plots/MKN3_x3md010/MKN3_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_SNRp.png b/plots/MKN3_x3md010/MKN3_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_center_image.png b/plots/MKN3_x3md010/MKN3_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_IQU.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_P.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_P_err.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_SNRi.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_SNRp.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_IQU.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_P.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_P_err.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_P_flux.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_SNRi.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_SNRp.png b/plots/MKN3_x3md010/MKN3_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_crop_region.png b/plots/MKN3_x3md010/MKN3_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_errors_background_flux.png b/plots/MKN3_x3md010/MKN3_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_FOC_errors_background_location.png b/plots/MKN3_x3md010/MKN3_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC.png b/plots/MKN3_x3md010/MKN3_zoom_FOC.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_IQU.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_P.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_POL120_crop_region.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_POL120_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_P_err.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_SNRi.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_SNRp.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_center_image.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_IQU.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_P.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_P_err.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_SNRi.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_SNRp.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_IQU.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_P.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_P_err.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_P_flux.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_SNRi.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_SNRp.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_crop_region.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_errors_background_flux.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3md010/MKN3_zoom_FOC_errors_background_location.png b/plots/MKN3_x3md010/MKN3_zoom_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC.png b/plots/MKN3_x3nl010/MKN3_FOC.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_IQU.png b/plots/MKN3_x3nl010/MKN3_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_P.png b/plots/MKN3_x3nl010/MKN3_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_POL0_crop_region.png b/plots/MKN3_x3nl010/MKN3_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_P_err.png b/plots/MKN3_x3nl010/MKN3_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_SNRi.png b/plots/MKN3_x3nl010/MKN3_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_SNRp.png b/plots/MKN3_x3nl010/MKN3_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_center_image.png b/plots/MKN3_x3nl010/MKN3_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_IQU.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_P.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_P_err.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_SNRi.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_SNRp.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_IQU.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_P.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_P_err.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_P_flux.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_SNRi.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_SNRp.png b/plots/MKN3_x3nl010/MKN3_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_crop_region.png b/plots/MKN3_x3nl010/MKN3_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_errors_background_flux.png b/plots/MKN3_x3nl010/MKN3_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN3_x3nl010/MKN3_FOC_errors_background_location.png b/plots/MKN3_x3nl010/MKN3_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC.png b/plots/MKN463_x2rp030/MKN463_FOC.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_IQU.png b/plots/MKN463_x2rp030/MKN463_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_P.png b/plots/MKN463_x2rp030/MKN463_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_POL0_crop_region.png b/plots/MKN463_x2rp030/MKN463_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_P_err.png b/plots/MKN463_x2rp030/MKN463_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_SNRi.png b/plots/MKN463_x2rp030/MKN463_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_SNRp.png b/plots/MKN463_x2rp030/MKN463_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_center_image.png b/plots/MKN463_x2rp030/MKN463_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_IQU.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_P.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_P_err.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_SNRi.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_SNRp.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_IQU.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_P.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_P_err.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_P_flux.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_SNRi.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_SNRp.png b/plots/MKN463_x2rp030/MKN463_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_crop_region.png b/plots/MKN463_x2rp030/MKN463_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_errors_background_flux.png b/plots/MKN463_x2rp030/MKN463_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN463_x2rp030/MKN463_FOC_errors_background_location.png b/plots/MKN463_x2rp030/MKN463_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC.png b/plots/MKN78_x3nl020/MKN78_FOC.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_IQU.png b/plots/MKN78_x3nl020/MKN78_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_P.png b/plots/MKN78_x3nl020/MKN78_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_POL0_crop_region.png b/plots/MKN78_x3nl020/MKN78_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_P_err.png b/plots/MKN78_x3nl020/MKN78_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_SNRi.png b/plots/MKN78_x3nl020/MKN78_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_SNRp.png b/plots/MKN78_x3nl020/MKN78_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_center_image.png b/plots/MKN78_x3nl020/MKN78_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_IQU.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_P.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_P_err.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_SNRi.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_SNRp.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_IQU.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_P.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_P_err.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_P_flux.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_SNRi.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_SNRp.png b/plots/MKN78_x3nl020/MKN78_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_crop_region.png b/plots/MKN78_x3nl020/MKN78_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_errors_background_flux.png b/plots/MKN78_x3nl020/MKN78_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/MKN78_x3nl020/MKN78_FOC_errors_background_location.png b/plots/MKN78_x3nl020/MKN78_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_IQU.png b/plots/NGC1068_x14w010/NGC1068_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_P.png b/plots/NGC1068_x14w010/NGC1068_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_POL0_crop_region.png b/plots/NGC1068_x14w010/NGC1068_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_P_err.png b/plots/NGC1068_x14w010/NGC1068_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_SNRi.png b/plots/NGC1068_x14w010/NGC1068_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_SNRp.png b/plots/NGC1068_x14w010/NGC1068_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_center_image.png b/plots/NGC1068_x14w010/NGC1068_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_IQU.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_P.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_P_err.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_SNRi.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_SNRp.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM010_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_IQU.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_P.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_P_err.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_P_flux.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_SNRi.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_SNRp.png b/plots/NGC1068_x14w010/NGC1068_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_crop_region.png b/plots/NGC1068_x14w010/NGC1068_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_errors_background_flux.png b/plots/NGC1068_x14w010/NGC1068_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x14w010/NGC1068_FOC_errors_background_location.png b/plots/NGC1068_x14w010/NGC1068_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC.png b/plots/NGC1068_x274020/NGC1068_FOC.png index 31df2b9..6eaa738 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC.png and b/plots/NGC1068_x274020/NGC1068_FOC.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_P.png b/plots/NGC1068_x274020/NGC1068_FOC_P.png index 5ec2def..bc17214 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_P.png and b/plots/NGC1068_x274020/NGC1068_FOC_P.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_POL0_crop_region.png b/plots/NGC1068_x274020/NGC1068_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC_P_err.png b/plots/NGC1068_x274020/NGC1068_FOC_P_err.png index 5b5ee66..145a4cc 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_P_err.png and b/plots/NGC1068_x274020/NGC1068_FOC_P_err.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_P_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_P_flux.png index f0a27c0..c3ec372 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_P_flux.png and b/plots/NGC1068_x274020/NGC1068_FOC_P_flux.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_SNRi.png b/plots/NGC1068_x274020/NGC1068_FOC_SNRi.png index 444ca38..c39e530 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_SNRi.png and b/plots/NGC1068_x274020/NGC1068_FOC_SNRi.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_SNRp.png b/plots/NGC1068_x274020/NGC1068_FOC_SNRp.png index 1774db0..53225b8 100644 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_SNRp.png and b/plots/NGC1068_x274020/NGC1068_FOC_SNRp.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_center_image.png b/plots/NGC1068_x274020/NGC1068_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png old mode 100644 new mode 100755 index 0c7e32c..c25c7fb Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot.png 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 old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png old mode 100644 new mode 100755 index 9305f07..887800c Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P.png 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 old mode 100644 new mode 100755 index 69e0bb0..05d66e0 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_err.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_err.png 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 old mode 100644 new mode 100755 index 0be4f8f..95230ac Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_flux.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_P_flux.png 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 old mode 100644 new mode 100755 index 5d4cec2..64ebbd2 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRi.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRi.png 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 old mode 100644 new mode 100755 index d5214f1..3e8a445 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_SNRp.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM010_rot_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 old mode 100644 new mode 100755 index a2c10de..0e361fd Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot.png 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 old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 index 417f8c3..af21fbb Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P.png 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 old mode 100644 new mode 100755 index 46f2f0d..73594d8 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_err.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_err.png 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 old mode 100644 new mode 100755 index fb225b4..c75c255 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_flux.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_P_flux.png 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 old mode 100644 new mode 100755 index 50fd0d2..6d67715 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRi.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRi.png 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 old mode 100644 new mode 100755 index e5c67e8..8b925f8 Binary files a/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRp.png and b/plots/NGC1068_x274020/NGC1068_FOC_combine_FWHM020_rot_SNRp.png differ diff --git a/plots/NGC1068_x274020/NGC1068_FOC_crop_region.png b/plots/NGC1068_x274020/NGC1068_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC_errors_background_flux.png b/plots/NGC1068_x274020/NGC1068_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/NGC1068_x274020/NGC1068_FOC_errors_background_location.png b/plots/NGC1068_x274020/NGC1068_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/1630+377_FOC_POL0_crop_region.png b/plots/PG1630+377_x39510/1630+377_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/1630+377_FOC_center_image.png b/plots/PG1630+377_x39510/1630+377_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/1630+377_FOC_crop_region.png b/plots/PG1630+377_x39510/1630+377_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/1630+377_FOC_errors_background_flux.png b/plots/PG1630+377_x39510/1630+377_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/1630+377_FOC_errors_background_location.png b/plots/PG1630+377_x39510/1630+377_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/PG1630+377_FOC_POL0_crop_region.png b/plots/PG1630+377_x39510/PG1630+377_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/PG1630+377_FOC_center_image.png b/plots/PG1630+377_x39510/PG1630+377_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/PG1630+377_FOC_crop_region.png b/plots/PG1630+377_x39510/PG1630+377_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/PG1630+377_FOC_errors_background_flux.png b/plots/PG1630+377_x39510/PG1630+377_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/PG1630+377_x39510/PG1630+377_FOC_errors_background_location.png b/plots/PG1630+377_x39510/PG1630+377_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC.png b/plots/PictorA_x25d040/PictorA_FOC.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_IQU.png b/plots/PictorA_x25d040/PictorA_FOC_IQU.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_P.png b/plots/PictorA_x25d040/PictorA_FOC_P.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_POL0_crop_region.png b/plots/PictorA_x25d040/PictorA_FOC_POL0_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_P_err.png b/plots/PictorA_x25d040/PictorA_FOC_P_err.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_P_flux.png b/plots/PictorA_x25d040/PictorA_FOC_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_SNRi.png b/plots/PictorA_x25d040/PictorA_FOC_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_SNRp.png b/plots/PictorA_x25d040/PictorA_FOC_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_center_image.png b/plots/PictorA_x25d040/PictorA_FOC_center_image.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_IQU.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_IQU.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_P.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_P.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_P_err.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_P_err.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_P_flux.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_P_flux.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_SNRi.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_SNRi.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_SNRp.png b/plots/PictorA_x25d040/PictorA_FOC_combine_FWHM020_rot_SNRp.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_crop_region.png b/plots/PictorA_x25d040/PictorA_FOC_crop_region.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_errors_background_flux.png b/plots/PictorA_x25d040/PictorA_FOC_errors_background_flux.png old mode 100644 new mode 100755 diff --git a/plots/PictorA_x25d040/PictorA_FOC_errors_background_location.png b/plots/PictorA_x25d040/PictorA_FOC_errors_background_location.png old mode 100644 new mode 100755 diff --git a/src/FOC_reduction.py b/src/FOC_reduction.py index af261d9..864e7ab 100755 --- a/src/FOC_reduction.py +++ b/src/FOC_reduction.py @@ -17,11 +17,11 @@ from lib.convex_hull import image_hull def main(): ##### User inputs ## Input and output locations -# globals()['data_folder'] = "../data/NGC1068_x274020/" -# infiles = ['x274020at.c0f.fits','x274020bt.c0f.fits','x274020ct.c0f.fits', -# 'x274020dt.c0f.fits','x274020et.c0f.fits','x274020ft.c0f.fits', -# 'x274020gt.c0f.fits','x274020ht.c0f.fits','x274020it.c0f.fits'] -# globals()['plots_folder'] = "../plots/NGC1068_x274020/" + globals()['data_folder'] = "../data/NGC1068_x274020/" + infiles = ['x274020at.c0f.fits','x274020bt.c0f.fits','x274020ct.c0f.fits', + 'x274020dt.c0f.fits','x274020et.c0f.fits','x274020ft.c0f.fits', + 'x274020gt.c0f.fits','x274020ht.c0f.fits','x274020it.c0f.fits'] + globals()['plots_folder'] = "../plots/NGC1068_x274020/" # globals()['data_folder'] = "../data/NGC1068_x14w010/" # infiles = ['x14w0101t_c0f.fits','x14w0102t_c0f.fits','x14w0103t_c0f.fits', @@ -77,9 +77,9 @@ def main(): # infiles = ['x3nl0201r_c0f.fits','x3nl0202r_c0f.fits','x3nl0203r_c0f.fits'] # globals()['plots_folder'] = "../plots/MKN78_x3nl020/" - globals()['data_folder'] = "../data/PictorA_x25d040/" - infiles = ['x25d0401t_c0f.fits','x25d0402t_c0f.fits','x25d0403t_c0f.fits'] - globals()['plots_folder'] = "../plots/PictorA_x25d040/" +# globals()['data_folder'] = "../data/PictorA_x25d040/" +# infiles = ['x25d0401t_c0f.fits','x25d0402t_c0f.fits','x25d0403t_c0f.fits'] +# globals()['plots_folder'] = "../plots/PictorA_x25d040/" ## Reduction parameters # Deconvolution @@ -112,10 +112,10 @@ def main(): rotate_stokes = True #rotation to North convention can give erroneous results rotate_data = False #rotation to North convention can give erroneous results # Polarization map output - figname = 'PictorA_FOC' #target/intrument name + figname = 'NGC1068_FOC' #target/intrument name figtype = '_combine_FWHM020_rot' #additionnal informations - SNRp_cut = 20. #P measurments with SNR>3 - SNRi_cut = 120. #I measurments with SNR>30, which implies an uncertainty in P of 4.7%. + SNRp_cut = 15. #P measurments with SNR>3 + SNRi_cut = 80. #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 ##### Pipeline start @@ -144,7 +144,7 @@ def main(): for data in data_array: if (data < 0.).any(): print("ETAPE 4 : ", data) - #Align and rescale images with oversampling. + # Align and rescale images with oversampling. data_array, error_array, 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(): @@ -154,7 +154,7 @@ def main(): shape = np.array([vertex[1]-vertex[0],vertex[3]-vertex[2]]) rectangle = [vertex[2], vertex[0], shape[1], shape[0], 0., 'w'] -# Rotate data to have North up + # Rotate data to have North up ref_header = copy.deepcopy(headers[0]) if rotate_data: alpha = ref_header['orientat'] @@ -196,6 +196,11 @@ 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) ## Step 5: + # Crop to desired Region of Interest (ROI) +# StokesCrop = proj_plots.crop_map(copy.deepcopy(Stokes_test), copy.deepcopy(data_mask), SNRp_cut=SNRp_cut, SNRi_cut=SNRi_cut) +# StokesCrop.run() +# Stokes_crop, data_mask = StokesCrop.crop() + # Plot polarization map (Background is either total Flux, Polarization degree or Polarization degree error). proj_plots.polarization_map(copy.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(copy.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') diff --git a/src/lib/Derivative.cpp b/src/lib/Derivative.cpp old mode 100644 new mode 100755 diff --git a/src/lib/plots.py b/src/lib/plots.py index ac4ca69..51c472a 100755 --- a/src/lib/plots.py +++ b/src/lib/plots.py @@ -9,9 +9,11 @@ prototypes : Plots polarization map of polarimetric parameters saved in an HDUList """ +import copy import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Rectangle +from matplotlib.widgets import RectangleSelector import matplotlib.font_manager as fm from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar, AnchoredDirectionArrows from astropy.wcs import WCS @@ -167,8 +169,102 @@ def plot_Stokes(Stokes, savename=None, plots_folder=""): return 0 -def polarization_map(Stokes, data_mask, rectangle=None, SNRp_cut=3., SNRi_cut=30., step_vec=1, - savename=None, plots_folder="", display=None): +class crop_map(object): + """ + Class to interactively crop I_stokes map to desired Region of Interest + """ + def __init__(self, Stokes, data_mask, SNRp_cut=3., SNRi_cut=30.): + #Get data + stkI = Stokes[np.argmax([Stokes[i].header['datatype']=='I_stokes' for i in range(len(Stokes))])] + stk_cov = Stokes[np.argmax([Stokes[i].header['datatype']=='IQU_cov_matrix' for i in range(len(Stokes))])] + pol = Stokes[np.argmax([Stokes[i].header['datatype']=='Pol_deg_debiased' for i in range(len(Stokes))])] + pol_err = Stokes[np.argmax([Stokes[i].header['datatype']=='Pol_deg_err' for i in range(len(Stokes))])] + self.Stokes = Stokes + self.data_mask = data_mask + + wcs = WCS(Stokes[0]).deepcopy() + + #Compute SNR and apply cuts + pol.data[pol.data == 0.] = np.nan + SNRp = pol.data/pol_err.data + SNRp[np.isnan(SNRp)] = 0. + pol.data[SNRp < SNRp_cut] = np.nan + SNRi = stkI.data/np.sqrt(stk_cov.data[0,0]) + SNRi[np.isnan(SNRi)] = 0. + pol.data[SNRi < SNRi_cut] = np.nan + + convert_flux = Stokes[0].header['photflam'] + + #Plot the map + plt.rcParams.update({'font.size': 16}) + self.fig = plt.figure(figsize=(15,15)) + self.ax = self.fig.add_subplot(111, projection=wcs) + self.ax.set_facecolor('k') + self.fig.subplots_adjust(hspace=0, wspace=0, right=0.9) + cbar_ax = self.fig.add_axes([0.95, 0.12, 0.01, 0.75]) + + self.extent = [-stkI.data.shape[1]/2.,stkI.data.shape[1]/2.,-stkI.data.shape[0]/2.,stkI.data.shape[0]/2.] + self.center = [stkI.data.shape[1]/2.,stkI.data.shape[0]/2.] + + vmin, vmax = 0., np.max(stkI.data[stkI.data > 0.]*convert_flux) + im = self.ax.imshow(stkI.data*convert_flux,extent=self.extent, 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^{-1}$]") + levelsI = np.linspace(SNRi_cut, np.max(SNRi[SNRi > 0.]), 10) + cont = self.ax.contour(SNRi, extent=self.extent, levels=levelsI, colors='grey', linewidths=0.5) + + fontprops = fm.FontProperties(size=16) + px_size = wcs.wcs.get_cdelt()[0] + px_sc = AnchoredSizeBar(self.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) + self.ax.add_artist(px_sc) + + self.ax.set_title( + "Click and drag to crop to desired Region of Interest.\n" + "Press 'c' to toggle the selector on and off") + + def onselect_crop(self, eclick, erelease) -> None: + # Obtain (xmin, xmax, ymin, ymax) values + self.RSextent = self.rect_selector.extents + self.RScenter = [self.center[i]+self.rect_selector.center[i] for i in range(2)] + + # Zoom to selection + print("CROP TO : ",self.RSextent) + print("CENTER : ",self.RScenter) + #self.ax.set_xlim(self.extent[0], self.extent[1]) + #self.ax.set_ylim(self.extent[2], self.extent[3]) + + def run(self) -> None: + self.rect_selector = RectangleSelector(self.ax, self.onselect_crop, + drawtype='box', button=[1], interactive=True) + #self.fig.canvas.mpl_connect('key_press_event', self.toggle_selector) + plt.show() + + def crop(self): + Stokes_crop = copy.deepcopy(self.Stokes) + # Data sets to crop + stkI = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='I_stokes' for i in range(len(Stokes_crop))])] + stkQ = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='Q_stokes' for i in range(len(Stokes_crop))])] + stkU = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='U_stokes' for i in range(len(Stokes_crop))])] + stk_cov = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='IQU_cov_matrix' for i in range(len(Stokes_crop))])] + pol = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='Pol_deg_debiased' for i in range(len(Stokes_crop))])] + pol_err = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='Pol_deg_err' for i in range(len(Stokes_crop))])] + pang = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='Pol_ang' for i in range(len(Stokes_crop))])] + pang_err = Stokes_crop[np.argmax([Stokes_crop[i].header['datatype']=='Pol_ang_err' for i in range(len(Stokes_crop))])] + # Crop datasets + vertex = [int(self.RScenter[0]+self.RSextent[0]), int(self.RScenter[0]+self.RSextent[1]), int(self.RScenter[1]+self.RSextent[2]), int(self.RScenter[1]+self.RSextent[3])] + for dataset in [stkI, stkQ, stkU, pol, pol_err, pang, pang_err]: + dataset.data = dataset.data[vertex[2]:vertex[3], vertex[0]:vertex[1]] + data_mask = self.data_mask[vertex[2]:vertex[3], vertex[0]:vertex[1]] + new_stk_cov = np.zeros((3,3,stkI.data.shape[0],stkI.data.shape[1])) + for i in range(3): + for j in range(3): + new_stk_cov[i,j] = stk_cov.data[i,j][vertex[2]:vertex[3], vertex[0]:vertex[1]] + stk_cov.data = new_stk_cov + + return Stokes_crop, data_mask + + +def polarization_map(Stokes, data_mask, rectangle=None, SNRp_cut=3., SNRi_cut=30., + step_vec=1, savename=None, plots_folder="", display=None): """ Plots polarization map from Stokes HDUList. ---------- diff --git a/src/lib/reduction.py b/src/lib/reduction.py index 171dffb..988b043 100755 --- a/src/lib/reduction.py +++ b/src/lib/reduction.py @@ -1143,28 +1143,63 @@ def compute_Stokes(data_array, error_array, data_mask, headers, Stokes_cov[0,2] = Stokes_cov[2,0] = coeff_stokes[0,0]*coeff_stokes[2,0]*pol_cov[0,0]+coeff_stokes[0,1]*coeff_stokes[2,1]*pol_cov[1,1]+coeff_stokes[0,2]*coeff_stokes[2,2]*pol_cov[2,2]+(coeff_stokes[0,0]*coeff_stokes[2,1]+coeff_stokes[2,0]*coeff_stokes[0,1])*pol_cov[0,1]+(coeff_stokes[0,0]*coeff_stokes[2,2]+coeff_stokes[2,0]*coeff_stokes[0,2])*pol_cov[0,2]+(coeff_stokes[0,1]*coeff_stokes[2,2]+coeff_stokes[2,1]*coeff_stokes[0,2])*pol_cov[1,2] Stokes_cov[1,2] = Stokes_cov[2,1] = coeff_stokes[1,0]*coeff_stokes[2,0]*pol_cov[0,0]+coeff_stokes[1,1]*coeff_stokes[2,1]*pol_cov[1,1]+coeff_stokes[1,2]*coeff_stokes[2,2]*pol_cov[2,2]+(coeff_stokes[1,0]*coeff_stokes[2,1]+coeff_stokes[2,0]*coeff_stokes[1,1])*pol_cov[0,1]+(coeff_stokes[1,0]*coeff_stokes[2,2]+coeff_stokes[2,0]*coeff_stokes[1,2])*pol_cov[0,2]+(coeff_stokes[1,1]*coeff_stokes[2,2]+coeff_stokes[2,1]*coeff_stokes[1,2])*pol_cov[1,2] - dI_dtheta1 = 2.*pol_eff[0]/A*(pol_eff[2]*np.cos(-2.*theta[2]+2.*theta[0])*(pol_flux[1]-I_stokes) - pol_eff[1]*np.cos(-2.*theta[0]+2.*theta[1])*(pol_flux[2]-I_stokes) + A*coeff_stokes[0,0]*(np.sin(2.*theta[0]*Q_stokes) - np.cos(2.*theta[0]*U_stokes))) - dI_dtheta2 = 2.*pol_eff[1]/A*(pol_eff[0]*np.cos(-2.*theta[0]+2.*theta[1])*(pol_flux[2]-I_stokes) - pol_eff[2]*np.cos(-2.*theta[1]+2.*theta[2])*(pol_flux[0]-I_stokes) + A*coeff_stokes[0,1]*(np.sin(2.*theta[1]*Q_stokes) - np.cos(2.*theta[1]*U_stokes))) - dI_dtheta3 = 2.*pol_eff[2]/A*(pol_eff[1]*np.cos(-2.*theta[1]+2.*theta[2])*(pol_flux[0]-I_stokes) - pol_eff[0]*np.cos(-2.*theta[2]+2.*theta[0])*(pol_flux[1]-I_stokes) + A*coeff_stokes[0,2]*(np.sin(2.*theta[2]*Q_stokes) - np.cos(2.*theta[2]*U_stokes))) - dQ_dtheta1 = 2.*pol_eff[0]/A*(np.cos(2.*theta[0])*(pol_flux[1]-pol_flux[2]) - (pol_eff[2]*np.cos(-2.*theta[2]+2.*theta[0]) - pol_eff[1]*np.cos(-2.*theta[0]+2.*theta[1]))*Q_stokes + A*coeff_stokes[1,0]*(np.sin(2.*theta[0]*Q_stokes) - np.cos(2.*theta[0]*U_stokes))) - dQ_dtheta2 = 2.*pol_eff[1]/A*(np.cos(2.*theta[1])*(pol_flux[2]-pol_flux[0]) - (pol_eff[0]*np.cos(-2.*theta[0]+2.*theta[1]) - pol_eff[2]*np.cos(-2.*theta[1]+2.*theta[2]))*Q_stokes + A*coeff_stokes[1,1]*(np.sin(2.*theta[1]*Q_stokes) - np.cos(2.*theta[1]*U_stokes))) - dQ_dtheta3 = 2.*pol_eff[2]/A*(np.cos(2.*theta[2])*(pol_flux[0]-pol_flux[1]) - (pol_eff[1]*np.cos(-2.*theta[1]+2.*theta[2]) - pol_eff[0]*np.cos(-2.*theta[2]+2.*theta[0]))*Q_stokes + A*coeff_stokes[1,2]*(np.sin(2.*theta[2]*Q_stokes) - np.cos(2.*theta[2]*U_stokes))) - dU_dtheta1 = 2.*pol_eff[0]/A*(np.sin(2.*theta[0])*(pol_flux[1]-pol_flux[2]) - (pol_eff[2]*np.cos(-2.*theta[2]+2.*theta[0]) - pol_eff[1]*np.cos(-2.*theta[0]+2.*theta[1]))*U_stokes + A*coeff_stokes[2,0]*(np.sin(2.*theta[0]*Q_stokes) - np.cos(2.*theta[0]*U_stokes))) - dU_dtheta2 = 2.*pol_eff[1]/A*(np.sin(2.*theta[1])*(pol_flux[2]-pol_flux[0]) - (pol_eff[0]*np.cos(-2.*theta[0]+2.*theta[1]) - pol_eff[2]*np.cos(-2.*theta[1]+2.*theta[2]))*U_stokes + A*coeff_stokes[2,1]*(np.sin(2.*theta[1]*Q_stokes) - np.cos(2.*theta[1]*U_stokes))) - dU_dtheta3 = 2.*pol_eff[2]/A*(np.sin(2.*theta[2])*(pol_flux[0]-pol_flux[1]) - (pol_eff[1]*np.cos(-2.*theta[1]+2.*theta[2]) - pol_eff[0]*np.cos(-2.*theta[2]+2.*theta[0]))*U_stokes + A*coeff_stokes[2,2]*(np.sin(2.*theta[2]*Q_stokes) - np.cos(2.*theta[2]*U_stokes))) + dI_dtheta1 = 2.*pol_eff[0]/A*(pol_eff[2]*np.cos(-2.*theta[2]+2.*theta[0])*(pol_flux[1]-I_stokes) - pol_eff[1]*np.cos(-2.*theta[0]+2.*theta[1])*(pol_flux[2]-I_stokes)) + dI_dtheta2 = 2.*pol_eff[1]/A*(pol_eff[0]*np.cos(-2.*theta[0]+2.*theta[1])*(pol_flux[2]-I_stokes) - pol_eff[2]*np.cos(-2.*theta[1]+2.*theta[2])*(pol_flux[0]-I_stokes)) + dI_dtheta3 = 2.*pol_eff[2]/A*(pol_eff[1]*np.cos(-2.*theta[1]+2.*theta[2])*(pol_flux[0]-I_stokes) - pol_eff[0]*np.cos(-2.*theta[2]+2.*theta[0])*(pol_flux[1]-I_stokes)) + dQ_dtheta1 = 2.*pol_eff[0]/A*(np.cos(2.*theta[0])*(pol_flux[1]-pol_flux[2]) - (pol_eff[2]*np.cos(-2.*theta[2]+2.*theta[0]) - pol_eff[1]*np.cos(-2.*theta[0]+2.*theta[1]))*Q_stokes) + dQ_dtheta2 = 2.*pol_eff[1]/A*(np.cos(2.*theta[1])*(pol_flux[2]-pol_flux[0]) - (pol_eff[0]*np.cos(-2.*theta[0]+2.*theta[1]) - pol_eff[2]*np.cos(-2.*theta[1]+2.*theta[2]))*Q_stokes) + dQ_dtheta3 = 2.*pol_eff[2]/A*(np.cos(2.*theta[2])*(pol_flux[0]-pol_flux[1]) - (pol_eff[1]*np.cos(-2.*theta[1]+2.*theta[2]) - pol_eff[0]*np.cos(-2.*theta[2]+2.*theta[0]))*Q_stokes) + dU_dtheta1 = 2.*pol_eff[0]/A*(np.sin(2.*theta[0])*(pol_flux[1]-pol_flux[2]) - (pol_eff[2]*np.cos(-2.*theta[2]+2.*theta[0]) - pol_eff[1]*np.cos(-2.*theta[0]+2.*theta[1]))*U_stokes) + dU_dtheta2 = 2.*pol_eff[1]/A*(np.sin(2.*theta[1])*(pol_flux[2]-pol_flux[0]) - (pol_eff[0]*np.cos(-2.*theta[0]+2.*theta[1]) - pol_eff[2]*np.cos(-2.*theta[1]+2.*theta[2]))*U_stokes) + dU_dtheta3 = 2.*pol_eff[2]/A*(np.sin(2.*theta[2])*(pol_flux[0]-pol_flux[1]) - (pol_eff[1]*np.cos(-2.*theta[1]+2.*theta[2]) - pol_eff[0]*np.cos(-2.*theta[2]+2.*theta[0]))*U_stokes) - #Stokes_cov[0,0] += (dI_dtheta1**2*sigma_theta[0]**2 + dI_dtheta2**2*sigma_theta[1]**2 + dI_dtheta3**2*sigma_theta[2]**2) - #Stokes_cov[1,1] += (dQ_dtheta1**2*sigma_theta[0]**2 + dQ_dtheta2**2*sigma_theta[1]**2 + dQ_dtheta3**2*sigma_theta[2]**2) - #Stokes_cov[2,2] += (dU_dtheta1**2*sigma_theta[0]**2 + dU_dtheta2**2*sigma_theta[1]**2 + dU_dtheta3**2*sigma_theta[2]**2) - plt.imshow(np.abs(Stokes_cov[0,0]/I_stokes)*100., origin='lower') - plt.colorbar() - plt.show() - plt.imshow(np.abs(Stokes_cov[1,1]/Q_stokes)*100., origin='lower') - plt.colorbar() - plt.show() - plt.imshow(np.abs(Stokes_cov[2,2]/U_stokes)*100., origin='lower') - plt.colorbar() - plt.show() + s_I2_axis = (dI_dtheta1**2*sigma_theta[0]**2 + dI_dtheta2**2*sigma_theta[1]**2 + dI_dtheta3**2*sigma_theta[2]**2) + s_Q2_axis = (dQ_dtheta1**2*sigma_theta[0]**2 + dQ_dtheta2**2*sigma_theta[1]**2 + dQ_dtheta3**2*sigma_theta[2]**2) + s_U2_axis = (dU_dtheta1**2*sigma_theta[0]**2 + dU_dtheta2**2*sigma_theta[1]**2 + dU_dtheta3**2*sigma_theta[2]**2) + + Stokes_cov[0,0] += s_I2_axis + Stokes_cov[1,1] += s_Q2_axis + Stokes_cov[2,2] += s_U2_axis + +# s_I_I = np.sqrt(Stokes_cov[0,0])/I_stokes*100. +# s_I_axis_I = np.sqrt(s_I2_axis)/I_stokes*100. +# s_Q_Q = np.sqrt(Stokes_cov[1,1])/Q_stokes*100. +# s_Q_axis_Q = np.sqrt(s_Q2_axis)/Q_stokes*100. +# s_U_U = np.sqrt(Stokes_cov[2,2])/U_stokes*100. +# s_U_axis_U = np.sqrt(s_U2_axis)/U_stokes*100. +# +# fig, ax = plt.subplots(3,3) +# im = ax[0,0].imshow(s_I_I, origin='lower') +# ax[0,0].set_title(r"$\frac{\sigma_{I}}{I}$") +# fig.colorbar(im, ax=ax[0,0]) +# im = ax[0,1].imshow(s_I_axis_I, origin='lower') +# ax[0,1].set_title(r"$\frac{\sigma_{I}^{axis}}{I}$") +# fig.colorbar(im, ax=ax[0,1]) +# im = ax[0,2].imshow(s_I_axis_I/s_I_I, origin='lower') +# ax[0,2].set_title(r"$\frac{\sigma_{I}^{axis}}{\sigma_{I}}$") +# fig.colorbar(im, ax=ax[0,2]) +# im = ax[1,0].imshow(s_Q_Q, origin='lower') +# ax[1,0].set_title(r"$\frac{\sigma_{Q}}{Q}$") +# fig.colorbar(im, ax=ax[1,0]) +# im = ax[1,1].imshow(s_Q_axis_Q, origin='lower') +# ax[1,1].set_title(r"$\frac{\sigma_{Q}^{axis}}{Q}$") +# fig.colorbar(im, ax=ax[1,1]) +# im = ax[1,2].imshow(s_Q_axis_Q/s_Q_Q, origin='lower') +# ax[1,2].set_title(r"$\frac{\sigma_{Q}^{axis}}{\sigma_{Q}}$") +# fig.colorbar(im, ax=ax[1,2]) +# im = ax[2,0].imshow(s_U_U, origin='lower') +# ax[2,0].set_title(r"$\frac{\sigma_{U}}{U}$") +# fig.colorbar(im, ax=ax[2,0]) +# im = ax[2,1].imshow(s_U_axis_U, origin='lower') +# ax[2,1].set_title(r"$\frac{\sigma_{U}^{axis}}{U}$") +# fig.colorbar(im, ax=ax[2,1]) +# im = ax[2,2].imshow(s_U_axis_U/s_U_U, origin='lower') +# ax[2,2].set_title(r"$\frac{\sigma_{U}^{axis}}{\sigma_{U}}$") +# fig.colorbar(im, ax=ax[2,2]) +# plt.show() +# print("s_I/I = {}% ; s_I_axis/I = {}%".format(np.mean(s_I_I[I_stokes > 0.]), np.mean(s_I_axis_I[I_stokes > 0.]))) +# print("s_Q/Q = {}% ; s_Q_axis/Q = {}%".format(np.mean(s_Q_Q[Q_stokes > 0.]), np.mean(s_Q_axis_Q[Q_stokes > 0.]))) +# print("s_U/U = {}% ; s_U_axis/U = {}%".format(np.mean(s_U_U[U_stokes > 0.]), np.mean(s_U_axis_U[U_stokes > 0.]))) if not(FWHM is None) and (smoothing.lower() in ['gaussian_after','gauss_after']): Stokes_array = np.array([I_stokes, Q_stokes, U_stokes])