Welcome to VENIM (VENus Image analysis)

Venus Imaging Analysis

https://img.shields.io/pypi/v/venim.svg https://img.shields.io/travis/michaelaye/venim.svg Documentation Status https://zenodo.org/badge/DOI/10.5281/zenodo.3839219.svg

Python tools for Venus Image Analysis

Features

If the feature has been implemented in an importable way, it’s indicated by a filled checkmark [x]

  • [x] Read FITS arrays (done via astropy.io.fits)
  • [x] FITS image stats scanner (creates CSV overview file)
  • [ ] For un-calibrated ground-based observations:
    • [ ] Standard image reduction pipeline: bias subtraction, flat field normalization, etc.
    • [ ] Other image clean-up: bad pixels, cosmic rays, detector artifacts
    • [ ] Generate estimated errors for each pixel
    • [ ] Transform detector x,y coordinates into local Lat, Lon
  • [ ] Access PDS data automatically via mission dependent interfaces
    • [x] Automatic downloads per volume orbit
    • [x] Local easy data access per data ID
    • [x] Akatsuki version implemented
    • [ ] VEX
  • [x] Annotate images and implement a point-based circle-fit
  • [ ] Take various gradients of images
  • [ ] Filter images in the spatial frequency domain
  • [ ] Sub-pixel disk registration
  • [ ] Robust stacking of co-registered images
  • [ ] Cloud tracking

Credits

The content of this package is based on summer science work by Nicolas Ardavin and Kenyon Prater, under the lead of Eliot Young and Mark Bullock. Later improvements have been implemented by the package maintainer Michael Aye.

This package was created with Cookiecutter and the forked michaelaye/cookiecutter-pypackage-conda project template.

Installation

Stable release

To install Venus Imaging Analysis, run this command in your terminal:

$ pip install venim

This is the preferred method to install Venus Imaging Analysis, as it will always install the most recent stable release.

If you don’t have pip installed, this Python installation guide can guide you through the process.

From sources

The sources for Venus Imaging Analysis can be downloaded from the Github repo.

You can either clone the public repository:

$ git clone git://github.com/michaelaye/venim

Or download the tarball:

$ curl  -OL https://github.com/michaelaye/venim/tarball/master

Once you have a copy of the source, you can install it with:

$ python setup.py install

Usage

To use Venus Imaging Analysis in a project:

import venim

venim

venim package

Subpackages

venim.akatsuki package
Submodules
venim.akatsuki.ir2 module
Module contents

Submodules

venim.config module
venim.fits_cli module
venim.image module

Tools to work with images.

class venim.image.Image(path)[source]

Bases: object

annotate()[source]
circle_fit
equalized
exposure
full_frame
get_stored_points()[source]
imagetime
name
plot(sqrt=False, pmin=1, pmax=99, with_fit=False)[source]
plot_equalized()[source]
plot_title
points_data
points_path
rescaled
store_points()[source]
wavelength
venim.mask_functions module
venim.mask_functions.cloudMask(center, area, radius, angle)[source]
venim.mask_functions.crescentMask(center, area, outer_radius, pixel_angle, border)[source]
venim.mask_functions.loadMask(path)[source]
venim.mask_functions.outerMask(center, outer_radius, border)[source]
venim.pathmanager module
venim.stats module
venim.stats.scan_image_directory(path)[source]

Scan directory of FITS files to create basic stats.

Creates CSV file ready to be read by pandas and print-out of the stats if less than 100 entries.

Parameters:path (str, pathlib.Path) –
Returns:DataFrame containing the collected stats
Return type:pd.DataFrame
venim.utils module
venim.venim module

Main module.

Module contents

Top-level package for Venus Imaging Analysis.

Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

You can contribute in many ways:

Types of Contributions

Report Bugs

Report bugs at https://github.com/michaelaye/venim/issues.

If you are reporting a bug, please include:

  • Your operating system name and version.
  • Any details about your local setup that might be helpful in troubleshooting.
  • Detailed steps to reproduce the bug.

Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with “bug” and “help wanted” is open to whoever wants to implement it.

Implement Features

