|
7 | 7 | from factor.lib.action import action
|
8 | 8 | from factor.lib.action_lib import makeimagename
|
9 | 9 |
|
| 10 | +from jinja2 import Environment, FileSystemLoader |
| 11 | +import os |
| 12 | + |
| 13 | + |
| 14 | +DIR = os.path.dirname(os.path.abspath(__file__)) |
| 15 | +env = Environment(loader=FileSystemLoader(os.path.join(DIR, 'templates'))) |
| 16 | + |
| 17 | + |
10 | 18 | class imager(action):
|
11 | 19 | """
|
12 |
| - Implment the imager action |
| 20 | + Implement the imager action |
13 | 21 | """
|
14 | 22 |
|
15 | 23 | def __init__(self, op_name, ms, prefix='', niter=None, imsize=None, cell=None, uvrange=None, mask=None, clean=True):
|
16 | 24 | super(imager, self).__init__(op_name, name = 'imager')
|
17 |
| - self.ms = ms |
18 |
| - self.prefix = prefix |
19 |
| - self.niter = niter |
20 |
| - self.imsize = imsize |
21 |
| - self.cell = cell |
22 |
| - self.uvrange = uvrange |
23 |
| - self.mask = mask |
| 25 | + self.d = {"ms": ms, |
| 26 | + "prefix": prefix, |
| 27 | + "niter": niter, |
| 28 | + "imsize": imsize, |
| 29 | + "cell": cell, |
| 30 | + "uvrange": uvrange, |
| 31 | + "mask": mask, |
| 32 | + "clean": clean, # Do we need this here? |
| 33 | + "image": makeimagename(ms, prefix), |
| 34 | + } |
24 | 35 | self.clean = clean
|
25 |
| - self.image = makeimagename(ms, prefix) |
26 |
| - |
| 36 | + |
| 37 | + def _get_command(self): |
| 38 | + template_imager = env.get_template('imager.tpl') |
| 39 | + cmd = 'casapy --nologger --log2term -c %s' % template_imager.render(self.d) |
| 40 | + |
27 | 41 | def run(self):
|
28 |
| - # TODO: implement the template |
29 |
| - template_imager = make_template(ms = self.ms, image = self.image, \ |
30 |
| - niter = self.niter, imsize = self.imsize, cell = self.cell, uvrange = self.uvrange, mask = self.mask) |
31 |
| - cmd = 'casapy --nologger --log2term -c %s' % template_imager |
32 |
| - exec_cmd(cmd) |
| 42 | + exec_cmd(self.cmd) |
33 | 43 |
|
34 |
| - if clean: os.system('rm -rf %s.mask %s.flux %s.psf' % (image, image, image)) |
| 44 | + if clean: |
| 45 | + os.system('rm -rf %s.mask %s.flux %s.psf' % (image, image, image)) |
35 | 46 |
|
36 | 47 | def get_results(self):
|
37 | 48 | """
|
|
0 commit comments