-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 2019 SunPy projects #184
Merged
Merged
Changes from 5 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
b800484
first pass of new projects
nabobalis 617514a
Update _projects/2019/sunpy/ndcube_ape14.md
Cadair 2613b92
Update sunkit_image_draft.md
nabobalis 83b0c32
Update sunkit_image_draft.md
nabobalis 2b77fba
Update mag_field_draft.md
nabobalis 3f7e912
Update mag_field_draft.md
nabobalis f4039dc
Update helioviewer_draft.md
nabobalis 44761c3
Rename helioviewer_draft.md to helioviewer.md
nabobalis 74c164b
Rename mag_field_draft.md to mag_field.md
nabobalis 86f5e6c
Rename sunkit_image_draft.md to sunkit_image.md
nabobalis File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
--- | ||
name: HelioViewer Python API Wrapper | ||
desc: Creating a full Python wrapper for https://api.helioviewer.org/docs/v2/. | ||
# add a description of your project | ||
requirements: | ||
- Familiarity with Python | ||
- Some familiarity with Unirest/HTTP requests (ideally) | ||
difficulty: medium | ||
issues: | ||
- https://github.com/sunpy/sunpy/issues/2860 | ||
- https://github.com/sunpy/sunpy/issues/2762 | ||
- https://github.com/sunpy/sunpy/issues/2878 | ||
mentors: | ||
- FIND SOMEONE MAYBE | ||
initiatives: | ||
- GSOC | ||
- SOCIS | ||
tags: | ||
- python | ||
collaborating_projects: | ||
- sunpy | ||
--- | ||
|
||
#### Description | ||
|
||
This project aims to design and implement a low level Python wrapper around the | ||
unirest API provided by the HelioViewer Project. This would create a new affiliated SunPy package (name up for suggestions). | ||
|
||
Currently SunPy has a `HelioviewerClient` that implements only a handful of the available API. | ||
They are `getClosestImage`, `getJP2Image` and `takeScreenshot` from the Helioviewer API and you can see our code [here.](https://github.com/sunpy/sunpy/blob/master/sunpy/net/helioviewer.py) | ||
|
||
What we want to do is to create a new Python package that will lightly wrap every aspect of the HelioViewer API allowing anyone to create their own helioviewer.org like GUI in Python (this could be part of the project but will depend on the progress). | ||
|
||
To facilitate this, we will need to remove the current code from SunPy and move it to the new affiliated package. | ||
#### Secondary goals | ||
|
||
* Start on a GUI-like interface for the new package, if time permits. | ||
|
||
#### Milestones | ||
|
||
##### Coding starts | ||
|
||
* Engaged with the community and understand the motivation and challenges of the project. | ||
* Have set up a development environment. | ||
|
||
##### To be completed by the Phase 1 Evaluation Deadline | ||
|
||
* Have 33% of the API wrapped. | ||
* Have all code, tests and documentation in GitHub. | ||
|
||
##### To be completed by the Phase 2 Evaluation Deadline | ||
|
||
* Have 66% of the API wrapped. | ||
* Have all code, tests and documentation in GitHub. | ||
|
||
##### To be completed by the end of GSoC | ||
|
||
* All of the API is wrapped within the package. | ||
* Have all code, tests and documentation in GitHub. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
--- | ||
name: Expand the scope of solarbextrapolation. | ||
desc: Add more numerical models and generalize magnetic field extrapolation to spherical coordinates. | ||
requirements: | ||
- Knowledge of vector calculus and differential equations | ||
- Familiar with numerical methods | ||
- Some familiarity with electromagnetism, MHD, potential/force-free magnetic fields (optional) | ||
difficulty: intermediate | ||
issues: | ||
- https://groups.google.com/forum/#!topic/sunpy/ZLu_HoX_lbc | ||
- https://github.com/sunpy/solarbextrapolation/issues/12 | ||
mentors: | ||
- Alex-Ian-Hamilton | ||
- FIND SOMEONE TO SUPPORT | ||
initiatives: | ||
- GSOC | ||
- SOCIS | ||
initiatives: | ||
- GSOC | ||
- SOCIS | ||
tags: | ||
- python | ||
- cython | ||
- numpy | ||
- numba | ||
collaborating_projects: | ||
- sunpy | ||
--- | ||
|
||
#### Description | ||
|
||
This project aims to improve the `solarbextrapolation` package by relaxing the small-angle approximation and allowing for extrapolation of global magnetic fields, i.e. 3D vector fields on a scale larger than an active region. | ||
Furthermore, we want to add support for another numerical model called Potential Field Source Surface ([PFSS](https://github.com/antyeates1983/pfss)). | ||
|
||
This will involve extensive modifications to the numerical method used to perform the field extrapolation as well as developing methods for coordinate transformations between the magnetogram coordinate system and the spherical coordinate system of the derived vector field. | ||
|
||
The main challenge of this project will be creating a general 3D Map class similar to [`Map`](http://docs.sunpy.org/en/stable/code_ref/map.html) in SunPy. | ||
Currently, the `solarbextrapolation` package uses a Map3D class that is limited to Cartesian coordinates and has no support for coordinate transformations. This new Map3D class will have support for 3D coordinates through the use of the [SunPy coordinates module](http://docs.sunpy.org/en/stable/guide/units-coordinates.html#physical-coordinates-in-sunpy) | ||
It is expected that this new object will serve as a prototype for a first-class data type in the core SunPy package. | ||
|
||
#### Milestones | ||
|
||
##### Coding starts | ||
|
||
* Engaged with the community and understand the motivation and challenges of the project. | ||
* Have set up a development environment. | ||
|
||
##### To be completed by the Phase 1 Evaluation Deadline | ||
|
||
* Add PFSS modelling to the package. | ||
* Have all code, tests and documentation in GitHub. | ||
|
||
##### To be completed by the Phase 2 Evaluation Deadline | ||
|
||
* Develop a coordinate-aware 3D Map class | ||
* Have all code, tests and documentation in GitHub. | ||
|
||
##### To be completed by the end of GSoC | ||
|
||
* Use 3D Map class for global field extrapolations | ||
* Have all code, tests and documentation in GitHub. | ||
* Improvements to the documentation and examples | ||
|
||
##### Secondary goals | ||
|
||
* Performance improvements | ||
* Addition of more advanced extrapolators, e.g. non-linear force-free field | ||
* Better visualization methods |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- | ||
name: Region of Interest | ||
desc: Meta-Object creation for holding temporal and spatial features. | ||
# add a description of your project | ||
requirements: | ||
- Familiarity with Python | ||
- Understanding of design patterns | ||
difficulty: High | ||
issues: | ||
- https://github.com/sunpy/sunpy/issues/164 | ||
- https://github.com/sunpy/sunkit-image/issues/2 | ||
mentors: | ||
- FIND SOMEONE MAYBE | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
initiatives: | ||
- GSOC | ||
- SOCIS | ||
tags: | ||
- python | ||
collaborating_projects: | ||
- sunpy | ||
--- | ||
|
||
#### Description | ||
|
||
This project aims to design and implement an object that could be used to define a Region Of Interest (ROI) in any physical dimension (such as spatial area, temporal range or spectral window) and interact with the rest of data types used in SunPy. | ||
|
||
For example, a region of interest could be a particular area in the Sun at a particular moment in time. | ||
Therefore, that object should contain the extent of such area, its contour and the time when it was observed. | ||
It also needs other information, such as the coordinate system that it uses, the image from which it was created and the wavelength | ||
in which was observed. | ||
|
||
That region of interest should interact with the data types available in sunpy like [`sunpy.Map`](https://github.com/sunpy/sunpy/tree/master/sunpy/map) by plotting the box containing such region and being aware of difference in time or observational point. | ||
So, it needs to be spatial and temporal aware. | ||
|
||
Additionally, the object needs to understand (be able to parse in) features and events catalogued in the [HEK](http://www.lmsal.com/hek/hek_isolsearch.html) and [HELIO](http://hfc.helio-vo.eu/) databases. | ||
|
||
It is often useful to interactively select a region on an image using a mouse. | ||
For example, a user might want to outline a particular region in an image, extract that region only, or integrate the emission in that region. | ||
It would be interesting if we could supply the capability to interactively select a region and return the co-ordinates of the selected region. | ||
This might be extra work at the end, if time permits. | ||
|
||
#### Milestones | ||
|
||
##### Coding starts | ||
|
||
* Engaged with the community and understand the motivation and challenges of the project. | ||
* Have set up a development environment. | ||
|
||
##### To be completed by the Phase 1 Evaluation Deadline | ||
|
||
* Fill in. | ||
* Have all code, tests and documentation in GitHub. | ||
|
||
##### To be completed by the Phase 2 Evaluation Deadline | ||
|
||
* Fill in. | ||
* Have all code, tests and documentation in GitHub. | ||
|
||
##### To be completed by the end of GSoC | ||
|
||
* Fill in. | ||
* Have all code, tests and documentation in GitHub. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
--- | ||
name: Develop sunkit-image | ||
desc: Add features to a new package for solar image analysis. | ||
requirements: | ||
- Good understanding of Python. | ||
- Some understanding of mathematics. | ||
- Enthusiasm to learn image processing. | ||
difficulty: medium | ||
issues: | ||
- https://github.com/sunpy/sunkit-image/issues/1 | ||
- https://github.com/sunpy/sunkit-image/issues/3 | ||
- https://github.com/sunpy/sunkit-image/issues/5 | ||
- https://github.com/sunpy/sunkit-image/issues/6 | ||
- https://github.com/sunpy/sunkit-image/issues/7 | ||
- https://github.com/sunpy/sunkit-image/issues/9 | ||
- https://github.com/sunpy/sunkit-image/issues/10 | ||
- https://github.com/sunpy/sunkit-image/issues/13 | ||
mentors: | ||
- nabobalis | ||
- wafels | ||
initiatives: | ||
- GSOC | ||
- SOCIS | ||
tags: | ||
- python | ||
- numpy | ||
- cython | ||
collaborating_projects: | ||
- sunpy | ||
--- | ||
|
||
#### Description | ||
|
||
There have been various proposals for adding image processing and manipulation code to the SunPy library. | ||
SunPy has decided that this functionality will instead reside in an affiliated package, named [sunkit-image.](https://github.com/sunpy/sunkit-image/) | ||
This project will implement the initial functionality with a broad scope. | ||
|
||
We have a range of open issues that form the starting core of the project and contain more concreate steps and information about each feature. | ||
|
||
This project should achieve most or all of the following goals (roughly in this order): | ||
|
||
1. Implement the [normalizing-radial-graded filter (NRGF)](http://adsabs.harvard.edu/abs/2006SoPh..236..263M). | ||
2. Port the Multi-Scale Gaussian Normalisation (MGN) code from [#1899](https://github.com/sunpy/sunpy/pull/1899). | ||
3. Implement the [OCCULT-2 algorithm](http://arxiv.org/abs/1307.5046) for coronal loop tracing. | ||
4. Implement image re-sampling as described [here](https://link.springer.com/content/pdf/10.1023/B:SOLA.0000021743.24248.b0.pdf) through updating [this pull request](https://github.com/astropy/reproject/pull/52) to the Astropy [image resampling](https://reproject.readthedocs.io/en/stable/) repository. | ||
5. Implement the [soft morphological filtering of solar images](https://www.aanda.org/articles/aa/pdf/2006/38/aa4852-06.pdf) | ||
|
||
There are more complex feature we would like but will only be looked at once the previous features have been implemented. | ||
|
||
6. Refactor and write a Python wrapper for [FLCT](https://arxiv.org/abs/0712.4289) [code](http://solarmuri.ssl.berkeley.edu/overview/publicdownloads/software.html). | ||
7. Implement image alignment using feature detection and tracking. [Example](http://scikit-image.org/docs/dev/auto_examples/features_detection/plot_brief.html) | ||
8. Have developed an outline of the implementation of the image resampling code in the context of the Astropy [reproject](https://github.com/astropy/reproject) module. | ||
|
||
#### Milestones | ||
|
||
##### Coding starts | ||
|
||
* Have familiarized yourself with the algorithms. | ||
* Have set up a development environment. | ||
|
||
##### To be completed by the Phase 1 Evaluation Deadline | ||
|
||
* Have implemented, tested and documented the NRGF code. | ||
* Have implemented, tested and documented the MGN code. | ||
|
||
##### To be completed by the Phase 2 Evaluation Deadline | ||
|
||
* Have successfully merged the NRGF and MGN code. | ||
* Have implemented OCCULT-2. | ||
|
||
##### To be completed by the end of GSoC | ||
|
||
* Have tested, documented and merged the OCCULT-2 code. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would be ok to mentor this one, @wafels would the helioviewer developer be able to help on this one?