{ "cells": [ { "cell_type": "code", "execution_count": 2, "id": "d2c839fb", "metadata": {}, "outputs": [ { "data": { "image/png": "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Tz/9JMOHD5d27dqJi4uLdOnSRebNmydqtVpv39zcXJk3b57ce++94ufnJ05OTtKhQwdJSkqSjRs3Gm3j2bNnZerUqRIRESEuLi4SHBwsCQkJRttX90PrjY/6vPDCCwJAduzYUW/dxrRJa9euXTJgwADx8vISDw8P6dmzpyxbtkx27typ185HH3203vPf6MiRIwJAOnfubLJOVVWVeHt7CwDJy8sze7yTJ0/Kww8/rMsoJCRExo8fL9u3bzfI3pjmeC7rLrRd93HjAuMNPZ6p14p2sBseHm6wzVh/6+bq5eUlcXFxsnHjRl2uiYmJRvs9a9YsCQ0NFWdnZ7nllltkxowZUlNTY7V23ai+Ad348eMFgIwaNareY4mILFmyRABIRESEwWueAzoiagqVSDNPN0VERERUj++++w7Dhw/HiBEjsH79+tZuDnJyctCxY0cAzT8z5+7du5GYmIjw8HDk5OQ067mIyP7wHjoiIiJqEWvXrsVvv/1mdJu2/Pbbb2/JJhERKR7XoSMiIqIWsWzZMnTs2NFgoh+1Wo20tDQ4OTmZnBSmNXl5eQG4vq6gdpmQpjpy5AgSExMBNM+C50R08+CAjoiIiFpMWloaAgIC8Pjjj6Ndu3b4448/8M477+DUqVNYtGiR1da9a6rQ0FCcPn1ar8yai5bfdtttBrN9Ojs7W+34RHTz4D10RERE1CKOHDmCtWvXYteuXcjLy0NhYSHatm2LuLg4vPTSS7q16oiIqOE4oCMiIiIiIlIoTopCRERERESkUBzQERERERERKRQHdERERERERArFAR0REREREZFCcUBHRERERESkUBzQERERERERKRQHdERERERERArFAR0REREREZFCcUBHRERERESkUBzQERERERERKdT/AQTHX2QdliXNAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import glob\n", "import h5py\n", "import numpy as np\n", "import torch\n", "import matplotlib.pyplot as plt\n", "\n", "plt.rcParams.update({\n", " \"font.size\": 14,\n", " \"axes.labelsize\": 16,\n", " \"axes.titlesize\": 18,\n", " \"xtick.labelsize\": 14,\n", " \"ytick.labelsize\": 14,\n", " \"legend.fontsize\": 14,\n", " \"figure.figsize\": (10, 4), \n", " \"text.usetex\": False, \n", " \"font.family\": \"serif\"\n", "})\n", "\n", "data_path_list = glob.glob('/home/dell461/ljm/DATA_other/AstroM3/Dataset/images/desispec/data/healpix=573/001-001.hdf5')\n", "assert len(data_path_list) > 0, \"未找到 HDF5 文件\"\n", "\n", "wave_obs = torch.linspace(3600.0, 9824.0, 7781, dtype=torch.float64).numpy() # 转为 NumPy 便于绘图\n", "\n", "fig, ax = plt.subplots(figsize=(10, 4))\n", "\n", "with h5py.File(data_path_list[0], \"r\") as data:\n", " flux = data[\"spec\"][4067][:]\n", " redshift = data['z'][4067]\n", " ax.plot(wave_obs, flux, color='black', linewidth=0.8)\n", "\n", "ax.set_xlabel(r\"Observed Wavelength [$\\mathrm{\\AA}$]\", fontsize=16)\n", "ax.set_ylabel(r\"Flux ($10^{-17}$ erg s$^{-1}$ cm$^{-2}$ \\AA$^{-1}$)\", fontsize=16)\n", "ax.set_title(f\"DESI Spectrum (Redshift: $z = {redshift:.4f}$)\", fontsize=18)\n", "ax.grid(True, linestyle='--', alpha=0.5)\n", "# ax.set_xlim(3600, 9824)\n", "\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "c2ee1edd", "metadata": {}, "outputs": [], "source": [ "import tqdm\n", "import pandas as pd\n", "import h5py\n", "import numpy as np\n", "import glob\n", "\n", "\n", "data_path_list = glob.glob(\"/home/dell461/ljm/DATA_other/AstroM3/Dataset/images/desispec/*/*/*.hdf5\")\n", "\n", "all_ra = []\n", "all_dec = []\n", "all_filenames = []\n", "all_indices = []\n", "\n", "for data_path in tqdm.tqdm(data_path_list):\n", " try:\n", " with h5py.File(data_path, \"r\") as data:\n", " ra = np.array(data[\"ra\"])\n", " dec = np.array(data[\"dec\"])\n", " n = ra.shape[0]\n", " all_ra.extend(ra)\n", " all_dec.extend(dec)\n", " all_filenames.extend([data_path.replace(\"/home/dell461/ljm/DATA_other/\",\"\")] * n) \n", " all_indices.extend(np.arange(n)) \n", " except:\n", " pass \n", "\n", "output_df = pd.DataFrame({\n", " \"filename\": all_filenames,\n", " \"index_in_file\": all_indices,\n", " \"ra\": all_ra,\n", " \"dec\": all_dec\n", "})\n", "\n", "output_csv_path = \"/home/dell461/ljm/DATA_other/AstroM3/Dataset/images/desispec/desispec_ra_dec_with_source.csv\"\n", "output_df.to_csv(output_csv_path, index=False)\n", "\n", "print(f\"共处理 {len(output_df)} 条记录,已保存至 {output_csv_path}\")" ] }, { "cell_type": "code", "execution_count": null, "id": "33d1ca5c", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import h5py\n", "import numpy as np\n", "from astropy.coordinates import SkyCoord\n", "from astropy import units as u\n", "import glob\n", "import os\n", "\n", "# 全局缓存索引(避免重复读取)\n", "_index_df = None\n", "_index_coords = None # SkyCoord 对象,用于快速匹配\n", "\n", "def load_index(csv_path=\"/home/dell461/ljm/DATA_other/MultimodalUniverse/dataset/desispec/desispec_ra_dec_with_source.csv\"):\n", " global _index_df, _index_coords\n", " if _index_df is None:\n", " print(\"Loading index CSV...\")\n", " _index_df = pd.read_csv(csv_path)\n", " _index_coords = SkyCoord(\n", " ra=_index_df['ra'].values * u.deg,\n", " dec=_index_df['dec'].values * u.deg,\n", " frame='icrs'\n", " )\n", "\n", " return _index_df, _index_coords\n", "\n", "def get_spectrum_by_ra_dec(ra, dec, tolerance_arcsec=2.0):\n", " \"\"\"\n", " 根据输入的 RA/Dec(单位:度),在 DESI 光谱数据集中查找匹配源,\n", " 并返回其光谱、红移、文件路径等信息。\n", "\n", " Parameters:\n", " ra (float): Right Ascension in degrees.\n", " dec (float): Declination in degrees.\n", " tolerance_arcsec (float): 匹配容忍角距离(默认 2 角秒)。\n", "\n", " Returns:\n", " dict or None: 包含以下键的字典:\n", " - 'filename': HDF5 文件路径\n", " - 'index_in_file': 文件内索引\n", " - 'ra', 'dec': 实际匹配到的坐标\n", " - 'z': 红移\n", " - 'spec': 光谱数组 (flux)\n", " - 'wave_obs': 波长数组(Å)\n", " 若未找到匹配,则返回 None。\n", " \"\"\"\n", " df, coords = load_index()\n", " \n", " query_coord = SkyCoord(ra=ra * u.deg, dec=dec * u.deg, frame='icrs')\n", " \n", " sep = query_coord.separation(coords).arcsecond\n", " \n", " min_idx = np.argmin(sep)\n", " min_sep = sep[min_idx]\n", " \n", " if min_sep > tolerance_arcsec:\n", " print(f\"No match within {tolerance_arcsec} arcsec. Closest: {min_sep:.2f} arcsec.\")\n", " return None\n", " \n", " match_row = df.iloc[min_idx]\n", " filename = match_row['filename']\n", " index_in_file = int(match_row['index_in_file'])\n", " matched_ra = match_row['ra']\n", " matched_dec = match_row['dec']\n", " \n", " try:\n", " with h5py.File(filename, 'r') as f:\n", " spec = f['spec'][index_in_file][:] \n", " z = f['z'][index_in_file]\n", " except Exception as e:\n", " print(f\"Error reading {filename} at index {index_in_file}: {e}\")\n", " return None\n", "\n", " wave_obs = np.linspace(3600.0, 9824.0, 7781)\n", "\n", " return {\n", " 'filename': filename,\n", " 'index_in_file': index_in_file,\n", " 'ra': matched_ra,\n", " 'dec': matched_dec,\n", " 'z': z,\n", " 'spec': spec,\n", " 'wave_obs': wave_obs,\n", " 'separation_arcsec': min_sep\n", " }\n", "\n", "\n", "if __name__ == \"__main__\":\n", "\n", " example_ra = 228.8491\n", " example_dec = 36.7929 \n", "\n", " result = get_spectrum_by_ra_dec(example_ra, example_dec, tolerance_arcsec=2.0)\n", " if result:\n", " print(f\"Found spectrum at z = {result['z']:.4f}\")\n", " print(f\"File: {os.path.basename(result['filename'])}, index: {result['index_in_file']}\")\n", " print(f\"Separation: {result['separation_arcsec']:.3f} arcsec\")\n", " import matplotlib.pyplot as plt\n", " plt.figure(figsize=(10, 4))\n", " plt.plot(result['wave_obs'], result['spec'], color='black', linewidth=0.8)\n", " plt.xlabel(r\"Observed Wavelength [$\\mathrm{\\AA}$]\")\n", " plt.ylabel(r\"Flux ($10^{-17}$ erg s$^{-1}$ cm$^{-2}$ \\AA$^{-1}$)\")\n", " plt.title(f\"DESI Spectrum (z = {result['z']:.4f})\")\n", " plt.grid(True, linestyle='--', alpha=0.5)\n", " plt.show()\n", " else:\n", " print(\"No matching spectrum found.\")" ] }, { "cell_type": "code", "execution_count": null, "id": "acb2011a", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "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.10.4" } }, "nbformat": 4, "nbformat_minor": 5 }