Look through the GitHub issues for features. Anything tagged with “enhancement” and “help wanted” is open to whoever wants to implement it.

Write Documentation

Venus Imaging Analysis could always use more documentation, whether as part of the official Venus Imaging Analysis docs, in docstrings, or even on the web in blog posts, articles, and such.

Submit Feedback

The best way to send feedback is to file an issue at https://github.com/michaelaye/venim/issues.

If you are proposing a feature:

  • Explain in detail how it would work.
  • Keep the scope as narrow as possible, to make it easier to implement.
  • Remember that this is a volunteer-driven project, and that contributions are welcome :)

Get Started!

Ready to contribute? Here’s how to set up venim for local development.

  1. Fork the venim repo on GitHub.

  2. Clone your fork locally:

    $ git clone git@github.com:your_name_here/venim.git
    
  3. Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:

    $ mkvirtualenv venim
    $ cd venim/
    $ python setup.py develop
    
  4. Create a branch for local development:

    $ git checkout -b name-of-your-bugfix-or-feature
    

    Now you can make your changes locally.

  5. When you’re done making changes, check that your changes pass flake8 and the tests:

    $ flake8 venim tests
    $ python setup.py test or py.test
    

    To get flake8, just pip install them into your conda env.

  6. Commit your changes and push your branch to GitHub:

    $ git add .
    $ git commit -m "Your detailed description of your changes."
    $ git push origin name-of-your-bugfix-or-feature
    
  7. Submit a pull request through the GitHub website.

Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

  1. The pull request should include tests.
  2. If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst.
  3. The pull request should work for Python 2.6, 2.7, 3.3, 3.4 and 3.5, and for PyPy. Check https://travis-ci.org/michaelaye/venim/pull_requests and make sure that the tests pass for all supported Python versions.

Tips

To run a subset of tests:

$ py.test tests.test_venim

Credits

Development Lead

Contributors

  • Eliot Young
  • Mark Bullock

Initial development

Mostly in the form of Jupyter notebooks

  • Nicolas Ardavin
  • Kenyon Prater

Changelog

v0.9.2 (2020-06-02)

Fixes

  • (build): add fire to requirements

v0.9.1 (2020-06-02)

Docs

  • (data): add docstring to write_fits_headers

Others

  • updating notebooks

v0.9.0 (2020-06-02)

v0.8.0 (2020-06-02)

New Features

  • (data): add write_out_fits_headers(folder) to utils modules
  • (data): add storing of points
  • (data): change dtype of NAXIS1/2 to int

Fixes

  • (data): fix imports

Refactorings

  • move utils into main venim package

Others

  • add holoviews and circle-fit

v0.7.1 (2020-06-01)

New Features

  • (data): add points annotation method

v0.6.4 (2020-05-29)

Fixes

  • (data): fixing version bug again, but also add notebook for stats plotting

v0.6.3 (2020-05-29)

New Features

  • (data): return filelist with datetime as index again

v0.6.2 (2020-05-29)

Performance improvements

  • (data): improve keyword reading performance

v0.6.1 (2020-05-29)

Fixes

  • (build): fixing version string

v0.6.0 (2020-05-29)

New Features

  • add FITS header keywords to filelist dataframe

v0.5.3 (2020-05-27)

Fixes

  • (data): fix refactor

v0.5.2 (2020-05-27)

New Features

  • (data): refactor helper function names

v0.5.1 (2020-05-27)

Fixes

  • (build): fix missing astropy requirement
  • (docs): fix missing requirements file

v0.5.0 (2020-05-27)

New Features

  • (data): add new helper functions

Docs

  • add docs/requirements for readthedocs
  • add working documentation
  • add readthedocs config
  • add history content

v0.4.3 (2020-05-26)

v0.4.2 (2020-05-26)

v0.4.0 (2020-05-26)

v0.3.4 (2020-05-22)

v0.3.3 (2020-05-21)

v0.3.2 (2020-05-21)

v0.3.1 (2020-05-21)

v0.3.0 (2020-05-21)

v0.2.0 (2019-11-04)

v0.1.1 (2019-11-04)

Indices and tables