Skip to main content

Cosmic-CoNN: A Cosmic Ray Detection Deep Learning Framework, Dataset, and Toolkit

Project description

Cosmic-CoNN

A Cosmic Ray Detection Deep Learning Framework, Dataset, and Toolkit

GithubDocumentationPyPI ReleaseLCO CR DatasetPublication

arXiv DOI PyPI version readthedocs astropy License: LGPL v3

[New] Demo video for interactive CR mask visualization and editing

web-based CR detector interface

About

Cosmic-CoNN overview

Cosmic-CoNN is an end-to-end solution to help tackle the cosmic ray (CR) detection problem in CCD-captured astronomical images. It includes a deep-learning framework, high-performance CR detection models, a new dataset, and a suite of tools to use to the models, shown in the figure above:

  1. LCO CR dataset, a large, diverse cosmic ray dataset that consists of over 4,500 scientific images from Las Cumbres Observatory (LCO) global telescope network's 23 instruments. CRs are labeled accurately and consistently across many diverse observations from various instruments. To the best of our knowledge, this is the largest dataset of its kind.

  2. A PyTorch deep-learning framework that trains generic, robust CR detection models for ground- and space-based imaging data, as well as spectroscopic observations.

  3. A suite of tools including console commands, a web app, and Python APIs to make deep-learning models easily accessible to astronomers.

Detection demo on Gemini data Visual inspection of Cosmic-CoNNCR detection results. Detecting CRs in a Gemini GMOS-N 1×1 binning image with our generic ground-imaging model. The model was trained entirely on LCO data yet all visible CRs in the image stamp are correctly detected regardless of their shapes or sizes.

Detection demo on LCO NRES data The Cosmic-CoNN NRES model detects CRs over the spectrum robustly on a LCO NRES spectroscopic image. The horizontal bands in the left image are the spectroscopic orders, which are left out of the CR mask.

Publication

This repository is part of our Cosmic-CoNN research paper. Our methods and a thorough evaluation of models' performance are available in the paper. If you used the Cosmic-CoNN or the LCO CR dataset for your research, please cite our paper:

arXiv:2106.14922, NASA ADS

Please also cite the LCO CR dataset if you used the Cosmic-CoNN ground_imaging model or the data in your research:

Xu, Chengyuan, McCully, Curtis, Dong, Boning, Howell, D. Andrew, & Sen, Pradeep. (2021). Cosmic-CoNN LCO CR Dataset (Version 0.1.0) [Data set]. Zenodo. http://doi.org/10.5281/zenodo.5034763



Installation

We recently added optional dependencies install for pip.

We recommend installing Cosmic-CoNN in a new virtual environment, see the step-by-step installation guide. To get a ~10x speed-up with GPU acceleration, see Install for a CUDA-enabled GPU.

  # basic install for CR detection or library integration
  $ pip install cosmic-conn

  # include Flask to use the interactive tool
  $ pip install cosmic-conn[webapp] 

  # install all dependencies for development
  $ pip install cosmic-conn[develop] 

Command-line interface

After installation, you can batch process FITS files for CR detection from the terminal:

  $ cosmic-conn -m ground_imaging -e SCI -i input_dir

-m or --model specifies the CR detection model. "ground_imaging" is loaded by default, "NRES" is the spectroscopic model for LCO NRES instruments. You can also download a Hubble Space Telescope model trained by deepCR and pass in the model's path.

-i or --input specifies the input file or directory.

-e or --ext defines which FITS extension to read image data, by default we read the first valid image array in the order of hdul[0] -> hdul[1] -> hdul['SCI'] unless user specify an extension name.

See documentation for the complete user guide.

Python APIs

It is also easy to integrate Cosmic-CoNN CR detection into your data workflow. Let image be a two-dimensional float32 numpy array of any size:

  from cosmic_conn import init_model

  # initialize a Cosmic-CoNN model
  cr_model = init_model("ground_imaging")

  # the model outputs a CR probability map in np.float32
  cr_prob = cr_model.detect_cr(image)

  # convert the probability map to a boolean mask with a 0.5 threshold
  cr_mask = cr_prob > 0.5

Interactive CR mask visualization and editing

  $ cosmic-conn -a ground_imaging -e SCI

The Cosmic-CoNN web app automatically finds large CRs for close inspection. It supports live CR mask visualization and editing and is especially useful to find the suitable thresholds for different types of observations. We are working on addding the paintbrush tool for pixel-level manual editing.

web-based CR detector interface

The Cosmic-CoNN web app interface.

Train new models with Cosmic-CoNN

See documentation for the developer guide on using LCO CR dataset, data reduction, and model training.

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosmic_conn-0.4.1.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

cosmic_conn-0.4.1-py2.py3-none-any.whl (5.4 MB view details)

Uploaded Python 2 Python 3

File details

Details for the file cosmic_conn-0.4.1.tar.gz.

File metadata

  • Download URL: cosmic_conn-0.4.1.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for cosmic_conn-0.4.1.tar.gz
Algorithm Hash digest
SHA256 b32755b2d7ccf0e3992862d66c7fd9b8f8b895641b82246950d2ce11b8dfdc06
MD5 5a18a92c3ed30155fc7394c25da45978
BLAKE2b-256 62c1e4906a7f631c9917600ff77e24f4c7019a8c5eadc5f57a51744ea27e5a86

See more details on using hashes here.

File details

Details for the file cosmic_conn-0.4.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for cosmic_conn-0.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9582b9afaadfbe93be9e81534194e9a441dd4a9fd2d361fd44608dfe4a709b62
MD5 d6f0ac84516ee53106141deb52ade2d9
BLAKE2b-256 dd00a4304d5814e9d8b99c06ea0b9c7099e7038058091c456aeb8e48989ef425

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page