GithubHelp home page GithubHelp logo

schlafly / gfa_reduce Goto Github PK

View Code? Open in Web Editor NEW

This project forked from desihub/gfa_reduce

0.0 1.0 0.0 247 KB

DESI GFA / Commissioning Instrument off-line reduction/analysis pipeline

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%

gfa_reduce's Introduction

directories

py/scripts/

miscellaneous scripts not intended to be used as part of the production pipeline; includes code that generates calibration files in CI_REDUCE_ETC, such as master biases, master flats, static bad pixel masks

py/ci_reduce/analysis/

core image analysis such as source detection, centroid measurements, flux measurements

py/ci_reduce/imred/

utilities for converting raw images to reduced images

py/ci_reduce/plotting/

plotting utilities

py/ci_reduce/xmatch/

cross-matching utilities, such as for matching to Gaia or other external catalogs

top-level py/ci_reduce Python files

py/ci_reduce/ci_proc.py

primary driver that gets called to run the CI reduction pipeline end to end

py/ci_reduce/ci_wcs.py

WCS-related utilities

py/ci_reduce/common.py

miscellaneous utilities, such as conversions between CI numbering/labeling schemes

py/ci_reduce/dark_current.py

utilities related to dark current

py/ci_reduce/exposure.py

class that encapsulates a single CI exposure consisting of multiple single-camera images

py/ci_reduce/image.py

class that encapsulates a single-camera image (and its metadata) drawn from a single CI exposure

py/ci_reduce/io.py

input/output utilities

convention for pixel coordinates

unless otherwise stated in a particular portion of the code...

Throughout the codebase, pixel coordinate (0, 0) will be the center of the lower left pixel (where "lower left" applies in the context of the IDL/DS9 convention for 2D image display). "x" will refer to the "AXIS1" coordinate (long axis for CI cameras, a.k.a. "width"), and "y" will refer to the "AXIS2" coordinate (short axis for CI cameras, a.k.a. "height").

CI camera naming convention

Throughout the codebase, the CI camera names CIE, CIN, CIS, and CIW refer to sky directions (not geographic directions).

environment

  • to access auxiliary calibration files, it will be necessary to set the CI_REDUCE_ETC environment variable to their directory's location
    • examples of auxiliary calibration files include master biases, master flats, static bad pixel masks
    • these auxiliary files will not be checked in to git due to the file sizes involved
    • the authoritative copy of this directory can be found on NERSC at /project/projectdirs/desi/users/ameisner/CI/ci_reduce_etc
  • to enable Gaia cross-matching, the GAIA_CAT_DIR environment variable must be set to the full path of "chunks-gaia-dr2-astrom"
    • the recommended path at NERSC is /project/projectdirs/cosmo/work/gaia/chunks-gaia-dr2-astrom
    • this directory contains a full-sky set of 12,288 FITS "chunk" files, one per nside = 32 HEALPix pixel, with ring-ordered indexing in equatorial coordinates
  • this code is intended to be run at NERSC using the DESI software environment, which is Python 3 based:

example environment configuration script

the following is a bash script that can be used to configure one's environment for running the ci_reduce package at NERSC

source /project/projectdirs/desi/software/desi_environment.sh 18.7
export PYTHONPATH=${PYTHONPATH}:/global/homes/a/ameisner/ci_reduce/py
export CI_REDUCE_ETC=/project/projectdirs/desi/users/ameisner/CI/ci_reduce_etc
export GAIA_CAT_DIR=/project/projectdirs/cosmo/work/gaia/chunks-gaia-dr2-astrom

reading auxiliary files from other places or running a ci_reduce checkout located elsewhere on NERSC would require modifications of these example paths

gfa_reduce's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.