PyThea is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO) and Solar Terrestrial Relations Observatory (STEREO).
Note
The lead author of PyThea (A. Kouloumvakos) has been awarded a NASA Grant (80NSSC24K0071) for further developing and improving PyThea, during fiscal year 2024. The awarded proposal is part of the NASA Headquarters Heliophysics Tools and Methods Program in response to NASA ROSES–2022 (NNH22ZDA001N). The proposed software enhancements and new features encompass a range of improvements, including but not limited to: improved code documentation, expanded and improved code testing, improved image processing and visualization, and the incorporation of new solar mission imaging data.
We recommend, creating a virtual environment for PyThea and installing the package from PyPI using pip
.
If you use Anaconda or Miniconda (which we also recommend) you can create a virtual environment using conda
and then install PyThea using from PyPI using pip
. In the terminal do the following:
# Create a virtual environment. Use python>3.9
conda create --name PyThea python=3.10
# Activate the environment
conda activate PyThea
# install the required packages using pip3
pip3 install PyThea
# Run locally the application with streamlit (see also the section "Run locally the PyThea application" )
PyThea streamlit
# When you are done you can deactivate the virtual environment
conda deactivate
If conda
is not your favorite way of creating a virtual environment in python, then you can manually create it and install PyThea with pip
as previously shown. For example, you can do the following:
# Create a virtual environment.
python3 -m venv PyThea
# Activate the environment
source PyThea/bin/activate
# install the required packages using pip3
pip3 install PyThea
# Run locally the application with streamlit (see also the section "Run locally the PyThea application" )
PyThea streamlit
# When you are done you can deactivate the virtual environment
deactivate
At the directory where the terminal is open, this method will create a folder named /PyThea
and install PyThea and all the required packages inside.
To update the package to the latest version activate the environment first and then:
# Update _PyThea_ using pip3
pip3 install PyThea -U
One way to see witch version is installed in your environment is to open a python session and do:
import PyThea
PyThea.__version__
You can also see the verion used and the latest version on the main page of the application.
After installing PyThea software package you can run the application using the terminal.
If the environment is not active then use conda activate PyThea
or source PyThea/bin/activate
to activate this and then run PyThea with
PyThea streamlit
The application should now open in the default browser!
Deactivate the environment when you finish.
If there is an error when running PyThea streamlit
then you can manually run PyThea following these steps:
-
Locate where PyThea_app.py have been instaled. This is usually inside the anaconda3 enviroment folder. For example here
~/opt/anaconda3/envs/PyThea/lib/python3.9/site-packages/PyThea
-
Then run the PyThea_app.py using:
streamlit run <PyTheaRootDir>/PyThea_app.py
replacing <PyTheaRootDir> with your path first.
Complete documentation of the PyThea can be found in https://www.pythea.org/.
- SunPy: The community-developed, free and open-source solar data analysis environment for Python.
- AstroPy: The Astropy Project is a community effort to develop a single core package for Astronomy in Python.
- gcs_python: An implementation of the Graduated Cylindrical Shell model in python.
If you use PyThea for scientific work or research presented in a publication, please mention it in the main text and cite PyThea paper (see Paper or ADS). Additionally, add in the methods or acknowledgements section the following: "This research has made use of PyThea v?.?.?, an open-source and free Python package to reconstruct the 3D structure of CMEs and shock waves (Zenodo: https://doi.org/10.5281/zenodo.5713659)." and changing the v?.?.? to the version you have used. To acknowledge PyThea in posters or talks include the project logo or icon. PyThea has a strong dependency on SunPy and AstroPy Python packages, consider citing these packages as well.
In Greek mythology, Thea, also called Euryphaessa "wide-shining", is the Titaness of sight and the shining light of the clear blue sky. Her brother/consort is Hyperion, a Titan and god of the sun, and together they are the parents of Helios (the Sun), Selene (the Moon), and Eos (the Dawn).