# Observation and analysis of optical counterparts from celestial objects using GROWTH-India telescope

Abhinand V

Integrated BS-MS Student, Indian Institute of Science Education and Research-Thiruvananthapuram, Maruthamala PO, Vithura, Kerala 695551

Dr Varun Balachandra Bhalerao

Assistant Professor, Department of Physics, Indian Institute of Technology, Powai, Mumbai, Maharashtra 400 076

## Abstract

GROWTH (Global Relay of Observatories Watching Transients Happen) is an international scientific collaborative project in astronomy studying the physics of fast-changing events in the cosmos. Data on cosmic transient events are gathered by jointly operating 18 observatories in the northern hemisphere which efficiently extends the night-time darkness available for observation. Light curves and spectra of astrophysical transient events provide insights into the formation of heavy elements and the generation of gravitational waves. GROWTH-India telescope (GIT) at the Indian Astronomical Observatory located in Hanle, Ladakh is the Indian collaborator of GROWTH. The 0.7 m telescope with a 0.6x0.6 degree field of view is in the process of being fully automated. Observations supervised from IIT Bombay are carried out each night using the GIT if the weather conditions are favourable at Hanle. These observations are in search for explosions in the optical regime when LIGO detects a Binary Neutron Star merger, studying nearby supernova explosions and asteroids. Imaging and processing (image reduction and subtractions) are accomplished using various modules based on the python programming language. Image subtraction helps in detecting transients if any. Principles behind the python based modules used for processing and analysis were introduced through a lecture series from GROWTH Winter school, 2018. Photometry is done on processed images to determine the magnitude of observed targets. The photometric follow-up of a recent gamma-ray burst (GRB190530A) with GIT determined the magnitude of source to be 20.118. We found that the source is fading with a power-law index of 1.52. The results were published in the Gamma-ray Coordinates Network (GCN) circulars archive 24745. Besides, the robustness testing of a python script for better focusing of telescope on targets is carried out.

Keywords: gamma-ray burst, Be/X-ray binary, Full width at half maximum (FWHM), Binary neutron star merger.

## Abbreviations

A list of abbreviations frequently used in this report is given below:

Table 1
 GROWTH Global Relay of Observatories Watching Transients Happen GIT GROWTH India Telescope RA Right ascension Dec Declination GRB Gamma-ray burst FWHM Full width at half maximum

## Background

Gamma-ray bursts are short flashes of photons thought to originate from collapsing stars. These strong pulses have energies in the X-ray to gamma-ray ranges and time scales ranging from a few milliseconds to around 100 seconds. GRBs have also been observed on much longer time scales - up to tens of kiloseconds after the prompt gamma-ray phase of the burst. This so-called "afterglow" emission has been seen over a broad range of wavebands, from radio wavelengths to GeV energies, and is believed to be generated when relativistic material flowing interacts with the ambient material surrounding the source of the GRB​. In this project, the field of GRB190530A was observed using the GIT for further analysis.

The focus loop tests done before observations are made for obtaining better-focused images. A robustness testing of this python based script can be effective in complete automation of GIT. The code, which is run prior to observation, carefully evaluates the FWHM corresponding to the sources in the image and sorts out the focus which can be used for further observations that can give accurately focused images. Analysing the images taken as a part of focus test provides insights to misalignment of detectors in the GIT if any.

## Objectives of the Research

• To observe and determine the magnitude of GRB190530A.
• Identify the properties of the fading of GRB190530A.
• Evaluating the focus loop tests to identify the efficiency at which focusing on observed targets is currently performed.

## METHODOLOGY

In this section, the methods and approaches used to determine the magnitude of GRB and robustness testing of focus loops are discussed.

## Observation of GRB190530A

The field of GRB190530A, as reported by Fermi GBM Team, was observed using the GIT at 2019-06-01.635 and 2019-06-02.685 UT, at the position RA 1 : 08h 02m 07.73s, Dec 1​  : +35d 28m 47.7s. The images were taken in red (r) filter. Filters 2 are an accessory used in astronomy with telescopes, instruments such a CCD camera, to improve the observation of celestial objects and to facilitate the measurement of the number of photons of selected wavelengths of light. Filters of varying wavelength width or bandpass can be used. The use of r filter in this observation reduces the sky brightness, particularly during daylight and twilight observations.

## Determining the magnitude of GRB190530A

