Welcome to VENIM (VENus Image analysis)¶
Venus Imaging Analysis¶
Python tools for Venus Image Analysis
- Free software: MIT license
- Documentation: https://venim.readthedocs.io.
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
venim¶
venim package¶
Submodules¶
venim.config module¶
venim.fits_cli module¶
venim.image module¶
Tools to work with images.
venim.mask_functions module¶
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.
Fork the venim repo on GitHub.
Clone your fork locally:
$ git clone git@github.com:your_name_here/venim.git
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
Create a branch for local development:
$ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
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.
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
Submit a pull request through the GitHub website.
Pull Request Guidelines¶
Before you submit a pull request, check that it meets these guidelines:
- The pull request should include tests.
- 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.
- 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.
Credits¶
Development Lead¶
- K.-Michael Aye <kmichael.aye@gmail.com>
Contributors¶
- Eliot Young
- Mark Bullock
Changelog¶
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.6.4 (2020-05-29)¶
Fixes¶
- (data): fixing version bug again, but also add notebook for stats plotting
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