Light Curve Analysis (Python)
The purpose of this work was to capture images with my equipment and create light curves of variable stars showing how they change magnitude over time. Eventually, the same technique could be used to observe exoplanet transits.
Raw data from the camera was hundreds of large ~60 second frames of the region of interest, taken over a single night. Pixinsight was used to align and crop the batch of images to a smaller region of interest for further processing.
I wrote Python code to analyze the images, do statistics, and generate light curves. The code identifies stars in the image, and then finds the flux minus background for stars in each image, and grahps the flux over all the data. This generates a light curve which theoretically will be flat for non-variable stars, and show the variability of any variable stars in the image.
The data, however, must be corrected for atmospheric and other effects. For example, when the stars are lower in the sky, their magnitudes appear higher (fainter) because of the airmass in the way. Additionally, the flux recorded by the camera is highly dependent on other conditions and factors related to the equipment. So, the data must be calibrated. The code does this, and uses known magnitudes of some comparison stars, to produce light curves that represent real changes in magnitude.
I used this process to successfully analyze two sets of data from different variable stars, as shown below.
Analyze Background
Identify Stars
Things to note: 'Counts' on the y-axis of the background graph refers to a sum of pixel value and represents the sum of photons in a region minus the average sum of photons in the images regions. Therefore, the value is theoretically zero, since we are subtracting background from background. So, it makes sense that the values in the graph are clustered around zero. The width and standard deviation of the distribution around zero represents a lower bound for uncertainty of the measurements. The distribution is Gaussian, as expected from random changes in noise. The missing section of data just after the .6 mark is due to the telescopes Meridian Flip. The target had passed the zenith and the telescope took some time to switch the side of the mount it was on and re-center, to avoid over rotating and crashing the scope into the tripod.
The Image class in the code has methods to both identify and show sources in the image. Sources are identified by clumps of pixels of certain specified size with SNR over a certain specified threshold. So, parameters can be adjusted to better identify sources. Star centers were calculated by averaging the coordinates of the star's pixels and are subject to error from optical aberrations such as coma. So, the centering works best near the center of the frame.
Create Calibrated Lightcurves
Things to note: These graphs were created using known magnitudes of the comparison stars from AAVSO. So the magnitudes are based off those magnitudes, and don't account for the photometric characteristics of my system. Therefore, the magnitudes should be taken as approximates.
Although the comparison stars should be flat, since this data is calibrated and the stars are known to be non-variable, there is still some variability seen. Specifically, the data seems strange (not flat) for the first few hours of the SZ Lyncis data. Causes of this may have to do with the location of the target under heavy airmass near the horizon at this time at the different effects of this on different magnitude stars. Follow up observations must be done to try and eliminate or at least identify the source of this problem.
SW Andromedae
SZ Lyncis
These curves match published TESS data fairly well. However, there are definitely some areas for improvement, and some questions remaining. For example, the first peak of the SZ Lyncis curve appears brighter than the other two, but this is probably not a 'real' effect. It is likely caused by some combination of factors in the atmospheric conditions, the equipment settings, and the calibration, not because this peak was actually a significantly bright maxima for the star. Additionally, this data was taken without a filter and therefore cannot be easily compared to data captured using standard photometric systems. This also means the magnitudes are slightly subjective. So, it seems reasonable that significantly better data could be captured with small improvements to the current equipment and methodology.
Hopefully in the future precision will be high enough to capture the light curve of a star as it is transited by an exoplanet. Based of the width of the data along these curves, it seems the method is accurate to within about .1 magnitudes, which probably isn't good enough for most exoplanets. There is, as said above, room for improvement though, so exoplanets are not out of the realm of possibility.