Skip to content

SOCIS 2017 Swapnil Sharma

Nabil Freij edited this page Feb 22, 2024 · 3 revisions

About Me

Contact Information

Full Name: Swapnil Sharma

Email: swap.sha96@gmail.com

Github: swapsha96

Time Zone: IST (UTC+5:30)

Education

University: Indian Institute of Technology Mandi

Major: Bachelors in Computer Science and Engineering

Current Year: Second year (4th semester ongoing)

Expected Graduation Year: 2019

Background

I am sophomore student pursuing B.Tech. in Computer Science and Engineering from Indian Institute of Technology Mandi. I was 13 when I started developing web pages and scripting in PHP. Later, my interest grew in Python scripting. I took CS courses in C/C++ and Java. I am enthusiastic in exploring the applications of programming in real world. I also have intermediate knowledge of Android app development. I am comfortable with Git commands and work on both Windows and Linux(Ubuntu) platform.

My interest in astronomy developed when I was introduced to Astronomy club of my college in the first semester. I participated in activities like night-sky stargazing, interactive sessions and Astrophotography. Currently I am the coordinator of the club and highly active to organise related activities and float technical projects to promote and increase involvement in this field. Since then, I have been looking for opportunities to contribute in the field of astronomy through outstanding open-source communities like AstroPy and SunPy. I have made myself familiar with the SunPy development workflow on Github and stay in touch with the contributors although I'm not a long time SunPy user or developer.

Experience in projects

Currently I am working on Space Telescope Science Institute, Maryland (STScI) project, 3D-HST data extractor and API interface with Dr. Ivelina Momcheva (Mentor) and Mr. Ayush Yadav (full stack developer). During this project I worked on development of new API endpoints for single object search and developed a web interface for displaying the information of the objects in the catalogue. I also used various libraries like Astropy, Numpy, and Matplotlib to provide a stamp size picture of the object from actual 3D-HST observations from FITS files (see example). Other tasks involved using jQuery for real-time JSON requests, and querying cone-search, near-position and object search from database. The project is still under development which can be visited here and will soon be public (open-source). Following are the links for reference:

Designed and developed new homepage

Example of single object search (API endpoint)

Example of single object search (Catalog front end)

SOCIS 2017 Project

Title

X-ray VIsibility Synthesis ImagiNg or Xray-VISION

Description

X-ray synthesis imaging is dependent upon deconvolution algorithms to counteract the sparse sampling in Fourier space. Synthesis imaging is often associated with large radio interferometric arrays but has also been used in X-rays. Specifically in the solar context in the past with Yohkoh/HXT, currently with RHESSI and in the future with Solar Orbiter/STIX. Numerous algorithms with different methodologies have been developed to solve this problem. The objective of this project is to create an affiliated package which will provide high-level access to generalised algorithms such as but not limited to:

  • CLEAN
  • Multiscale CLEAN
  • MEM
  • PIXON 1, 2.

This could be accomplished by creating pure python implementations (preferred), creating wrappers around existing implementations or a combination of both. This would facilitate the comparison of the existing methods as well as any new methods, it would also allow for ensemble reconstructions in the future.

Plan

I am planning to use Python 2.X/3.X for pure algorithm implementation. This will help us to integrate the resulting images with existing SunPy.map.Map Object in SunPy. It be well documented and tested within 3 months. I also plan to stay in contact with the mentor for the possibility to implement other advanced algorithms in the package.

Astronomy Knowledge needed

Stated: Fourier Transform knowledge nice to have but not essential

Currently, I have enrolled in course "IC 260 - Signals and Systems" (3 credits) in college. Topics like classification and properties of signals, continuous-time and discrete-time systems, convolution, Fourier series representation and properties, modulation Laplace and Z-transform. I think this course will help in better understanding and implementation of algorithms like CLEAN. I will also spend initial weeks in studying theoretical aspect with the help of the mentor.

Link to complete course information (PDF)

Benefits to the community

  • This will enable anyone to analyse solar and heliospheric data with minimum knowledge in programming.
  • It helps to solve problems in synthesis imaging by providing algorithms like CLEAN in Python which is emerging as popular and powerful language.
  • I can be found helpful for future missions like STIX (Solar Orbiter) which enables them to achieve mail science goals by providing free software with well documented reconstruction algorithms in Python.

STIX Instrument

  • This is an outstanding contributing for SunPy community by developing open source package extending features available.

Deliverables

Following objectives will be completed under this project:

  1. Create suitable representation for generalised visibilities
  2. Implement CLEAN with sufficient documentation and tests
  3. Integrate the resulting images with the existing SunPy sunpy.map.Map object
  4. Investigate implementation of the advanced method(s).

The final submission will also include complete documentation of image reconstruction algorithms implemented in this project by me.

Timeline

Week 1-2

  • Focus on theoretical aspect of the project and algorithms used.
  • Familiarize myself with SunPy.Map through documentation.
  • Update timeline and execution plan with the help feedback from the mentor.
  • To study testing, documentation (Docstring Convention) and coding standards that SunPy follows.

Week 3-4

  • Outline the implementation of various functions needed.
  • Begin implementing CLEAN in Python.
  • Begin to create suitable representation for generalised visibilities.

Week 5-6

  • Continue coding.
  • Begin writing relevant documentation and unit tests.
  • Start familiarizing with SunPy with the help of documentation.
  • Get continuous reviews and feedback from the mentor.

Week 7-8

  • Midterm review.
  • Continue coding.
  • Start working with sunpy.map.Map object and outline the integration.
  • Begin cleanup and continue debugging.

Week 9-10

  • Continue integration with sunpy.map.Map object.
  • Work on implementation of other advanced algorithms.
  • Finalize the features and code developed.
  • Document and test new features added.

Week 11-12

  • Clean up and optimize code.
  • Finish documentation, testing and debugging.
  • Write examples to facilitate understanding of implementation.

Beyond the project

I plan to stay in close contact with SunPy community and the mentor for further implementation of remaining advanced algorithms and discuss other possibilities. I will continue to be a part of SunPy community on Github after the summer.

All stages

At all stages, I keep maintaining documentation and tests for every feature added. I will keep the mentor informed about the progress and ask for continuous feedback and reviews. I will also work closely with whole community(SunPy) in general and my mentor.

Preferred working hours: (Indian Standard Time)

5PM to 3AM : Before June 10

10AM to 11PM : June 10 - August 10

5PM to 3AM : After August 10

Other commitments:

Before June 02 : College will take 15 hours per week

June 02 - June 09 : Final semester examination

June 10 - August 10 : Summer break and no other commitments

After August 10 : College will take 15 hours per week

Clone this wiki locally