Photometry, in astronomy, is the measurement of brightness of celestial objects. The magnitude calculated is a unitless measure of brightness of an object. The scale used is logarithmic, such that each step of one magnitude corresponds to a change in the brightness of source by a factor of the fifth root of 100, i.e. approximately 2.512. The brighter an object appears, the lower the value of its magnitude, with the brightest objects reaching negative values.

The apparent magnitude ( $m _{app}$) is the brightness of an object as it appears in the night sky from Earth.​ Apparent magnitude depends on an object's intrinsic luminosity, its distance and the extinction reducing the brightness. The instrumental magnitude ( $m_{ins}$) of a source is related to its physical magnitude via the zero-point ( $ZP$) relation:

$m_{app} = ZP + m_{ins}$

$m_{ins} = - 2.5log(Total flux)$

​where the zero-point in a photometric system is defined to be the detector count when the apparent magnitude is zero. The zero-point is used to calibrate a system to the standard magnitude system, as the flux detected from stars will vary from detector to detector. The amount of flux measured is dependent on the size of the aperture chosen. An image of the GRB190530A taken using the GIT after reduction is shown below:

GRB190530A

To derive a good photometric solution, we find sources that are not blended with other objects and are away from the edges of the image. To identify point sources in this image and compare their brightness to a known catalogue, a code known as 'Source Extractor' ( SExtractor 3) is used. The variation of magnitude with aperture size is shown in the plot below.

Change in magnitude with aperture size

The larger the aperture, the more flux and the lower magnitude. This curve is called the Curve of Growth.

The instrumental and reference catalogue magnitudes are then cross-matched. The zero-point for each aperture is derived by evaluating the difference between the catalogue and instrumental magnitudes, we measure the average offset between these magnitudes, including rejection of bad outliers that might affect the photometry. This method of finding the magnitude is known as aperture photometry. Aperture photometry is successful with relatively isolated sources. These tasks are performed seamlessly with python based photometry scripts and modules.

Another approach, mainly suitable with crowded fields, is Point Spread Function (PSF) Photometry. In PSF photometry, a model for the Point Spread Function 4 of stars in the field is created by fitting large number of stars. The models are then iteratively subtracted from the data and refined to minimize the residuals.

## Identifying the rate at which GRB190530A is fading

To know the rate at which GRB190530A is fading, the change in flux from the object with time is analysed. The assumption of power-law probability distributions is ubiquitous in astronomy. Scientific interest in power-law relations stems partly from the ease with which certain general classes of mechanisms generate them 5. When one quantity (say $y$) depends on another (say $x$) raised to some power, we say that $y = kx^a$is described by a power law, where $a$ is the law’s exponent and $k$is a constant. Certain variants of power-law such as the broken power law, a piecewise function consisting of two or more power laws combined with a threshold, is also used for fitting the data. A handy way to convert this power law is to take logarithm on both sides of the equation. A plot of $log(y)$vs $log(x)$ gives a straight line with a slope $a$.

A plot of the logarithm of flux from GRB against the logarithm of time elapsed after the GRB( $T_{0}$). A straight line is fitted with the data points both with and without the inclusion of data from GIT. The slopes obtained from both the plots are compared to know whether they agree.

## Robustness Testing of Focus Loops

Focusing is an important step in imaging. In order to capture the details in an image we have to set the best possible focus before the observation. In GIT this is achieved through a python based script termed as focus loop tests. The focuser value is changed by varying the distance between the primary and secondary mirrors in the telescope. Images are taken with predefined focuser values at regular intervals. The images taken are analysed carefully to sort out the focuser value that gave the best-focused image on a particular date. Further observations are then carried out with this selected focuser set-up for upcoming observations. The seeing conditions on a given night at a location describe how much earth's atmosphere perturbs the images of targets as seen through the telescope. One way to select the best focus for a particular night is to manually evaluate the images taken. One can also identify the best focus by analysing the FWHM of point spread function of sources present in the images taken. The FWHM values obtained is determined by the seeing conditions at the time of the observation. This diameter of the point spread function is a measure of the astronomical seeing conditions. FWHM is an expression of the extent of function given by the difference between the two extreme values of the independent variable at which the dependent variable is equal to half of its maximum value.

FWHM

It is therefore clear that lower the value of FWHM obtained from the images, the more focused are the sources present in it.

## Identifying the best focuser value for an observation session

As mentioned earlier, focus loop testing script evaluates and selects the best focuser value for the upcoming observation session. Analysing how accurately this script decided the best focuser value can be done by selecting certain sources from each image and comparing their FWHM values. For this RA and Dec of sources from images taken as part of focus loop tests are noted down and their FWHM are obtained after processing. Then a plot of FWHM versus focuser value is made for each source and analysed. The sources facing distortion from diffraction and saturation are avoided from being selected to have a better understanding of the variation of FWHM.

The following section describes the analysis done on the images from focus loop tests on May 29th. Initially, the RA and Dec of selected sources are stored into a CSV file:

Co-ordinates of the selected sources
import astropy.units as ufrom astropy.io import fits as affrom astropy.table import Tablefrom astropy.io import asciiimport globimport csvimport osimport pandas as pd from astropy.coordinates import SkyCoord # Calling the reduced files of images from focus loop tests, FWHM values are stored in these files:source_img =[]for filepath in glob.glob("/home/Desktop/reduced0529/*fits.cat"):  	img=filepath	source_img.append(img) # These are the fits files of the corresponding images from source_img:fitsFiles=[]for filepath in glob.glob("/home/Desktop/reduced0529/*fits"):  	fits=filepath	fitsFiles.append(fits) #The coordinates of selected sources from the images are read: refList=ascii.read("/home/Desktop/radecList0529.csv")imgex=af.open(fitsFiles[0])date=imgex[0].header['DATE']# The RA and Dec values from refList are cross matched with each images from fitsFiles and corrresponding sources are identified:for j in range(len(refList)):    refCatCoords = SkyCoord(ra=[refList[j]['ra (deg)']], dec=[refList[j]['dec (deg)']], frame='icrs', unit='degree')    focusLoop=[]    for i in range(len(ab17)):        img1= af.open(fitsFiles[i]+'.cat')        data=Table.read(img1[2])        fwhmTab=data['ALPHAWIN_J2000','DELTAWIN_J2000','FWHM_WORLD','X_IMAGE','Y_IMAGE']        sourceCatCoords = SkyCoord(ra=fwhmTab['ALPHAWIN_J2000'], dec=fwhmTab['DELTAWIN_J2000'], frame='icrs', unit='degree')        photoDistThresh =10        idx_image, idx_ref, d2d, d3d = refCatCoords.search_around_sky(sourceCatCoords, photoDistThresh*u.arcsec)           #idx_image are indexes into sourceCatCoords for the matched sources, while idx_ref are indexes into refCatCoords for the matched sources        idx_image        #print('Found %d good cross-matches'%len(idx_image))        t=fwhmTab[idx_image]        FinalList=t['X_IMAGE','Y_IMAGE','FWHM_WORLD','ALPHAWIN_J2000','DELTAWIN_J2000']        focusLoop.append(FinalList)        #print(FinalList)        focusList=[]        fwhmWorld=[]        for k in range(len(focusLoop)):            img= af.open(fitsFiles[k])            focus=img[0].header['FOCUSER']            fwhm=focusLoop[k][0]['FWHM_WORLD']            focusList.append(focus)            fwhmWorld.append(fwhm)            img.close()        Data=[focusList,fwhmWorld]#Now we write the FWHM of each sources from into a csv file:    ascii.write(Data,'%s.csv'%refList[j]['id'],names=['Focuser','Fwhm'],format='csv',fast_writer=False)    img1.close()#Ploting#Data from the csv files written earlier are used here. For each source in the refList, a plot of FWHM vs Focuser Value is stored as a pdf file:from matplotlib.backends.backend_pdf import PdfPagespp = PdfPages('FocVFwhm%s'%date+'.pdf')def function_plot(X,Y, pp):    plt.figure()    plt.clf()    plt.plot(X,Y,marker='o')    graph = plt.title('Focuser vs Fwhm_STARID='+starIndex[l])    plt.xlabel('FocuserValue', fontsize = 8)    plt.ylabel('Fwhm (in deg)', fontsize = 8)    plt.savefig(pp, format='pdf')    starIndex=[]for f in range(len(refList)):    starIndex.append(refList[f]['id'])    import matplotlib.pyplot as pltfor l in range(len(starIndex)):    sort=pd.read_csv(starIndex[l]+'.csv')    sort.sort_values("Focuser", axis = 0, ascending = True,                      inplace = True, na_position ='last')    function_plot(sort['Focuser'],sort['Fwhm'], pp)    pp.close()
Creating FWHM vs Focuser value Plots

After executing the above-written code, a plot of FWHM vs Focuser value is obtained for targets stored in the CSV file mentioned earlier.

