diff --git a/spectral_classifier_full/download_fits.ipynb b/spectral_classifier_full/download_fits.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..23d6e4b6684efd98cab301874fdf60c697c85837 --- /dev/null +++ b/spectral_classifier_full/download_fits.ipynb @@ -0,0 +1,112 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import sys\n", + "import os\n", + "import subprocess\n", + "import astropy.io.fits as pyfits\n", + "\n", + "sdss_path = 'https://data.sdss.org/sas/dr16/sdss/spectro/redux/26/spectra/'\n", + "boss_path = 'https://data.sdss3.org/sas/dr12/boss/spectro/redux/v5_7_0/spectra/'\n", + "\n", + "from astroquery.sdss import SDSS\n", + "from astropy.coordinates import SkyCoord # High-level coordinates\n", + "from astropy.coordinates import ICRS\n", + "import astropy.units as u\n", + "import requests\n", + "\n", + "########## Input ##########\n", + "\n", + "targer_directory = 'F:\\data\\spectral_fits_big\\\\'\n", + "class_names = ['star','galaxy', 'QSO', 'AGN'] \n", + "\n", + "## Queries für star, galaxy, quasar und AGN\n", + "query1 = \"SELECT top 1100 plate, mjd, min(fiberid) as fiberid, class FROM SpecObj WHERE class = 'star' GROUP BY plate, mjd, class ORDER BY plate, mjd, class\"\n", + "query2 = \"SELECT top 1100 plate, mjd, min(fiberid) as fiberid, class FROM SpecObj WHERE class = 'galaxy' AND subClass != 'AGN' GROUP BY plate, mjd, class ORDER BY plate, mjd, class\"\n", + "query3 = \"SELECT top 1100 plate, mjd, min(fiberid) as fiberid, class FROM SpecObj WHERE class = 'QSO' AND subClass != 'AGN' GROUP BY plate, mjd, class ORDER BY plate, mjd, class\"\n", + "query4 = \"SELECT top 1100 plate, mjd, min(fiberid) as fiberid, class FROM SpecObj WHERE subClass = 'AGN' GROUP BY plate, mjd, class ORDER BY plate, mjd, class\"\n", + "\n", + "########## Program ##########\n", + "\n", + "queries = [query1, query2, query3, query4]\n", + "\n", + "for i in range(4):\n", + "\n", + " sdss = SDSS.query_sql(queries[i])\n", + "\n", + " speclist = open('speclist.txt', 'w')\n", + "\n", + " for plate, mjd, fiberid in zip(sdss['plate'],sdss['mjd'],sdss['fiberid']):\n", + "\n", + " speclist.write(\"%04d/spec-%04d-%d-%04d.fits \\n\" %(plate, plate, mjd, fiberid))\n", + "\n", + " speclist.close()\n", + "\n", + " with open('speclist.txt', 'r') as f:\n", + "\n", + " names = f.readlines()\n", + "\n", + " for item in names:\n", + "\n", + " name = item[:-2]\n", + " url = sdss_path + name\n", + " r = requests.get(url)\n", + "\n", + " target_file = targer_directory + class_names[i] + '\\\\' + name[5:]\n", + "\n", + " with open(target_file,'wb') as f:\n", + "\n", + " f.write(r.content)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "import requests\n", + "url = \"https://data.sdss.org/sas/dr16/eboss/spectro/redux/v5_13_0/platelist.fits\"\n", + "r = requests.get(url)\n", + "\n", + "with open(\"platelist.fits\",'wb') as f:\n", + " f.write(r.content)\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}