Skip to content

Instantly share code, notes, and snippets.

@Abhinay1997
Last active August 25, 2019 10:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Abhinay1997/e5bdf2067a0b93681f92d60805d47590 to your computer and use it in GitHub Desktop.
Save Abhinay1997/e5bdf2067a0b93681f92d60805d47590 to your computer and use it in GitHub Desktop.
The summary of the work done as part of

Demos and Tools for Project PANOPTES

This is the summary of the work I, Naga Sai Abhinay Devarinti did under Google Summer of Code 2019 for Project PANOPTES under the guidance of my incredible mentors Josh Walawender and Jen Tong. It's been a privelege working under their guidance. And my heartfelt thanks to Wilfred Tyler Gee, who helped me become a better programmer.

Demos

Link to Source
Link to live demos

  • Introduction to Exoplanets

    The "Introduction to Exoplanets" page is designed to give a brief idea about what exoplanets are. It consists of a HTML5 Canvas on which images are drawn as frames giving the appearance of a animated video/slideshow. The subtitles provide information about the image being displayed. The canvas is designed to resize gracefully without affecting the quality of the next frame being drawn by using a third-party library called Hermite Resize (JavaScript).

    As soon as all the frames are loaded, the play button turns green. On click, it changes to a pause button. Resume functionality is supported. On finish, the animation stops and can be restarted from the beginning by the play button again.

    Documentation

  • Detecting Exoplanets

    The "Detecting Exoplanets" page is designed to give a brief idea about the transit method to detect exoplanets. It consists of two HTML5 Canvas'. On one canvas the animation of the star-exoplanet system is shown and on the other canvas, the transit light curve corresponding to the system being animated is displayed.

    A point is animated on the Transit Light Curve as the exoplanet revolves around its star, displaying the relative brightness perceived by an observer on Earth.

    Documentation

  • Test Your Understanding

    The "Test your Understanding" page is designed to test the core concepts of the user in connection to the transit method for detecting exoplanets. It consists of one main HTML canvas on which the transit curve is rendered and four other canvas elements on which the star systems corresponding to the options are displayed. Only one of the options is the right answer.

    Upon clicking the options, a pop up shows whether the option chosen is right or wrong. In case it is wrong, it provides a hint towards the right answer.

    Documentation

NOTE: The Images and Illustrations used in the Demos are either free to use or free to use with attribution. Attribution has been given wherever necessary.

Tools

  • Timelapse Generator

    Link to Source
    The Timelapse Generator is capable of outputting Full HD video (1920 x 1080) or the original frame size (5208 x 3476) to an mp4 video file. The codec fourcc tags used are avc1 and mp4v. The first choice is avc1 and on failing to use this mp4v is used.

    The Timelapse generator takes a directory containing FITS files, either *.fits or *.fz. Please take care to avoid putting *.fz and their decompressed *.fits in the same directory to avoid duplicates in the video as the script doesn't differentiate between them.

    Each FITS file from Project PANOPTES is usually of size (5208 x 3476) and is usally single channel. The timelapse generator takes these type of files, and applies the following operations on them:

    • Debayering to get RGB image. Bayer patter used: 'RGGB'. Remember that astronomy format is to save zeroth pixel at bottom left corner of the image array
    • Stretching to modify the contrast of the image. Sub-image extraction to get only a part of an image. Note that the script rotates any sub-image to ensure that the video is always in landscape mode.
    • Saving the sub-images in .jpg format to a directory called temp_timelapse in the same directory as the time_gen.py script.
    • Generating the video file from the .jpg files stored in the temp_timelapse directory.
    • After successful generation of the video file, the temp_timelapse directory is cleared.

Work To Be Done:

  • Adding a sort of configuration file to the Timelapse Generator.
  • More fine-tuning of the stretching and the scaling of the data during the generation of the timelapse.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment