# Introduction¶

## PyWI CTA - A CTA wrapper for PyWI¶

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

## Description¶

PyWI-CTA is a ctapipe wrapper for PyWI.

Warning

This project is in beta stage.

## Features¶

The PyWI and PyWI-CTA libraries contain:

• 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, angular precision, energy loss, contamination rate, …), 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.

## Dependencies¶

PyWI-CTA has the following strict requirements:

PyWI-CTA also depends on other packages for optional features:

However, note that these only need to be installed if those particular features are needed. pywicta will import even if these dependencies are not installed.

## Installation¶

PyWI-CTA and its dependencies may be installed using the Anaconda or Miniconda package system. We recommend creating a conda virtual environment first, to isolate the installed version and dependencies from your master environment (this is optional).

The following command will set up a conda virtual environment, add the necessary package channels, and download PyWI-CTA and its dependencies. The file environment.yml can be found in this repository. Note this is beta stage software and is not yet stable enough for end-users (expect large API changes until the first stable 1.0 release).

conda env create -n pywi-cta -f environment.yml
source activate pywi-cta
pip install pywicta --no-deps


If you have already installed ctapipe following the official installation procedure, you can add PyWI-CTA to the cta virtual environment like this:

source activate cta
pip install pywicta --no-deps


Developers should follow the development install instructions found in the documentation.

Note

As ctapipe is not tested to work on Microsoft Windows systems, PyWI-CTA does not officially support these systems neither.

Note

The --no-deps flag is optional, but highly recommended otherwise pip will sometimes try to “help” you by upgrading PyWI-CTA dependencies like Numpy, which may not always be desired.

## Cosmostat iSAP Sparce2D installation¶

1. 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


An automated compilation and installation script for Linux is available here (author: Tino Michael).

## Example¶

1. Get a simtel file (e.g. from there)

2. In your system terminal, from the directory that contains the sample image, type the following commands (where SIMTEL_FILE is the path to your simtel file):

pywicta-mrtransform -f common_hard_filtering -t 13.,1.5 -L mask --camid LSTCam --max-images 1 --plot SIMTEL_FILE
pywicta-mrfilter -K -k -C1 -m3 -n4 -s2,4.5,3.5,3 --kill-isolated-pixels --camid LSTCam --max-images 1 --plot SIMTEL_FILE

3. Type pywicta-mrtransform -h or pywicta-mrfilter -h to display the list of available options and their documentation.

## IPython/Jupyter Notebooks¶

PyWI provide some Jupyter notebooks that can be used as examples or tutorials.

## Bug reports¶

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