Skip to content

Commit ffdd423

Browse files
jacksonloperJackson Loperjeff-regier
authored
Jl/redshiftrail (#1086)
* multiple test train splits * code for running sklearn as training method and for plotting * using parquet files for making metrics now * fixed import --------- Co-authored-by: Jackson Loper <jaloper@umich.edu> Co-authored-by: Jeffrey Regier <jeff-regier@users.noreply.github.com>
1 parent ea43323 commit ffdd423

12 files changed

Lines changed: 1005 additions & 432 deletions

File tree

bliss/surveys/dc2.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
import multiprocessing
55
import pathlib
6+
from pathlib import Path
67
from typing import List
78

89
import numpy as np
@@ -320,7 +321,18 @@ def read_image_for_bands(self, image_index):
320321
class DC2FullCatalog(FullCatalog):
321322
@classmethod
322323
def from_file(cls, cat_path, wcs, height, width, **kwargs):
323-
catalog = pd.read_pickle(cat_path)
324+
# load catalog from either a string path or a Path
325+
326+
cat_path = Path(cat_path)
327+
suffix = cat_path.suffix.lower()
328+
329+
if suffix == ".parquet":
330+
catalog = pd.read_parquet(cat_path)
331+
elif suffix in (".pkl", ".pickle"):
332+
catalog = pd.read_pickle(cat_path)
333+
else:
334+
raise ValueError(f"Unsupported catalog file format: {suffix}")
335+
324336
flux_r_band = catalog["flux_r"].values
325337
catalog = catalog.loc[flux_r_band > kwargs["catalog_min_r_flux"]]
326338

case_studies/dc2_cataloging/generate_catalog.ipynb

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
},
3030
{
3131
"cell_type": "code",
32-
"execution_count": 1,
32+
"execution_count": null,
3333
"metadata": {},
3434
"outputs": [],
3535
"source": [
@@ -53,20 +53,20 @@
5353
},
5454
{
5555
"cell_type": "code",
56-
"execution_count": 3,
56+
"execution_count": null,
5757
"metadata": {},
5858
"outputs": [],
5959
"source": [
6060
"truth_catalog_pickle_file = output_dir / \"truth_catalog.pkl\"\n",
6161
"GCRCatalogs.set_root_dir(\"/data/scratch/dc2_nfs/\")\n",
6262
"if truth_catalog_pickle_file.exists():\n",
63-
" with open(truth_catalog_pickle_file, \"rb\") as inputp: \n",
63+
" with open(truth_catalog_pickle_file, \"rb\") as inputp:\n",
6464
" truth_cat_data = pickle.load(inputp)\n",
65-
"else: \n",
66-
" truth_cat = GCRCatalogs.load_catalog(\"desc_dc2_run2.2i_dr6_truth\") \n",
65+
"else:\n",
66+
" truth_cat = GCRCatalogs.load_catalog(\"desc_dc2_run2.2i_dr6_truth\")\n",
6767
" print(sorted(truth_cat.list_all_quantities()))\n",
6868
" truth_cat_data = truth_cat.get_quantities([\n",
69-
" \"id\", \"match_objectId\", \"cosmodc2_id\", \"ra\", \"dec\", \"truth_type\", \n",
69+
" \"id\", \"match_objectId\", \"cosmodc2_id\", \"ra\", \"dec\", \"truth_type\",\n",
7070
" \"flux_g\", \"flux_i\", \"flux_r\", \"flux_u\", \"flux_y\", \"flux_z\",\n",
7171
" \"redshift\",\n",
7272
" ])\n",
@@ -95,7 +95,7 @@
9595
"source": [
9696
"galaxy_params_pickle_file = output_dir / \"galaxy_params.pkl\"\n",
9797
"if galaxy_params_pickle_file.exists():\n",
98-
" with open(galaxy_params_pickle_file, \"rb\") as inputp: \n",
98+
" with open(galaxy_params_pickle_file, \"rb\") as inputp:\n",
9999
" galaxy_params_data = pickle.load(inputp)\n",
100100
"else:\n",
101101
" config_overwrite = dict(\n",
@@ -243,20 +243,20 @@
243243
"source": [
244244
"psf_params_pickle_file = output_dir / \"psf_params.pkl\"\n",
245245
"if psf_params_pickle_file.exists():\n",
246-
" with open(psf_params_pickle_file, \"rb\") as inputp: \n",
246+
" with open(psf_params_pickle_file, \"rb\") as inputp:\n",
247247
" psf_params_data = pickle.load(inputp)\n",
248248
"else:\n",
249249
" psf_params = GCRCatalogs.load_catalog(\"desc_dc2_run2.2i_dr6_object_with_truth_match\")\n",
250250
" print(sorted(psf_params.list_all_quantities()))\n",
251251
" psf_params_data = psf_params.get_quantities([\n",
252252
" \"objectId\",\n",
253253
" \"blendedness\",\n",
254-
" \"IxxPSF_pixel_g\", \"IxxPSF_pixel_z\", \n",
255-
" \"IxxPSF_pixel_r\", \"IxxPSF_pixel_i\", \"IxxPSF_pixel_u\", \n",
256-
" \"IxxPSF_pixel_y\", \"IyyPSF_pixel_g\", \"IyyPSF_pixel_z\", \n",
257-
" \"IyyPSF_pixel_r\", \"IyyPSF_pixel_i\", \"IyyPSF_pixel_u\", \n",
258-
" \"IyyPSF_pixel_y\", \"IxyPSF_pixel_g\", \"IxyPSF_pixel_z\", \n",
259-
" \"IxyPSF_pixel_r\", \"IxyPSF_pixel_i\", \"IxyPSF_pixel_u\", \n",
254+
" \"IxxPSF_pixel_g\", \"IxxPSF_pixel_z\",\n",
255+
" \"IxxPSF_pixel_r\", \"IxxPSF_pixel_i\", \"IxxPSF_pixel_u\",\n",
256+
" \"IxxPSF_pixel_y\", \"IyyPSF_pixel_g\", \"IyyPSF_pixel_z\",\n",
257+
" \"IyyPSF_pixel_r\", \"IyyPSF_pixel_i\", \"IyyPSF_pixel_u\",\n",
258+
" \"IyyPSF_pixel_y\", \"IxyPSF_pixel_g\", \"IxyPSF_pixel_z\",\n",
259+
" \"IxyPSF_pixel_r\", \"IxyPSF_pixel_i\", \"IxyPSF_pixel_u\",\n",
260260
" \"IxyPSF_pixel_y\", \"psf_fwhm_g\", \"psf_fwhm_z\", \"psf_fwhm_r\",\n",
261261
" \"psf_fwhm_i\", \"psf_fwhm_u\", \"psf_fwhm_y\"\n",
262262
" ])\n",
@@ -280,18 +280,18 @@
280280
"outputs": [],
281281
"source": [
282282
"truth_galaxy_df = truth_cat_df.merge(\n",
283-
" galaxy_params_df, \n",
284-
" left_on=\"cosmodc2_id\", \n",
285-
" right_on=\"galaxy_id\", \n",
286-
" how=\"left\" \n",
283+
" galaxy_params_df,\n",
284+
" left_on=\"cosmodc2_id\",\n",
285+
" right_on=\"galaxy_id\",\n",
286+
" how=\"left\"\n",
287287
")\n",
288288
"cosmodc2_mask = ~(np.isnan(truth_galaxy_df[\"ellipticity_1_true\"].values))\n",
289289
"truth_galaxy_df[\"cosmodc2_mask\"] = cosmodc2_mask\n",
290290
"truth_galaxy_psf_df = truth_galaxy_df.merge(\n",
291-
" psf_params_df, \n",
292-
" left_on=\"match_objectId\", \n",
293-
" right_on=\"objectId\", \n",
294-
" how=\"left\" \n",
291+
" psf_params_df,\n",
292+
" left_on=\"match_objectId\",\n",
293+
" right_on=\"objectId\",\n",
294+
" how=\"left\"\n",
295295
")"
296296
]
297297
},
@@ -495,7 +495,7 @@
495495
"metadata": {},
496496
"outputs": [],
497497
"source": [
498-
"# create a pickle file \n",
498+
"# create a pickle file\n",
499499
"truth_galaxy_psf_df.to_pickle(output_dir / f\"merged_catalog_with_flux_over_{flux_min}.pkl\")"
500500
]
501501
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
defaults:
2+
- ../../bliss/conf@_here_: base_config
3+
- _self_
4+
5+
# Inherits defaults from `base_config`. We add some user-defined
6+
# paths to store artifacts.
7+
paths:
8+
root: /home/declan/bliss
9+
data_dir: /data/scratch/declan/redshift/dc2
10+
dc2_cached: ${paths.data_dir}/cached_dc2
11+
processed_data_dir_rail: ${paths.data_dir}/processed_dc2_rail
12+
plots: ${paths.data_dir}/plots
13+
rail_checkpoints: ${paths.data_dir}/checkpoints/rail
14+
dc2: /nfs/turbo/lsa-regier/lsstdesc-public/dc2
15+
plot_dir: ${paths.data_dir}/plots
16+
cosmodc2: /data/scratch/dc2_nfs/cosmoDC2_v1.1.4/
17+
18+
surveys:
19+
dc2:
20+
_target_: case_studies.redshift.artifacts.redshift_dc2.RedshiftDC2DataModule
21+
cached_data_path: ${paths.dc2_cached}
22+
dc2_cat_path: ${paths.processed_data_dir_bliss}/merged_catalog.parquet
23+
batch_size: 64
24+
max_sources_per_tile: 5
25+
26+
# used for visualization
27+
visualization:
28+
mag_bin_cutoffs: [23.9, 24.1, 24.5, 24.9, 25.6]
29+
redshift_bin_cutoffs: [0.5, 1, 1.5, 2, 2.5, 3]

0 commit comments

Comments
 (0)