For the RegridTask, the DPU command would look something like:
awe> dpu.run('Regrid', d='2001-01-22', i='WFI', f='#841', o='AXAF')
The RegridTask options via the DPU are as follows:
This example shows how to run the DPU RegridTask using date, filter, and object information. This allows one to process all data for a given object on a specific day taken in a certain filter, for all CCDs of the mosaic.
The options can be used in any order and can be omitted (except `i'), but the likelihood of locating required data depends on relaying a minimum of information as shown in the examples.
The GridTarget is the RegriddedFrame(s) its regrid center. The RA and DEC of the GridTarget are determined by a system that divides the sky in a set of pre-determined plates. Note: for large fields of view like OMEGACAM, the determined grid target ra and dec can be those of different place. This will cause errors in a later step called CoaddTask. However ,it is possible for the user to force all regridded frames to the same grid target. For the DPU the following two steps should be taken:
awe> dpu.run(red_filenames=[<filename>])The logs of this task step show the grid target ra and dec of the frame.
awe> dpu.run(red_filenames=[<all filenames>],gra=<grid target ra as determined from step 1>,gdec=<grid target dec as determined from step 1>)
Although the ideal method to create RegriddedFrames is the DPU, this task can be performed in on a per chip basis. The RegridTask is the main part of the recipe $AWEPIPE/astro/recipes/Regrid.py. An example of the syntax for the RegridTask is given below:
awe> reg = RegridTask(date='2001-01-22', chip='ccd51', filter='#841', ... object='AXAF') awe> reg.execute()
The RegridTask options are as follows:
This example shows how to run the RegridTask using date, chip, filter, and object information. This allows one to process all ReducedScienceFrames for a given object on a specific day taken in a certain filter, and with only one CCD of the mosaic.
The options can be used in any order and can be omitted, but the likelihood of locating required data depends on relaying a minimum of information as shown in the examples.
The GridTarget is the RegriddedFrame(s) its regrid center. The RA and DEC of the GridTarget are determined by a system that divides the sky in a set of pre-determined plates. Note: for large fields of view like OMEGACAM, the determined grid target ra and dec can be those of different place. This will cause errors in a later step called CoaddTask. However ,it is possible for the user to force all regridded frames to the same grid target. The argument force_single_gridtarget has to be includeded, like for instance
awe> reg = RegridTask(red_filenames=[<filenames>], fsg=True)
The third, and most powerful, way of creating a RegriddedFrame is by using the basic building blocks of the system directly from the awe-prompt. This method is used if one wants to manipulate the system down to the nitty-gritty details. An example of how a RegriddedFrame is made from the awe-prompt in this fashion is given below:
1. awe> from astro.main.RegriddedFrame import RegriddedFrame 2 awe> from astro.main.RegriddedFrame import GridTarget 3. awe> from astro.main.ReducedScienceFrame import ReducedScienceFrame 4. awe> from astro.main.AstrometricParameters import AstrometricParameters 5. awe> from astro.main.PhotometricParameters import PhotometricParameters 6. awe> from astro.main.GainLinearity import GainLinearity 7. awe> reduced = (ReducedScienceFrame.filename == 'Sci-GVERDOES-WFI--- ... ----#842-ccd55-Red---Sci-53811.3816955.fits')[0] 8. awe> astrom_query = (AstrometricParameters.reduced == reduced) &\ ... (AstrometricParameters.quality_flags == 0) &\ ... (AstrometricParameters.is_valid == 1) 9. awe> astrom_params = astrom_query.max('creation_date') 10. awe> photom_params = PhotometricParameters.select_for_raw(reduced.raw) 11. awe> gain = GainLinearity.select_for_raw(reduced.raw) 12. awe> from astro.util.PlateSystem import PlateSystem 13. awe> platesystem = PlateSystem() 14. awe> ra, dec = platesystem.get_field_centre(reduced.astrom.CRVAL1, ... reduced.astrom.CRVAL2) 15. awe> grid_target = GridTarget() 16. awe> grid_target.RA = ra 17. awe> grid_target.DEC = dec 18. awe> grid_target.pixelscale = 0.20 19. awe> regrid = RegriddedFrame() 20. awe> regrid.process_params.MAXIMUM_PSF_DIFFERENCE = 0.30 21. awe> regrid.swarpconf.SUBTRACT_BACK = 'Y' 22. awe> regrid.swarpconf.BACK_SIZE = 256 23. awe> regrid.reduced = reduced 24. awe> regrid.grid_target = grid_target 25. awe> regrid.astrom_params = astrom_params 26. awe> regrid.photom_params = photom_params 27. awe> regrid.gain = gain 28. awe> regrid.reduced.retrieve() 29. awe> regrid.reduced.weight.retrieve() 30. awe> regrid.set_filename() 31. awe> regrid.make() 32. awe> regrid.store() 33. awe> regrid.weight.store() 34. awe> regrid.commit()In steps (1)-(6), the classes relevant for this processing step are imported. In steps (7)-(11), the database is queried for the necessary dependencies. In step (7), the ReducedScienceFrame to be regridded is retrieved, and in steps (8)-(11) the calibration data to use. The steps (12)-(18) are unique for making a RegriddedFrame; the GridTarget is a non-ProcessTarget object that provides the RegriddedFrame its regrid center. The RA and DEC of the GridTarget are determined by a system that divides the sky in a set of pre-determined plates (hence the steps (12)-(14)). In steps (19)-(22), the RegriddedFrame object is instantiated, and a few of its process configuration parameters are set. In steps (23)-(30), the dependencies of the RegriddedFrame are set, and the pixel-data of the input ReducedScienceFrame and its associated weight are retrieved from the fileserver. In step (30), the filename of the RegriddedFrame to be is created and set. Finally, in steps (31)-(34), the RegriddedFrame is made, its pixel-data is stored, and the object itself is committed to the database. Note that in step (33), the WeightFrame associated with the RegriddedFrame object is also stored; the weights are a very important by-product of making the RegriddedFrame that should never be forgotten.