########################################################
# Started Logging At: 2024-10-03 10:37:28
########################################################
########################################################
# # Started Logging At: 2024-10-03 10:37:29
########################################################
from astropy.io import fits
from astropy import wcs
from astropy.wcs import WCS
from astropy.coordinates import SkyCoord
import astropy.units as u
import numpy as np
import matplotlib.pyplot as plt
from astropy.table import Table
from regions import CircleSkyRegion
catalog480 = Table.read('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_cat.ecsv', format='ascii.ecsv')
catalog480 = Table.read('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_cat.ecsv', format='ascii.ecsv')
catalog480[:2]
#[Out]# <Table length=2>
#[Out]# label xcentroid ...             sky_bbox_ur             
#[Out]#                 ...               deg,deg               
#[Out]# int64  float64  ...               SkyCoord              
#[Out]# ----- --------- ... ------------------------------------
#[Out]#     1 1519.3000 ...  266.810048377695,-28.42066508509435
#[Out]#     2 1683.8601 ... 266.8122718067974,-28.41610350909202
center = SkyCoord('17:47:22.080', '-28:21:28.800', frame='icrs', unit=(u.hourangle, u.deg))
search_region = CircleSkyRegion(center, radius=30*u.arcsec)
search_region.contains(catalog480['sky_centroid'][0])
from astropy.io import fits
from astropy.wcs import WCS
fh = fits.open('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_i2d.fits')
search_region.contains(catalog480['sky_centroid'][0], ww=WCS(fh['SCI'].header))
from astropy.io import fits
from astropy.wcs import WCS
fh = fits.open('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_i2d.fits')
search_region.contains(catalog480['sky_centroid'][0], wcs=WCS(fh['SCI'].header))
#[Out]# False
search_region.contains(catalog480['sky_centroid'], wcs=WCS(fh['SCI'].header))
#[Out]# array([False, False, False, ..., False, False, False])
center = SkyCoord('17:47:22.080', '-28:21:28.800', frame='icrs', unit=(u.hourangle, u.deg))
search_region = CircleSkyRegion(center, radius=60*u.arcsec)
from astropy.io import fits
from astropy.wcs import WCS
fh = fits.open('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_i2d.fits')
search_region.contains(catalog480['sky_centroid'][0], wcs=WCS(fh['SCI'].header))
#[Out]# False
in_g0693 = search_region.contains(catalog480['sky_centroid'], wcs=WCS(fh['SCI'].header))
in_g0693 = search_region.contains(catalog480['sky_centroid'], wcs=WCS(fh['SCI'].header))
in_g0693.sum()
#[Out]# 1091
catalog480 = Table.read('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_cat.ecsv', format='ascii.ecsv')
catalog360 = Table.read('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f360m/jw05365-o001_t001_nircam_clear-f360m_cat.ecsv', format='ascii.ecsv')
crd480 = catalog480['sky_centroid']
crd480 = catalog480['sky_centroid']
crd480.match_to_catalog_sky(catalog360['sky_centroid'])
#[Out]# (array([    0,     1,     2, ..., 10349, 10404, 10405]),
#[Out]#  <Angle [9.28097591e-07, 4.44424724e-05, 3.12421118e-05, ...,
#[Out]#          7.16413986e-04, 5.22062951e-06, 4.87581407e-06] deg>,
#[Out]#  <Quantity [1.61983588e-08, 7.75667472e-07, 5.45277715e-07, ...,
#[Out]#             1.25037829e-05, 9.11171744e-08, 8.50990092e-08]>)
crd480 = catalog480['sky_centroid']
inds, sep, _ = crd480.match_to_catalog_sky(catalog360['sky_centroid'])
catalog480['aper_total_abmag_360'] = catalog360['aper_total_abmag'][inds]
pl.scatter(catalog480['aper_total_abmag_360'] - catalog_480['aper_total_abmag'],
           catalog480['aper_total_abmag'])
