Giter VIP home page Giter VIP logo

reducer's Introduction

This package provides a Jupyter notebook for reducing CCD data.

Documentation is at: https://reducer.readthedocs.org

http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat:target:http://astropy.org

Please provide feedback

Comments are very, very much welcome. Please comment by making a new issue on Github (if, by chance, a reasonably senior academic is using this, you can send feedback by email; anyone else should really create a github account so you can make an issue :)).

Installation

Note about IPython/Jupyter version support: Version 0.3 and higher of reducer works with IPython 4/Jupyter. Version 0.1 works with IPython 2, and Version 0.2.x work with IPython 3 or IPython 4/Jupyter. No improvements to reducer will be backported to version 0.1.x/IPython 2 or to 0.2.x/IPYthon 3. Feel free to fork if you need that!

You need python (2.7, or 3.4 or higher) and the SciPy stack. The easiest way to the get the full stack is from a distribution like anaconda.

On Windows it will be easiest to install using the Anaconda Python distribution and conda (because everything has been compiled for you).

To install using conda:

conda install -c conda-forge -c astropy reducer

If you prefer, you can install with pip in any python distribution (but may end up compiling some of the dependencies):

pip install reducer

You can, if you want, grab the source on github (there is a "Download as ZIP" link on the right you can use if you don't want to mess git), change into the source directory, and run python setup.py install.

Note

reducer comes with a small set of images; the download size is roughly 13MB. It is provided so you can try the notebook without needing your own data. If you run the notebook as-is then the sample images will get expanded to 300MB in a temporary directory.

Usage

This package doesn't magically do your reduction for you. Instead, it creates a template jupyter notebook that leads you through data reduction. When you are done you have reduced your data and you have a notebook that allows you or someone else to reproduce your work.

In a terminal, navigate to the directory where you want to keep the notebook for doing your reduction (which does not have to be the same directory where the data is, though it can be), then type:

reducer

This will create a new template notebook. To open the notebook, type in a terminal:

jupyter notebook

A browser window will open; the notebook you want is named "reduction.ipynb". Click on it, then just do what it says in the notebook and reduced data (and someday photometry!) will be yours.

Under the hood

If you look at the source code you'll notice pretty quickly that there is no actual science code. Think of this as the glue that brings together a couple related packages:

  • ccdproc for the actual data reduction.
  • astropy for lots of the underlying structure .

reducer's People

Contributors

astrofrog avatar ctismer avatar heidtna avatar juancab avatar meyerpa avatar mwcraig avatar stuartlittlefair avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

reducer's Issues

Make sure both demo modes work

One uses the packaged csv file and some fake image. The other uses a much larger (but hopefully shrunk down) set of FITS files.

Remove vestigal code

This is primarily widgets I'm no longer using and that didn't generalize well.

no reducer added to path

I've installed it from source and a reducer was not added to my path to execute (and doesn't look like it is anywhere on my system). From python, I can still get it to write out the notebook by import reducer; reducer.main() and then run ipython on the notebook.

I'm not sure if it is user error or something else.

Avoid duplicate entries in list of trait_change handlers

Right now the handler for value in a ContainerWidget ends up getting set multiple times; that can be avoided by looking at:

>>> foo._trait_notifiers
{...
'value': [<function reducer.gui.flip_state>,
  <function reducer.gui.flip_state>,
  <function reducer.gui.flip_state>,
  <function __main__.crap>,
  <function __main__.crap>]
...}

Fix overscan/trim ui

Right now there is not actually sufficient information construct a slice, and no way to get the information from a header

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.