Our Project: https://www.spaceappschallenge.org/nasa-space-apps-2024/find-a-team/demarianos
Challenge: Seismic Detection Across the Solar System
Demo: https://youtu.be/zQr-R8JKsFI?si=UQSVEVJu8SyPRt_G
Members:
Enzo Benko Giovanni (Team Owner)
Only a fraction of seismic data on Planetary Seismology is useful and missons struggle with the power requirements to send data back to Earth. With this in mind, we developed an algorithm that is capable to discern when start and when to stop the recordings. Our focus on this project was to use the heatmaps images generated from the FFTs of the velocity signals of seismic events on the Moon and Mars to predict their arrival time.
The results are available in the file "catalog.csv" it describes the results of the test dataset from the Space Apps 2024 Seismic Detection Data Packet in the following way: "Index, filename, time_rel(sec)".
In order to be able to follow the data generation of the heatmaps, be sure you have added the "earth" folder contained in the "earth.zip" file to the "data" folder available on the 2024 Space Apps Hackthon usefull links section. The earth files were generated from the pyweed files. To generate the heatmaps we coded the "heatmap_and_arrival_time_gen.py" and "test_heatmap_gen.py". Those scripts require access to the "data". In order to make the access to the data those scripts generate easier, the output of the scripts metioned are all ZIPped in the generated_data.zip file. The arrival times csv used in the training were generated by those script as well.
Using the heatmap images and arrival time files generated in the previous topic, a CNN was trained and the test predictions are listed in the "catalog.csv" file.
At the "Fourier View", a class named "fourier_and_heatmap.py" was created in order to simplify the viewing of the file data in the Fourier space. With this class you can properly calculate the FFT and plot it graphs and the heatmaps (in 2d and 3d). An example of how to do it is presented at the "using_fourier.py" file.
The "Tests" folder contains the first files that motivated this analysis. Because of it we could determine that the Frequency of 1Hz was a good parameter for denoising (such as filtering).
PyWEED was used in order to provide new data. The file "pyweed.zip" contains the generated data in the '.mseed' format. The file "pyweedv2.zip" contains the same information, but in the '.sac' format. Only the '.mseed' files were used in this project, but since the others could be useful we choose to keep them.
The notebook "Trigger_Parameters.ipynb" was used to understand and visualize the raw data collected from the SAGE dataset and the trigger algorithms of the ObsPy library. This notebook was extremely useful to develop the logic and the way to preprocess the data.
The file "calculate_event_times.py" provides the earth_catalog.csv to further understand the data and train the neural network. It works by iterating the Pyweed archives in the directory and filtering the data with the high pass filter, after filtering, it applies the trigger algorithms in the data, thus adding the event time to the data.