PICARD: Pipeline for Combining and Analayzing Reduced Data
PICARD is a tool for analyzing and combining a batch of astronomical data files that have previously had their instrumental signatures removed (for example by running ORAC-DR on the raw data). It is designed to be instrument-independent. PICARD uses the same infrastructure as ORAC-DR, where data are processed by recipes which contain a series of primitives.
Running PICARD
The way to run PICARD is (the %-sign is the command-line prompt):
% picard [options] [RECIPE_NAME] <list_of_files_to_process>
The full list of options is accessed by typing picard -h. The most important options are:
-log [xsf], where s writes all messages to the terminal, f writes to a log file (called .picard_PID.log), and x opens an X-window and writes messages in that window (which is closed automatically at the end of the recipe). Any combination of the three can be given, and the default is xf. Since most recipes run quickly, s or sf is recommended.
-recpars <myparams.ini>, where the file myparams.ini lists the recipe name along with the parameters and their values (see below).
The recipe name and list of files are mandatory arguments. The recipe argument must be provided and will be applied to all input files. If that recipe includes a combination step, then it is up to the recipe to decide which input files can be combined. All remaining arguments refer to input filenames. Note that all files must be in NDF format. Currently there is no automated conversion from FITS.
Recipe parameters
Recipe behaviour can be controlled by specifying a recipe parameters file. This is a file in INI format with a block per recipe name.
[RECIPE_NAME] param1 = value1 param2 = value2
The available parameters are listed in the documentation for each recipe. Blocks for multiple recipes may be included in a single file: PICARD will read in the block for the current recipe.
Existing recipes
Currently the majority of existing recipes are designed for processing JCMT data, in particular SCUBA-2. However, it is possible for users to write their own primitives and recipes and use those. By convention, recipe names are in upper case with words separated by underscores.
Documentation for a particular recipe may be obtained with the Perl perldoc command:
% perldoc $ORAC_DIR/recipes/PICARD/RECIPE_NAME
List of available recipes (links go to a description of the recipe):
- CALC_SCUBA2_AVPSPEC
- CREATE_MOMENTS_MAP
- CREATE_PNG
- PICARD_DEMONSTRATOR
- SCUBA2_ANALYSIS
Hints, tips and gotchas
Make sure the .sdf extension is included in the filename if passing in a single file.
- A single recipe parameter file can be used for multiple recipes:
[RECIPE1] PARAM1 = VALUE1 PARAM2 = VALUE2 [RECIPE2] PARAM_A = VALUE_A PARAM_B = VALUE_B
If the environment variable ORAC_DATA_OUT is defined, any files created by PICARD will be written in that location. Check there if new files are expected but do not appear in the current directory.
The list of files can be the output from cat: e.g. % picard -log s RECIPE_NAME `cat myfilestoprocess.lis`. Don't forget the .sdf for each file in the list.
- Be aware that output file names are generated by stripping off the text after the last underscore and replacing it with the new (recipe-dependent) suffix. This may cause existing files to be overwritten, so rename any files to be kept. The file suffixes used by each recipe is mentioned in the documentation.
- For processing SCUBA-2 data, remember to only give files corresponding to one or other wavelength - it is not possible to deal with both wavelengths in a single recipe run
More to come!
