Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Python Wavelet Imaging

Project description

Copyright (c) 2016-2018 Jeremie DECOCK (www.jdhp.org)

Description

PyWI is an image filtering library aimed at removing additive background noise from raster graphics images.

  • Input: a FITS file containing the raster graphics to clean (i.e. an image defined as a classic rectangular lattice of square pixels).
  • Output: a FITS file containing the cleaned raster graphics.

The image filter relies on multiresolution analysis methods (Wavelet transforms) that remove some scales (frequencies) locally in space. These methods are particularly efficient when signal and noise are located at different scales (or frequencies). Optional features improve the SNR ratio when the (clean) signal constitute a single cluster of pixels on the image (e.g. electromagnetic showers produced with Imaging Atmospheric Cherenkov Telescopes). This library is written in Python and is based on the existing Cosmostat tools iSAp (Interactive Sparse Astronomical data analysis Packages http://www.cosmostat.org/software/isap/).

The PyWI library also contains a dedicated package to optimize the image filter parameters for a given set of images (i.e. to adapt the filter to a specific problem). From a given training set of images (containing pairs of noised and clean images) and a given performance estimator (a function that assess the image filter parameters comparing the cleaned image to the actual clean image), the optimizer can determine the optimal filtering level for each scale.

The PyWI library contains:

  • wavelet transform and wavelet filtering functions for image multiresolution analysis and filtering;
  • additional filter to remove some image components (non-significant pixels clusters);
  • a set of generic filtering performance estimators (MSE, NRMSE, SSIM, PSNR, image moment’s difference), some relying on the scikit-image Python library (supplementary estimators can be easily added to meet particular needs);
  • a graphical user interface to visualize the filtering process in the wavelet transformed space;
  • an Evolution Strategies (ES) algorithm known in the mathematical optimization community for its good convergence rate on generic derivative-free continuous global optimization problems (Beyer, H. G. (2013) “The theory of evolution strategies”, Springer Science & Business Media);
  • additional tools to manage and monitor the parameter optimization.

Note:

This project is in beta stage.

Dependencies

  • Python >= 3.0
  • Numpy
  • Scipy
  • Scikit-image
  • Pillow (a.k.a. PIL)
  • Astropy (if you want to read Fits files)
  • _Cosmostat _iSAP Sparce2D

Installation

Most major projects upload official packages to the Python Package Index. They can be installed on most operating systems using Python standard pip package manager.

Note that you need to have Python3.x and pip already installed on your system.

MacOSX and Gnu/Linux

You can install PyWI using the following command (in a terminal):

pip install --user pywi

It is recommended to use the –user flag to pip (note: do not use sudo pip, which can cause problems) to install packages in your local user space instead of the shared system directories.

As an alternative, you can install PyWI from the downloaded source code:

python3 setup.py --user install

If PyWI is already installed on your system you can upgrade it with this command:

pip install --user --upgrade pywi

To uninstall PyWI, type:

pip uninstall pywi

Windows

You can install PyWI using the following command (in a command prompt):

py -m pip install --user pywi

It is recommended to use the –user flag to pip (note: do not use sudo pip, which can cause problems) to install packages in your local user space instead of the shared system directories.

As an alternative, you can install PyWI from the downloaded source code:

py setup.py install --user

If PyWI is already installed on your system you can upgrade it with this command:

py -m pip install --user --upgrade pywi

To uninstall PyWI, type:

py -m uninstall pywi

Cosmostat iSAP Sparce2D installation

  1. Download http://www.cosmostat.org/wp-content/uploads/2014/12/ISAP_V3.1.tgz (see http://www.cosmostat.org/software/isap/)

  2. Unzip this archive, go to the “sparse2d” directory and compile the sparse2d library. It should generate two executables named mr_transform and mr_filter:

    tar -xzvf ISAP_V3.1.tgz
    cd ISAP_V3.1/cxx
    tar -xzvf sparse2d_V1.1.tgz
    cd sparse2d
    compile the content of this directory
    

Example

  1. Download a sample image (archives_ngc3576.png)

  2. In your system terminal, from the directory that contains the sample image, type:

    pywi-mrtransform -t 256,256,256,0 --plot archives_ngc3576.png
    pywi-mrfilter -s 256,256,256,0 --plot archives_ngc3576.png
    
  3. Type pywi-mrtransform -h or pywi-mrfilter -h to display the list of available options and their documentation.

Bug reports

To search for bugs or report them, please use the PyWI Bug Tracker at:

https://github.com/jeremiedecock/pywi/issues

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pywi-0.1.dev10.tar.gz (68.7 kB) Copy SHA256 hash SHA256 Source None Mar 12, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page