Skip to content

SOCIS 2012 Ideas Page

ehsteve edited this page Jun 21, 2012 · 19 revisions

Image resampling algorithms: Digital image data are now commonly used throughout the field of solar physics. Many steps of image data analysis, including image co-alignment, perspective reprojection of the solar surface, and compensation for solar rotation, require re-sampling original telescope image data under a distorting coordinate transformation. The most common image re-sampling methods introduce significant, unnecessary flaws into the data. More correct techniques have been known in the computer graphics community for some time but remain little known within the solar community and hence deserve further presentation. Furthermore, image distortion under specialized coordinate transformations is a powerful analysis technique with applications well beyond image resizing and perspective compensation. The goal of this project is to implement fast, efficient, and flux-conserving coordinate transformation algorithms in SunPy. See this paper for reference. An implementation in perl already exists. Mentor: Craig DeForest?

Spectrum Object: The SunPy project is built upon a number of object which hold data such as the map object (for image data), the lightcurve object (for time series data), and the spectrum object (for spectral data). The goal of this project is to design and implement the spectrum object for SunPy. This object will need to be able to display its data in a basic plot form. It will also need to be able to convert from data (e.g. counts) to physical quantities (e.g. photons) through knowledge of the detector response (usually describes with a matrix). A number of physical models are also necessary to interpret spectra. Coding up efficient forms of these models can also be part of this project if time allows. Mentor: Richard Schwartz?

Light-curve object: Mentor: Jack Ireland

Map cube object: A map cube is an ordered set of two dimensional maps. The ordering can be by image observation time, Fourier frequency, or energy. The map cube object must be general enough to handle ordering by numerical quantities other than time. The map cube object can also provide the basis for animation. For example, in a set of time-ordered maps, running through them in time-order will animate a movie.

Movies and Animation: The Sun is a dynamic object, and so the capability to visualize its dynamism is very important. We require the ability to animate a map cube object, and to animate composites of maps. The matplotlib package has an animation module that looks like it can provide much of the movie playing capability we need.

Solarsoft Capabilities: some basic capabilities in Solarsoft should be reproduced in SunPy. For example, implementing a function that describes the latitudinal dependence of the rotation of the Sun is essential.

SunPy and High School: develop a one day course that introduces students to solar data analysis using SunPy. Will involve working on multiple parts of SunPy. Knowledge of science required, as well as experience with Python programming.

Downloading SDO data cutouts:

GOES object:

Porting of Critical software from SolarSoft

Description: SolarSoft is a software suite developed for IDL which already contains critical routines which are necessary for any basic analysis of solar data. Many of these routines must be ported to Python. This project aims to develop the basic framework of SunPy (coordinate transformations and projections, time manipulation, ephemeris calculations, etc.) which is currently based on IDL.
Requirements: Knowledge of IDL is necessary.
Mentor: Jack Ireland

JPEG 2000 in Python