import pylab as pl
pl.scatter(catalog480['aper_total_abmag_360'] - catalog_480['aper_total_abmag'],
           catalog480['aper_total_abmag'])
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'])
#[Out]# <matplotlib.collections.PathCollection at 0x14aa791364e0>
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=5)
#[Out]# <matplotlib.collections.PathCollection at 0x14aa791374d0>
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=2)
#[Out]# <matplotlib.collections.PathCollection at 0x14aa7b77ac90>
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.5, s=1, color='orange');
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.5, s=1, color='orange');
pl.axis([-2, 2, 22, 15]);
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.5, s=1, color='orange');
pl.axis([-1, 2, 21, 16]);
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.75, s=3, color='orange');
pl.axis([-1, 2, 21, 16]);
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693[sep < 0.25*u.arcsec]],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.75, s=3, color='orange');
pl.axis([-1, 2, 21, 16]);
in_g0693.shape
#[Out]# (8052,)
crd480 = catalog480['sky_centroid']
inds, sep, _ = crd480.match_to_catalog_sky(catalog360['sky_centroid'])
catalog480['aper_total_abmag_360'] = catalog360['aper_total_abmag'][inds]
catalog480['aper_total_abmag_360'][sep > 0.25*u.arcsec] = np.nan
import pylab as pl
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.75, s=3, color='orange');
pl.axis([-1, 2, 21, 16]);
pl.scatter(crd480[in_g0693].ra, crd480[in_g0693].dec)
#[Out]# <matplotlib.collections.PathCollection at 0x14aa7b36e570>
pl.scatter(crd480[in_g0693].ra, crd480[in_g0693].dec)
red_selection = (catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693] > 0.25
pl.scatter(crd480[in_g0693].ra[red_selection], crd480[in_g0693].dec[red_selection], color='r')
#[Out]# <matplotlib.collections.PathCollection at 0x14aa88fdb290>
pl.scatter(crd480[in_g0693].ra, crd480[in_g0693].dec, s=5)
red_selection = (catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693] > 0.25
pl.scatter(crd480[in_g0693].ra[red_selection], crd480[in_g0693].dec[red_selection], color='r')
#[Out]# <matplotlib.collections.PathCollection at 0x14aa7a504b30>
crd480[in_g0693][red_selection]['sky_centroid', 'aper_mag_ab_360', 'aper_mag_ab_480']
crd480[in_g0693][red_selection][np.array(['sky_centroid', 'aper_mag_ab_360', 'aper_mag_ab_480'])]
crd480[in_g0693][red_selection]#[np.array(['sky_centroid', 'aper_mag_ab_360', 'aper_mag_ab_480'])]
#[Out]# <SkyCoord (ICRS): (ra, dec) in deg
#[Out]#     [(266.82625406, -28.35772239), (266.82653819, -28.35201964),
#[Out]#      (266.82655637, -28.35489532), (266.82716223, -28.3624605 ),
#[Out]#      (266.82797269, -28.35784785), (266.82987714, -28.34952686),
#[Out]#      (266.83004824, -28.35493584), (266.83116647, -28.34955843),
#[Out]#      (266.83123636, -28.35901663), (266.83172932, -28.36913266),
#[Out]#      (266.83234717, -28.36048329), (266.83271922, -28.35455626),
#[Out]#      (266.83360188, -28.37035537), (266.83395154, -28.37092592),
#[Out]#      (266.83466596, -28.35818073), (266.8368524 , -28.3573891 ),
#[Out]#      (266.8368653 , -28.36627495), (266.83702355, -28.35498239),
#[Out]#      (266.83724606, -28.35926592), (266.8373816 , -28.36720022),
#[Out]#      (266.8373503 , -28.37169821), (266.837877  , -28.35410062),
#[Out]#      (266.83815173, -28.34983088), (266.83828795, -28.36528807),
#[Out]#      (266.839398  , -28.37265898), (266.8431674 , -28.37148836),
#[Out]#      (266.84004751, -28.36961172), (266.84086491, -28.36949638),
#[Out]#      (266.84232895, -28.36707353), (266.84259061, -28.35044301),
#[Out]#      (266.8453216 , -28.36761969), (266.84584087, -28.35785034),
#[Out]#      (266.84609768, -28.35049606), (266.8464762 , -28.34985611),
#[Out]#      (266.84724031, -28.35202521), (266.84784616, -28.35647761),
#[Out]#      (266.8482449 , -28.37189474), (266.8481987 , -28.35372092),
#[Out]#      (266.84844094, -28.36035292), (266.84931789, -28.37012956),
#[Out]#      (266.84926696, -28.36713862), (266.85010002, -28.36948466),
#[Out]#      (266.85084599, -28.3619411 ), (266.85122123, -28.36829823),
#[Out]#      (266.85138102, -28.37227577), (266.8516003 , -28.37138727),
#[Out]#      (266.8516728 , -28.3638777 ), (266.85241803, -28.36453765),
#[Out]#      (266.85313299, -28.36815487), (266.85350769, -28.36850412),
#[Out]#      (266.85364723, -28.36380645), (266.85434533, -28.37037839),
#[Out]#      (266.8547067 , -28.35337016), (266.85479158, -28.34931047),
#[Out]#      (266.85481431, -28.36462285), (266.85493237, -28.35597457),
#[Out]#      (266.85521546, -28.35565276), (266.8565365 , -28.35456224),
#[Out]#      (266.85714038, -28.36574735), (266.85778677, -28.3544172 ),
#[Out]#      (266.85809847, -28.35729729), (266.85866778, -28.35398034),
#[Out]#      (266.85919872, -28.36487935)]>
catalog480[in_g0693][red_selection]#[np.array(['sky_centroid', 'aper_mag_ab_360', 'aper_mag_ab_480'])]
#[Out]# <Table length=63>
#[Out]# label xcentroid ...              sky_bbox_ur               aper_total_abmag_360
#[Out]#                 ...                deg,deg                                     
#[Out]# int64  float64  ...                SkyCoord                      float64       
#[Out]# ----- --------- ... -------------------------------------- --------------------
#[Out]#  2500 5126.1133 ...  266.8263458821401,-28.357645691174106            19.232904
#[Out]#  2547 5452.4519 ...  266.82662070527795,-28.35194886041017            19.076740
#[Out]#  2555 5287.8874 ... 266.82664216271286,-28.354814681676345            18.710958
#[Out]#  2636 4854.9478 ...  266.8272818578789,-28.362380896025368            18.266123
#[Out]#  2790 5118.8906 ...   266.8280536951412,-28.35776726726152            20.800607
#[Out]#  3103 5595.0185 ...   266.829994809632,-28.349431020360548            17.952699
#[Out]#  3132 5285.4801 ...  266.8301370060209,-28.354848073913484            18.241395
#[Out]#  3313 5593.1780 ... 266.83124576531924,-28.349482866405843            20.471615
#[Out]#  3325 5051.9210 ...   266.8313308884951,-28.35893657302266            18.191688
#[Out]#   ...       ... ...                                    ...                  ...
#[Out]#  7270 4730.3548 ...  266.8549066412857,-28.364550352884486            19.721906
#[Out]#  7282 5225.2563 ...  266.8550583309289,-28.355865388984284            18.487751
#[Out]#  7351 5243.6622 ...  266.8553162274258,-28.355568155831037            18.245685
#[Out]#  7594 5306.0193 ...  266.8566258685155,-28.354466410421043            20.206756
#[Out]#  7698 4665.9178 ... 266.85733030002035,-28.365597257948693            18.447425
#[Out]#  7825 5314.2727 ...    266.857876747356,-28.35434326776099            19.706246
#[Out]#  7881 5149.4445 ...  266.8581969110344,-28.357208886926497            18.388985
#[Out]#  7977 5339.2389 ...   266.858849356376,-28.353905757348823            18.112366
#[Out]#  8022 4715.5122 ...   266.859315484093,-28.364774634702297            18.848452
catalog480[in_g0693][red_selection][['sky_centroid', 'aper_mag_ab_360', 'aper_mag_ab_480']]
catalog480[in_g0693][red_selection]['sky_centroid', 'aper_mag_ab_360', 'aper_mag_ab_480']
catalog480[in_g0693][red_selection]['sky_centroid', 'aper_total_abmag_360', 'aper_total_abmag_480']
catalog480[in_g0693][red_selection]['sky_centroid', 'aper_total_abmag_360', 'aper_total_abmag']
#[Out]# <Table length=63>
#[Out]#              sky_centroid              aper_total_abmag_360 aper_total_abmag
#[Out]#                deg,deg                                                      
#[Out]#                SkyCoord                      float64            float64     
#[Out]# -------------------------------------- -------------------- ----------------
#[Out]#  266.8262540589433,-28.357722386062477            19.232904        18.494041
#[Out]#   266.8265381915574,-28.35201963551779            19.076740        18.247387
#[Out]#  266.8265563741691,-28.354895321459022            18.710958        18.159389
#[Out]#  266.8271622344454,-28.362460496808797            18.266123        17.757381
#[Out]# 266.82797269293405,-28.357847850437093            20.800607        18.851433
#[Out]# 266.82987713858074,-28.349526861670945            17.952699        17.308491
#[Out]#  266.8300482424925,-28.354935835187185            18.241395        17.712610
#[Out]#  266.83116646960775,-28.34955842826133            20.471615        18.780550
#[Out]# 266.83123635621104,-28.359016632529656            18.191688        17.869116
#[Out]#                                    ...                  ...              ...
#[Out]#   266.854814313616,-28.364622846957374            19.721906        19.179389
#[Out]# 266.85493237371907,-28.355974574836363            18.487751        16.475926
#[Out]# 266.85521546387974,-28.355652759318538            18.245685        17.995577
#[Out]#  266.8565365002666,-28.354562241451116            20.206756        19.322203
#[Out]#    266.8571403790022,-28.3657473523295            18.447425        17.858751
#[Out]#  266.8577867658023,-28.354417197909257            19.706246        18.704443
#[Out]# 266.85809846733673,-28.357297294762965            18.388985        17.880085
#[Out]# 266.85866778463634,-28.353980339312947            18.112366        17.702207
#[Out]#  266.85919871737894,-28.36487934662729            18.848452        17.306402
pl.scatter(crd480[in_g0693].ra, crd480[in_g0693].dec, s=5)
red_selection = (catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693] > 0.25
pl.scatter(crd480[in_g0693].ra[red_selection], crd480[in_g0693].dec[red_selection], color='r')
is_ext = catalog480['is_extended']
pl.scatter(crd480[in_g0693].ra[is_ext[in_g0693]], crd480[in_g0693].dec[is_ext[in_g0693]], color='g', marker='x')
#[Out]# <matplotlib.collections.PathCollection at 0x14aa7b36ea80>
cat_for_izas = catalog480[in_g0693][red_selection]['sky_centroid', 'aper_total_abmag_360', 'aper_total_abmag', 'is_extended']
cat_for_izas.rename_column('aper_total_abmag', 'aper_total_abmag_480')
cat_for_izas = catalog480[in_g0693][red_selection]['sky_centroid', 'aper_total_abmag_360', 'aper_total_abmag', 'is_extended']
cat_for_izas.rename_column('aper_total_abmag', 'aper_total_abmag_480')
cat_for_izas
#[Out]# <Table length=63>
#[Out]#              sky_centroid              aper_total_abmag_360 ... is_extended
#[Out]#                deg,deg                                      ...            
#[Out]#                SkyCoord                      float64        ...     bool   
#[Out]# -------------------------------------- -------------------- ... -----------
#[Out]#  266.8262540589433,-28.357722386062477            19.232904 ...       False
#[Out]#   266.8265381915574,-28.35201963551779            19.076740 ...       False
#[Out]#  266.8265563741691,-28.354895321459022            18.710958 ...       False
#[Out]#  266.8271622344454,-28.362460496808797            18.266123 ...       False
#[Out]# 266.82797269293405,-28.357847850437093            20.800607 ...       False
#[Out]# 266.82987713858074,-28.349526861670945            17.952699 ...       False
#[Out]#  266.8300482424925,-28.354935835187185            18.241395 ...       False
#[Out]#  266.83116646960775,-28.34955842826133            20.471615 ...       False
#[Out]# 266.83123635621104,-28.359016632529656            18.191688 ...       False
#[Out]#                                    ...                  ... ...         ...
#[Out]#   266.854814313616,-28.364622846957374            19.721906 ...       False
#[Out]# 266.85493237371907,-28.355974574836363            18.487751 ...       False
#[Out]# 266.85521546387974,-28.355652759318538            18.245685 ...       False
#[Out]#  266.8565365002666,-28.354562241451116            20.206756 ...       False
#[Out]#    266.8571403790022,-28.3657473523295            18.447425 ...        True
#[Out]#  266.8577867658023,-28.354417197909257            19.706246 ...       False
#[Out]# 266.85809846733673,-28.357297294762965            18.388985 ...       False
#[Out]# 266.85866778463634,-28.353980339312947            18.112366 ...       False
#[Out]#  266.85919871737894,-28.36487934662729            18.848452 ...       False
crd480
#[Out]# <SkyCoord (ICRS): (ra, dec) in deg
#[Out]#     [(266.80994559, -28.42075599), (266.81060206, -28.41788016),
#[Out]#      (266.80995472, -28.41529781), ..., (266.85935225, -28.37286048),
#[Out]#      (266.85941547, -28.38109944), (266.85945218, -28.38327824)]>
pl.scatter(catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'],
           catalog480['aper_total_abmag'], alpha=0.5, s=1);
pl.scatter((catalog480['aper_total_abmag_360'] - catalog480['aper_total_abmag'])[in_g0693],
           catalog480['aper_total_abmag'][in_g0693], alpha=0.75, s=3, color='k');
pl.axis([-1, 2, 21, 16]);
in_g0693
#[Out]# array([False, False, False, ..., False, False, False])
in_g0693.sum()
#[Out]# 1091
(in_g0693 & is_red).sum()
(in_g0693 & red_selection).sum()
(red_selection).sum()
#[Out]# 63
preg = search_region.to_pixel(ww)
msk = preg.to_mask()
from astropy.io import fits
from astropy.wcs import WCS
fh = fits.open('/orange/adamginsburg/jwst/sgrb2/mastDownload/JWST/jw05365-o001_t001_nircam_clear-f480m/jw05365-o001_t001_nircam_clear-f480m_i2d.fits')
ww = WCS(fh['SCI'].header)
search_region.contains(catalog480['sky_centroid'][0], wcs=ww)
#[Out]# False
preg = search_region.to_pixel(ww)
msk = preg.to_mask()
dat = msk.cutout(fh['SCI'].data)
pl.imshow(dat)
#[Out]# <matplotlib.image.AxesImage at 0x14aa7a5917c0>
dat = msk.cutout(fh['SCI'].data)
pl.imshow(dat, cmap='gray')
#[Out]# <matplotlib.image.AxesImage at 0x14aa73e4bb60>
dat = msk.cutout(fh['SCI'].data)
pl.imshow(dat, cmap='gray', vmin=0, vmax=100)
#[Out]# <matplotlib.image.AxesImage at 0x14aa73efe0c0>
cat_for_izas.write('480_360_Izaskun_20241003.fits', overwrite=True)