## Evaluating the focusing in an image

The camera installed in GIT is an Andor iKon-XL, 230 model. It is a 4096 × 4108 resolution back-illuminated, thermoelectrically cooled CCD. For an image, it can happen that the focusing is not the same throughout. Whenever the primary and secondary mirror in a two-mirror system is not optimally positioned, it induces a certain amount of axial and off-axis aberrations. To evaluate this, individual images from focus loop tests are considered and the variation of FWHM throughout the image is studied. The Analysis is done to identify patterns followed in these variations if any. For this, scatter plots with the 4096 × 4108 resolution image on xy-plane and FWHM on a colour axis are created. This helps to visually understand the patterns of focusing in an image. The code written below does this for images taken as part of focus loop tests on May 29th.

import globfrom astropy.io import fits as afimport os# The tables with x_image , y_image and fwhm are loaded:fwhm_list=[]for filepath in sorted(glob.glob("/home/Desktop/FWHM_Tables proc0529/*csv")):  	fwhm=filepath	fwhm_list.append(fwhm)fitsFiles=[]for filepath in glob.glob("/home/ab17/Desktop/reduced0529/*fits"):  	fits=filepath	fitsFiles.append(fits)imgex=af.open(fitsFiles[0])date=imgex[0].header['DATE']# Scatter plots are created and saved as a pdffrom matplotlib.backends.backend_pdf import PdfPagespp = PdfPages('FocusTestSct(Sig)%s'%date+'.pdf')def function_plot(xi,yi,zi,title,pp):    plt.figure()    plt.clf()    zmin = 0    zmax = 10    zi[(zi<zmin) | (zi>zmax)] = None    plt.scatter(xi,yi,8,c=zi,cmap=plt.cm.get_cmap('viridis',12),vmax=zmax, vmin=zmin)    graph = plt.title('FocuserValue='+title)    plt.ylabel('Y_IMAGE', fontsize = 8)    cbar=plt.colorbar()     cbar.set_label('Fwhm in arcsec',rotation=90)    plt.savefig(pp, format='pdf')import numpy as npimport matplotlib.pyplot as pltfrom scipy.interpolate import griddataimport pandas as pdfrom astropy.stats import sigma_clipfor i in range(len(fwhmlist)):    dat=pd.read_csv(fwhm_list[i])    dat['FWHM_WORLD']*=3600    PlotHead=[]    PlotHead.append(os.path.splitext(os.path.basename(fwhm_list[i]))[0])    X_dat = dat['X_IMAGE']    Y_dat = dat['Y_IMAGE']    Z_dat = dat['FWHM_WORLD']    #for outlier rejection:    filt_data = sigma_clip(Z_dat, sigma=5,maxiters=10)    function_plot(X_dat,Y_dat,filt_data,PlotHead[0],pp)   pp.close()
Creating scatter-plots of FWHM in an image

Following a similar approach, contour plots were created to have a better understanding of how the value of FWHM varies in an image taken using GIT. It is achieved as follows:

import globfrom astropy.io import fits as afimport os# The tables with x_image , y_image and fwhm are loaded:fwhm_list=[]for filepath in sorted(glob.glob("/home/Desktop/FWHM_Tables proc0529/*csv")):  	fwhm=filepath	fwhm_list.append(fwhm)fitsFiles=[]for filepath in glob.glob("/home/ab17/Desktop/reduced0529/*fits"):  	fits=filepath	fitsFiles.append(fits)imgex=af.open(fitsFiles[0])date=imgex[0].header['DATE']# Contour plots are created and saved as a pdf:from matplotlib.backends.backend_pdf import PdfPagespp = PdfPages('FocusTestCont(Sig)%s'%date+'.pdf')def function_plot(xi,yi,zi,title,pp):    plt.figure()    plt.clf()    zmin = 0    zmax = 10    zi[(zi<zmin) | (zi>zmax)] = None    plt.contourf(xi, yi, zi.T, 15, cmap=plt.cm.get_cmap('viridis',12),vmax=zmax, vmin=zmin)    graph = plt.title('FocuserValue='+title)    plt.xlabel('X_IMAGE', fontsize = 8)    plt.ylabel('Y_IMAGE', fontsize = 8)    cbar=plt.colorbar(boundaries=np.linspace(0,10,10))     cbar.set_label('Fwhm in arcsec',rotation=90)    plt.savefig(pp, format='pdf')import numpy as npimport matplotlib.pyplot as pltfrom scipy.interpolate import griddataimport pandas as pdfor i in range(len(fwhm_list)):    dat=pd.read_csv(fwhm_list[i])    #dat.sort_values("FWHM_WORLD", axis = 0, ascending = True,                     # inplace = True, na_position ='last')    dat['FWHM_WORLD']*=3600    PlotHead=[]    PlotHead.append(os.path.splitext(os.path.basename(fwhm_list[i]))[0])    X_dat = dat['X_IMAGE']    Y_dat = dat['Y_IMAGE']    Z_dat = dat['FWHM_WORLD']# for outlier rejection    filtered_data = sigma_clip(Z_dat, sigma=5, maxiters=10)# Convert from pandas dataframes to numpy arrays    X, Y, Z, = np.array([]), np.array([]), np.array([])    for j in range(len(X_dat)):            X = np.append(X, X_dat[j])            Y = np.append(Y, Y_dat[j])            Z = np.append(Z, filtered_data[j])# create x-y points to be used     xi = np.linspace(X.min(), X.max(), 1000)    yi = np.linspace(Y.min(), Y.max(), 1000)# Z is a matrix of x-y values    zi = griddata((X, Y), Z, (xi[None,:], yi[:,None]), method='cubic')function_plot(xi,yi,zi,PlotHead[0],pp)    pp.close()
Creating contour plots showing the variation of FWHM in an image

