Tips and Tricks

This is a collection of tips and tricks that can be useful for reducing different data, or to do it slightly differently from what is presented in the example.

Checking WCS of science frames

For GNIRS data, it is useful to check the World Coordinate System (WCS) of the science data. DRAGONS will fix some small discrepancy but sometimes the WCS are not written correctly in the headers causing difficulties with the sky subtraction and frame alignment.

We recommend running checkWCS on the science files.

$ reduce -r checkWCS @sci_images.list

Using S20200104S0075.fits as the reference
S20200104S0080.fits has a discrepancy of 2.00 arcsec
S20200104S0082.fits has a discrepancy of 2.01 arcsec
S20200104S0091.fits has a discrepancy of 2.01 arcsec

If any frames get flagged, like in the example above, you can still proceed but after the reduction, do review the logs to check for any unusual matching of the sources during adjustWCSToReference step, in particular the line about the “Number of correlated sources”. If one of the highlighted frame has a much lower number of correlated sources than the others, the algorithm is unable to overcome the discrepancy; remove the file from the input list and reduce again.

In general, discrepancies of the order of what is shown above do not cause problems. When the discrepancy matches the size of the dither, then you will have issues and it is best to simply remove that file from you file list right away. When such a large discrepancy happens, the WCS of that file is likely to have accidentally inherited the WCS of the previous frame which is obviously very wrong.


From the API, run checkWCS like this:

checkwcs = Reduce()
checkwcs.files = list_of_science_images
checkwcs.recipename = 'checkWCS'

Getting Bad Pixel Masks from the archive

Starting with DRAGONS v3.1, the static bad pixel masks (BPMs) are now handled as calibrations. They are downloadable from the archive instead of being packaged with the software. There are various ways to get the BPMs.

Note that at this time there no static BPMs for Flamingos-2 data.

Associated calibrations

The BPMs are now handled like other calibrations. This means that they are also downloaded from the archive. From the archive search form, once you have identified your science data, select the “Load Associated Calibrations” (which turns to “View Calibrations” once the table is loaded). The BPM will show up with the green background.


This will be the case for new data (from late March 2023). For old data, until we fix an issue recently discovered, they will not show up as associated calibration and you will have to find them manual as explained in the previous section, Manual search. We understand the issue and are working on a fix.

Calibration service

The calibration service in DRAGONS 3.1 adds several new features. One of them is the ability to search multiple databases in a serial way, including online database, like the Gemini archive.

The system will look first in your local database for processed calibration and BPMs. If it does not find anything that matches, it will look in the next database. To activate this feature, in ~/.dragons/, create or edit the configuration file dragonsrc as follows:

databases = ${path_to_my_data}/niriimg_tutorial/playground/cal_manager.db get store

If you know that you will be connected to the internet when you reduce the data, you do not need to pre-download the BPM, DRAGONS will find it for you in the archive.

If you want to pre-download the BPM without having to search for it, like in the previous two sections, you can let DRAGONS find it and download it for you:

$ reduce -r getBPM <file_for_which_you_need_bpm>
$ caldb add calibrations/processed_bpm/<the_bpm>

Bypassing automatic calibration association

We can think of two reasons why a user might want to bypass the calibration manager and the automatic processed calibration association. The first is to override the automatic selection, to force the use of a different processed calibration than what the system finds. The second is if there is a problem with the calibration manager and it is not working for some reason.

Whatever the specific situation, the following syntax can be used to bypass the calibration manager and set the input processed calibration yourself:

$ reduce @target.lis --user_cal processed_dark:N20120102S0538_dark.fits processed_flat:N20120117S0034_flat.fits

The list of recognized processed calibration is:

  • processed_arc

  • processed_bias

  • processed_dark

  • processed_flat

  • processed_fringe

  • processed_standard