Skip to content

uoa-fsoc/RINGSS

Repository files navigation

It should be noted that the capture script, takecapture.py, is desgined to work with the ZWO ASI462MM camera, and QHYCCD QFocuser. A change in camera of foucser may require this script to be altered accordingly.

The various extra Python libraries required to run all scripts are numpy, matplotlib, scipy, zwoasi, alpaca-py, astropy, astroquery, opencv-python, pynput. To install all of these, run: pip install numpy matplotlib scipy zwoasi alpaca-py astropy astroquery opencv-python pynput

The majority of python scripts and json files can remain untouched, as they work in the background. There are some of these scripts that offer addtional figures, which are turned off by default, the toggle boolean for which can be found at the start of the files.

The very first step to be taken is create a parameters file that describes the instrument and setup being used. It should follow the format of the example parameters file here, par-ardmore.json. The "telescope" section includes information about the instrument itself, the telescope diameter (in metres), central obsucation (by diameter), pixel scale (in arcseconds), conjugation distance (in metres), corresponding ring radius (in pixels) and detector readout noise (in electrons). To find the effective focal length, pixel scale and radius for the wanted conjugation distance, the script efffocal.py should be run with the telscope pointed at a binary system with a known seperation. The "site" section holds the location information, the name, longitude and latitude. The "capture" section contains the settings for the camera to use during observations, exposure time (in milliseconds), frames per capture, region of interest (in pixels), gain (in ADU) and number of captures in a sequence. The "profrest" section tells teh restoration scripts what how to translate the data, with the maximum angular mode, radial mask multiplier, grid of altidudes to restore (in meteres), wavelength and spectral response of camera over wanted wavelengths, weights file location, z-matrix location and star catalouge location.

Once a paramters file has been added, the path to it, along with paths to python.exe, the wanted data folder location and the APK for the ASI camera control (if being used), must be updated at the start of several scripts. The data folder itself is selected by the user, but all sub-data folders for nights and captures, along with the outputs folder are generated automatically, based of the data folder's location.

A few notes when taking captures, either for data or aberrations. The QFocuser itself must be run through the ASCOM Remote Sever software before using taking captures. The capture script itself assumes that the star is already sitting roughly in the centre of the camera and has been defocsued to any ring shape, that fits within the region of interest. To observe the ring and align the star, a software like SharpCap should be used, for which it should be noted that this software must be disconnected from the camera before captures can be taken. By default, the takecapture.py script uses the first ASI camera it finds, so if two are being used, it may need to be changed to use the second.

The script findstars.py takes the minimum and maximum zenith angles for which stars are wanted at, spitting out a list of stars in that range and ordered by brightness. This script has location coordinates and star catalouge path hardcoded at the start, which may require changing.

Before any data can be taken, first weighting functions must be computed. Any time the instrument is altered, the weighting functions should be recomputed, which should first be done by getweight5.py. These weights will be the perfect ones, which ignore aberrations and are used for comparison. The telescope should then by lined up with a known star from the catalouge and the script createweights.py should be run. This script will calculate the aberrations and adjust the weighting functions based off them. These abberations only need to be computed once a night, unless the instruemnt or other parameters in the "telescope" section are altered.

Once the weighting functions with aberrations are computed, data can be taken. Profiles can be generated from any star within the catalouge, most easily found using findstars.py. Once a star has been aligned, and some ring created, createprofile.py can be run to get the resulting turbulence profile. This scirpt will automatically take, process and plot the data and turbulence profile. The plots for all stars are stored within two folders under the current night folder, one for angular power spectrums and the other for turbulence profiles.

The various scripts automatically run by createweights.py and createprofile.py can all be run independently if required.

An extra script, simtrub.py, was used to show how the prescence of turbulence can greatly alter the observed ring. This script purely uses simulations, and requires not star, nor device to be connected.

An acknowldegement should be made to Anderi Tokovinin, as many of these scripts have been written by him, with slight changes made to them here.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages