{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "d2c839fb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "(5000, 2, 48, 48)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import glob\n", "import h5py\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from astropy.visualization import (ImageNormalize, MinMaxInterval, SqrtStretch)\n", "\n", "data_path_list = glob.glob('/home/dell461/ljm/DATA_other/AstroM3/Dataset/galex/data/healpix=540/*.hdf5')\n", "print()\n", "plt.figure(figsize=(20, 5))\n", "with h5py.File(data_path_list[0], \"r\") as data:\n", "\n", " print(data[\"fits_data\"].shape)\n", " aa = 0\n", " for i in range(0,100,20):\n", " plt.subplot(2,5,aa+1)\n", " plt.imshow(abs(data[\"fits_data\"][i][1]), cmap='gray')\n", " aa = aa + 1\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "c2ee1edd", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 105/105 [00:00<00:00, 425.56it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "共处理 485853 条记录,已保存至 /home/dell461/ljm/DATA_other/AstroM3/Dataset/images/galex/galex_ra_dec_with_source.csv\n" ] } ], "source": [ "import tqdm\n", "import glob\n", "import h5py\n", "import numpy as np\n", "import pandas as pd\n", "\n", "\n", "data_path_list = glob.glob(\"/home/dell461/ljm/DATA_other/AstroM3/Dataset/images/galex/*/*/*.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", " 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", "\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/galex/galex_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": "34a29ee2", "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 }