## GRB190530A

A very faint source at position RA: 08h 02m 07.73s, Dec: +35d 28m 47.7s was detected using GIT. The results of photometric follow-up on GRB190530A are noted below.

Photometric results from the observation of GRB190530A

Magnitudes are calibrated with panstars in the same field.

The plot of $log(flux)$versus $log( T_{0})$without fitting with GIT data points is obtained as

Change of flux with time for GRB190530A fitted without GIT data

The plot of $log(flux)$against $log( T_{0})$ fitted with GIT data points is obtained as

Change of flux with time for GRB190530A fitted with GIT data

Photometric results are found to be in agreement with (Lipunov et al., GCN 24680; Kann et al., GCN 24684; Heintz et al., GCN 24686; Izzo et al., GCN 24687; Xin et al., GCN 24688; Watson et al., GCN 24690; Lipunov et al., GCN 24693; Xin et al., GCN 24697; Belkin et al., GCN 24698; Kann et al., GCN 24700;Vinko et al., GCN 24709; Siegel, GCN 24703; Moskvitin and Uklein, GCN 24708; Belkin et al., GCN 24712; Brajesh et al., GCN 24729). Using data of above-mentioned GCNs along with GIT data, it is identified that the source is fading with a power-law index of 1.52. The above results were published in the Gamma-ray Coordinates Network (GCN) circulars archive 24745.

## Robustness testing of focus loops

Plots of FWHM vs Focuser value of selected sources with their respective id as plot title is shown below.

FWHM vs Focuser value plots of selected sources

The scatter plots created for evaluating the focusing in an image are shown below with their corresponding focuser value as plot title.

Scatter plots showing the variations of FWHM in an image

The contour plots that were created with corresponding focuser value as plot title are as follows:

Contour plots showing the variations of FWHM in an image

FWHM can be seen varying in larger scales for higher focuser values. The least and uniform FWHM, and thereby accurately focused images can be identified in the focuser value range of 5200 - 5300.

## CONCLUSION

The project was successful in identifying and understanding the basics of teransient observations and corresponding analysis. Robestness testing of the focus loop has helped to uderstand the procedures involved in the process. Further analysis of data from focus loop tests on more sessions can be used to derive information regarding the focusing in an image and thereby identifying any misalignments in the detectors of GIT. Accurately focused images can be useful in better analysis and deriving significant details. These information can be effective in the complete automation of GIT.

## ACKNOWLEDGEMENTS

I would like to express my sincere gratitude to my advisor Dr Varun Balachandra Bhalerao for the continuous support of this project and related research, for his patience, motivation, and immense knowledge. Besides my advisor, I would like to thank the Indian Academy of Sciences for providing me with an opportunity as a Summer Research Fellow. My sincere thanks also goes to IIT Bombay for the accommodation and research facilities provided during the period of this project. I shall thank all my friends at IIT Bombay for their support throughout this project.

#### References

• Bob King.  February 26, 2019. Celestial Coordinates for Beginners. Retrieved from https://www.skyandtelescope.com/astronomy-resources/right-ascension-declination-celestial-coordinates/