Description: [http://en.wikipedia.org/wiki/JPEG_2000 JPEG 2000] is an image compression standard which has been developed to supersede the JPEG standard. It is currently being used by the [http://wiki.helioviewer.org/wiki/Main_Page Helioviewer project] to provide high-fidelity images of solar data for purposes of browsing data quickly and with limited bandwidth. The first goal of this project is to write a wrapper around the [http://www.openjpeg.org/ OpenJPEG C library] in order to be able to open JPEG 2000 files from Python. Next, network code must be developed to hook into the [http://helioviewer.org/api Helioviewer API] to request and download data from their archives.

Requirements: Knowledge of C is necessary.
Mentor: Keith Hughitt

The Virtual Solar Observatory & Heliophysics Integrated Observatory

Description: The ''[http://www.virtualsolar.org/ Virtual Solar observatory]'' (VSO) is a web service which provides a centralized location to search for solar data of most any type. The VSO has an [http://www.virtualsolar.org/API API] which provides the capability to build your own interface to the VSO. The goal of this project is to develop a Python interface to the VSO. The ''[http://helio-vo.eu/ Heliophysics Integrated Observatory]'' (HELIO) on the other hand is a similar project, but it also provides access to catalogs and event information, allows sciencists to run remotely high-demanding algorithms (e.g. propagation models of blobs of plasma ejected from the sun through the solar system). The second goal of this project would be to develop the Python client to connect to the different services offered by HELIO.
Requirements: Knowledge of Python required; knowledge of web services (SOAP, REST) preferred.
Mentor: Joe Hourclé and David Pérez-Suárez

STIX Simulations

Description: STIX is an instrument on [http://sci.esa.int/science-e/www/area/index.cfm?fareaid=45 Solar Orbiter] an ESA Cosmic Vision Mission currently in development. The primary goal of Solar Orbiter is to understand how the Sun creates and controls the heliosphere. STIX will provide imaging spectroscopy of solar thermal and non-thermal X-ray emission. Through such measurements, STIX will provide quantitative information on the timing, location, intensity, and spectra of accelerated electrons as well as of high temperature thermal plasmas, mostly associated with flares. The goal of this project is to develop simulations of the count rates which will be detected by STIX over the course of its orbit around the Sun. These simulations will be based on past data provided by the RHESSI spacecraft which is currently in orbit. These simulations tools will become the foundation of a suite of open source simulation tools for designing future missions.
Requirements: Some scientific knowledge in X-ray astronomy is preferred.
Mentor: Säm Krucker

The PrepServer

Description: Many solar data products are provided in raw form such that the calibration can be performed by the end user. This gives a certain amount of flexibility for the user but also makes it necessary for users to have access to large up to date calibration files which are necessary to perform the calibration. The PrepServer is a service which handles data calibration in the cloud maintaining flexibility but removing the onus from the user to download and maintain the software and datafiles necessary to perform the calibration. The goal of this project is to develop the software in Python to connect with the PrepServer through its API.
Requirements: Knowledge of Java and web services (WSDL, SOAP, etc.) is required.
Mentor: Laszlo Etesi

Plotman GUI

Description: The goal of this project is to develop a standardized interface to plots such as that of lightcurves, spectrograms, or images. Such a tool would provide basic functionality to interact with the plots contained therein such as overlaying multiple images or comparing light curves to each other. This GUI interface could be written in either Tkinter or PyQT.
Requirements: Basic knowledge of GUI interface design.
Mentor: Steven Christe

HEK connectors

Description: The immense volume of data generated by the suite of instruments on SDO has required new tools to efficiently identify and accessing data that is most relevant to research investigations. The [http://www.lmsal.com/hek/ Heliophysics Events Knowledgebase (HEK)] was developed to fill this need. The HER (Heliophysics Event Registry) system allows for submission of events and features found via automated data mining using feature-detection methods or detected ad-hoc. The HCR (Heliophysics Coverage Registry) contains instrument pointings and movies generated via the LMSAL cutout service. [http://www.lmsal.com/hek/api.html Web services] and clients are provided for submitting items, searching the resulting metadata, and reviewing results. The goal of this project is to create a Python interface to these services.
Requirements: Familiarity with Python and web services (REST)
Mentor: David Pérez-Suárez; (with possible addition of subject matter expert Ankur Somani)

SDO JSOC Connector

Description: The Solar Data Observatory's [http://jsoc.stanford.edu/ Joint Science Operations Center] is the authoritative source for data from the Atmospheric Imaging Assembly (AIA) and Helioseismic and Magnetic Imager (HMI). Although most AIA and HMI data is available through the VSO, the JSOC's Data Records Management System (DRMS) contains additional lower-level data, and can support more complex queries that are used in helioseismology. A [http://jsoc.stanford.edu/jsocwiki/AjaxJsocConnect RESTful webservice] is available to query the authoritative system, and a [http://jsoc.stanford.edu/jsocwiki/JsocDataAccess C API] exists to talk to [http://vso.stanford.edu/netdrms/ a local DRMS instance], such as the [http://vso.stanford.edu/netdrms/site_codes.html six mirrors in Europe].
Requirements: Knowledge of C required. Knowledge of web services (REST) preferred.
Mentor: Joe Hourclé; (with possible addition of subject matter experts Art Amezcua and/or Igor Suárez Solá)

SDO Cutout Service

Description: As part of the Heliophysics Coverage Registry (HER) Lockheed Martin Solar and Astrophysics Laboratory provides a [http://www.lmsal.com/get_aia_data/ ''cutout'' service] to access SDO/AIA data. This service reduces bandwidth costs by allowing users to request subsamples of full Sun images. This service also connects to the HEK so that users can find cutouts that others have made reducing the number of cutouts which need to be created. This service provides an API. The goal of this project is to create an interface to this service in Python as well as a GUI tool to choose the area of the cutout.
Requirements: Knowledge of web services preferred.
Mentor: Joe Hourclé (with possible addition of subject matter expert Ankur Somani)

SunPy and cloud computing

Description: The goal is to allow solar scientists to handle large-scale SunPy processing more easily and more quickly than is possible on a single desktop PC. This is particularly important for independent researchers who may not have access to institutional computing services. The developer would extend SunPy to use [http://libcloud.apache.org/ libcloud] to provide the ability to run processing code at a large scale on private/public clouds. Related to this, the developer would create a virtual machine image containing SunPy libraries for use in the cloud.
Requirements: Some prior virtualization / cloud computing experience would be useful.
Mentor: David O'Callaghan (Trinity College Dublin)

High level image processing

Description: Many of the image processing techniques used in solar physics are common in many other fields, and packages has been built for those like [http://opencv.willowgarage.com/wiki/ OpenCV] or [http://www.pythonware.com/products/pil/ PIL]. The goal of this project is to port the functionality of those packages to SunPy so to apply them on solar images.
Requirements: Familiarity with image processing concepts and image processing packages.
Mentor: Alex Young

Blue Sky Ideas

Description: [http://jhelioviewer.org/ JHelioviewer] is client software for the [http://www.helioviewer.org/wiki Helioviewer Project], solar image visualization and data access project. JHelioviewer is a Java-based client that provides data browsing capabilities, image overlaying, and can quickly make movie of these images as a function of time. This blue-sky project consists of porting the JHelioviewer client to Python and extending its capabilities.

Mentors

  • Steven Christe (NASA GSFC, USA)
  • Keith Hughitt (NASA GSFC, USA)
  • André Csillaghy (FHNW, CH)
  • Laszlo Etesi (FHNW, CH)
  • Säm Krucker (FHNW, CH)
  • Jack Ireland (NASA GSFC, USA)
  • Alex Young (NASA GSFC, USA)
  • Joe Hourclé (NASA GSFC, USA)
  • David Pérez-Suárez (TCD, Ireland)
  • David O'Callaghan (TCD, Ireland)

Clone this wiki locally