hipercam is the reduction package for the multi-CCD camera HiPERCAM built through an ERC Advanced Grant awarded to Vik Dhillon. HiPERCAM is a multi-CCD high-speed camera for astrophysical research. The hipercam pipeline can also be used to reduce data from the ULTRACAM and ULTRASPEC high-speed cameras.
hipercam is written in Python3; it does not support Python2.x It relies on multiple third-party packages, as described in the next section. At minimum, you should ensure that Cython and trm.pgplot are installed. Once you have, get the hipercam pipeline software itself using:
git clone https://github.com/HiPERCAM/hipercam.git
This will create a directory; if you are updating then a simple "git pull" from within this directory should suffice. Change to this directory and install with:
pip install . --user
If you have multiple versions of python, then you might need to specify pip3. If you want a self-contained install, I suggest looking into using "pipenv".
To get the important command |setaper| working, make sure to use the Qt5Agg matplotlib backend. I have this set as the default in my .config/matplotlib/matplotlibrc file with the line backend: Qt5Agg
Apart from Cython and trm.pgplot, I hope that most of the extras will get automatically installed if necessary by pip. If not, here are details, and you can probably either install via pip or by looking for the packages in your O/S package manager. e.g. under fedora, Cython appears as python3-Cython.
- astropy :
- astronomical Python package with lots of useful stuff.
- Cython :
- C-extensions for Python. Widely used package used to interface to C-libraries and to enable faster code when critical.
- fitsio :
- Provides fairly direct access to FITS through the cfitsio library. Has some features that the pure python implementation in astropy lacks.
- matplotlib :
- standard plotting package for Python. You will also need a Qt backend. In opensuse for instance the package python3-matplotib-qt5 enables the Qt5Agg backend
- numba :
- Another package along with Cython to support faster numerics. Uses "just-in-time" compilation of selected routines.
- numpy :
- Python's numerical data package. Highly likely you will have it, but note that you need at least version 1.12 to provide numpy.flip.
- requests :
- http request module. It may well be installed already.
- scipy :
- Scientific software for Python, closely linked to numpy.
- sep :
- astronomical source extractor based on Bertin's source extractor.
- setuptools_scm :
- package to manage version numbers from the git repository
- trm.pgplot :
my own Cython-ised wrapper for PGPLOT which I wrote specifically for hipercam although it is entirely independent of it. PGPLOT is needed for some of the faster plots as matplotlib is way too slow. PGPLOT itself must be installed for this to work. Once you have PGPLOT, you can get trm.pgplot from my github site with:
git clone https://github.com/trmrsh/trm-pgplottrm.pgplot is not to be confused with "ppgplot" which, although very similar, is a more hand-crafted version with some differences in the calls. Once you have cloned it, you can enter trm-pgplot and install with pip, but make sure to set the enviroment variable PGPLOT_PNG to "true" or "false" first, according to whether you installed the PNG drivers with PGPLOT.
- websocket-client :
- for talking to the hipercam server.
For more information see:
Tom Marsh