-
Notifications
You must be signed in to change notification settings - Fork 16
Home
stimela (Stimela is the IsiZulu word for a train) is a platform independent radio interferometry scripting framework based on Docker and Python. In this framework, radio interferometry related tasks such as imaging, calibration and data synthesis are executed in Docker containers. In fact, within this framework the packages that perform these tasks are Python modules. Much like Oleg Smirnov's pyxis package, stimela does not do any data processing, synthesis or analysis but merely offers a simple interface to packages that perform these tasks. However, unlike pyxis which requires multiple radio astronomy packages to be working on the same system, stimela only requires Docker and Python.
The aim of stimela is to provide a user friendly and modular scripting environment that gives general users easy access to novel radio interferometry calibration, imaging, and synthesis packages.
stimela is centred around two sets of Docker images, i) base images, which have the required software tools installed in them, and ii) very light weight executor images (a.k.a cab images) based on the base images, these perform radio interferometry related tasks like imaging, data synthesis, and calibration. The base images can either be built locally (on the host machine) or pulled from Docker hub, and the executor mages are built locally.
Base images are a suite of Docker images which have various radio astronomy related packages, including data synthesis and calibration packages such as CASA and MeqTrees, and imaging packages such as lwimager and wsclean. Base images are maintained by the {\tt Radio Astro} project on the Docker hub, but any Docker image can be used as a base image. These are some of the available base images:
- stimela/meqtrees - MeqTrees calibration/simulation tool
- stimela/lwimager - Uses the casarest based lwimager tool for imaging and deconvolution
- stimela/wsclean - WSClean imaging tool
- stimela/simms - Uses CASA simulate tool to create a simulated (empty) MS
- stimela/tigger - Tools for managing and manupulating analytic sky models (Gaussian and point sources)
- stimela/aoflagger - Automated RFI flagging tool
- stimela/casa - CASA
- stimela/lofar - Lofar
- stimela/sourcery - Source finding and source characterisation tool
- stimela/msutils - Convenience functions for manipulating MSs
These images are generally pre-loaded with Python scripts that perform a specified task (e.g calibrating a visibility dataset). A stimela cab image takes some input as well a set of instructions, performs some task, then returns the output. The following are examples of available tasks:
- cab/simms
- cab/simulator
- cab/calibrator
- cab/lwimager
- cab/wsclean
- cab/tigger_convert
- cab/tigger_restore
- cab/tigger_tag
- cab/specfit
- cab/sourcery
- cab/autoflagger (AOFlagger)
- cab/flagms
- cab/casa_{clean, gaincal, bandpass, etc.}
- cab/ddfacet
- cab/cubical
- cat/tricolour (Tricolour)
Get help on any of these cabs by running : stimela cabs -i <cab name>
Example
$ stimela cabs -i cleanmask
Cab cleanmask
Info Creates a binary mask from a FITS image
Base Image stimela/astropy
Parameters:
Name image
Description Name of FITS image from which to derive the mask
Type file
Default None
Name output
Description Name of resulting binary mask
Type file
Default None
Name sigma
Description The number of standard deviations to use when clipping image
Type float
Default 5
Name boxes
Description Will divide image into this number of boxes, then perform sigma clipping in each of these boxes
Type int
Default 11
Name iters
Description The number of iterations to perform sigma clipping, or 0 to clip until convergence is achieved.
Type str
Default 3
We make every effort to ensure up to date list of options matching that of a native shell experience. If you find missing options please open a ticket on the tracker (or better yet update the relevant parameters.json file in cargo/cab/[cabname]/parameters.json and open a pull request!)