From aa8819368bf362a3014f2474a7f6c8829bb762e4 Mon Sep 17 00:00:00 2001
From: Ger van Diepen <diepen@astron.nl>
Date: Mon, 7 Jul 2008 14:34:22 +0000
Subject: [PATCH] Bug 1207: Improved for real mwimager usage

---
 CEP/BB/MWImager/src/ConvertParset.cc          | 12 ++-
 CEP/BB/MWImager/src/Makefile.am               |  2 +-
 CEP/BB/MWImager/src/mwimager                  | 41 ++++++----
 CEP/BB/MWImager/src/mwimager-part             | 30 ++++---
 .../MWImager/test/tconvertimagerparset.stdout | 26 +++----
 CEP/BB/MWImager/test/tmwimager.in_cd          |  4 +-
 CEP/BB/MWImager/test/tmwimager.in_vd          |  6 +-
 CEP/BB/MWImager/test/tmwimager.stdout         | 78 +++++++++----------
 8 files changed, 111 insertions(+), 88 deletions(-)

diff --git a/CEP/BB/MWImager/src/ConvertParset.cc b/CEP/BB/MWImager/src/ConvertParset.cc
index 66c35fb5f96..17ef67119ad 100644
--- a/CEP/BB/MWImager/src/ConvertParset.cc
+++ b/CEP/BB/MWImager/src/ConvertParset.cc
@@ -63,11 +63,15 @@ namespace LOFAR {
       ostringstream osvec;
       osvec << restoreBeamStr;
       out.add ("Cimager.restore.beam", osvec.str());
-      // The output name is the MS name minus the possibly trailing .MS.
+      // The output name is the base MS name minus the possible extension.
       outname = dataset;
-      string::size_type pos = outname.rfind (".MS");
+      string::size_type pos = outname.rfind ('.');
       if (pos != string::npos) {
-	outname.erase (pos);
+	outname = outname.substr (0, pos);
+      }
+      pos = outname.rfind ('/');
+      if (pos != string::npos) {
+	outname = outname.substr (pos+1);
       }
     }
     {
@@ -110,7 +114,7 @@ namespace LOFAR {
       string angle1    = imin.getString ("ra");
       string angle2    = imin.getString ("dec");
       string dirType   = imin.getString ("directionType");
-      string nchan     = imin.getString ("nchan");
+      string nchan     = imin.getString ("nchan", "1");
       string shape     = imin.getString ("shape");
       string frequency = imin.getString ("frequency");
       vector<string> stokes   = imin.getStringVector ("stokes");
diff --git a/CEP/BB/MWImager/src/Makefile.am b/CEP/BB/MWImager/src/Makefile.am
index 29c5840a105..0d25015e794 100644
--- a/CEP/BB/MWImager/src/Makefile.am
+++ b/CEP/BB/MWImager/src/Makefile.am
@@ -15,7 +15,7 @@ versionmwimager_LDADD        = libmwimager.la
 versionmwimager_DEPENDENCIES = libmwimager.la $(LOFAR_DEPEND)
 
 scriptdir = $(bindir)
-dist_script_SCRIPTS = mwimager
+dist_script_SCRIPTS = mwimager mwimager-part
 
 include $(top_srcdir)/Makefile.common
 
diff --git a/CEP/BB/MWImager/src/mwimager b/CEP/BB/MWImager/src/mwimager
index 11f5b730706..a99961f61d5 100755
--- a/CEP/BB/MWImager/src/mwimager
+++ b/CEP/BB/MWImager/src/mwimager
@@ -40,7 +40,7 @@ if test $# = 0; then
   echo "run as:   mwimager parset-file [clusterdesc] [wd] [logfile] [dry] [hfn]"
   echo "       parset-file   name of parset file"
   echo "       clusterdesc   name of clusterdesc file"
-  echo "                     default is $HOME/CEP.cl;usterdesc"
+  echo "                     default is $HOME/CEP.clusterdesc"
   echo "       wd            working directory in subprocesses"
   echo "       logfile       root name of logfile of each subprocess"
   echo "                     A sequence number gets appended to it"
@@ -54,44 +54,55 @@ else
   psn=$1
   shift
 fi
-cdn=$HOME/CEP.clusterdesc
+cdn=
 if test $# != 0; then
   cdn=$1
   shift
 fi
-wd=0
+if test "$cdn" = ""; then
+  cdn=$HOME/CEP.clusterdesc
+fi
+wd=
 if test $# != 0; then
   wd=$1
   shift
 fi
+if test "$wd" = ""; then
+  wd=.
+fi
 logfile=
 if test $# != 0; then
   logfile=$1
   shift
 fi
-dry=0
+dry=
 if test $# != 0; then
   dry=$1
   shift
 fi
+if test "$dry" = ""; then
+  dry="nodry"
+fi
 hfn=
 if test $# != 0; then
   hfn=$1
   shift
 fi
 
-# Prepend parset with pwd if it has a relative file name.
-case "$psn" in
-    /*)
-	;;
-    *)
-	psn=$wd/$psn
-	;;
-esac
+# Make all file names absolute.
+wd=`cd $wd > /dev/null; pwd`
+dn=`dirname $psn`
+psn=`cd $dn > /dev/null; pwd`/`basename $psn`
+dn=`dirname $cdn`
+cdn=`cd $dn > /dev/null; pwd`/`basename $cdn`
+if test "$hfn" != ""; then
+  dn=`dirname $hfn`
+  hfn=`cd $dn > /dev/null; pwd`/`basename $hfn`
+fi
 
 # Get dataset name from the parset.
-msname=`getparsetvalue $psn dataset` || exit 1
+msvds=`getparsetvalue $psn dataset` || exit 1
 
 # Start the imager processes on the various machines.
-echo "startdistproc -mode 0 -nomasterhost -dsn $msname -hfn "$hfn" -cdn $cdn -logfile "$logfile" $pgmpath/mwimager-part $LOFARROOT $psn $wd $dry"
-startdistproc -mode 0 -nomasterhost -dsn $msname -hfn "$hfn" -cdn $cdn -logfile "$logfile" $pgmpath/mwimager-part $LOFARROOT $psn $wd $dry
+echo "startdistproc -mode 0 -nomasterhost -dsn $msvds -hfn "$hfn" -cdn $cdn -logfile "$logfile" $pgmpath/mwimager-part $LOFARROOT $psn $wd $dry"
+startdistproc -mode 0 -nomasterhost -dsn "$msvds" -hfn "$hfn" -cdn "$cdn" -logfile "$logfile" $pgmpath/mwimager-part "$LOFARROOT" "$psn" "$wd" "$dry"
diff --git a/CEP/BB/MWImager/src/mwimager-part b/CEP/BB/MWImager/src/mwimager-part
index 452fed9e368..d4ca6198849 100755
--- a/CEP/BB/MWImager/src/mwimager-part
+++ b/CEP/BB/MWImager/src/mwimager-part
@@ -27,6 +27,8 @@
 pgmpath=`dirname $0`
 pgmpath=`cd $pgmpath > /dev/null 2>&1  &&  pwd`
 
+echo "$@" >> $HOME/xxx
+
 if test $# != 10; then
   echo "run as:   mwimager-part dummy dummy dummy dummy rank ms-part"
   echo "                        lofarroot parset-file wd dry"
@@ -44,38 +46,42 @@ psn=$4
 wd=$5
 dry=$6
 
+psnbase=`basename $psn`
+
 # Initialize lofar environment.
 . $lroot/lofarinit.sh
 # Set to working directory.
 cd $wd
 
 # Add channel info to the parset file.
-cp $psn $psn.part$seqnr
-schan=`getparsetvalue $psn.part$seqnr firstchan 2>/dev/null` || schan=0
-echan=`getparsetvalue $psn.part$seqnr lastchan  2>/dev/null` || echan=-1
-sfreq=`getparsetvalue $msn.vds StartFreqs schan` || exit 1
-efreq=`getparsetvalue $msn.vds EndFreqs   echan` || exit 1
-dname=`getparsetvalue $msn.vds Name` || exit 1
-echo "Images.frequency = [$sfreq, $efreq]" >> $psn.part$seqnr
-sed -e "s/^ *dataset * =.*/dataset = $dname/" $psn.part$seqnr > $psn.part$seqnr-tmp
+cp $psn $psnbase.part$seqnr
+schan=`getparsetvalue $psnbase.part$seqnr firstchan 2>/dev/null` || schan=0
+echan=`getparsetvalue $psnbase.part$seqnr lastchan  2>/dev/null` || echan=-1
+sfreq=`getparsetvalue $msn StartFreqs schan` || exit 1
+efreq=`getparsetvalue $msn EndFreqs   echan` || exit 1
+dname=`getparsetvalue $msn Name` || exit 1
+echo "$schan $echan $sfreq $efreq $dname" >> $HOME/xxx
+echo "Images.frequency = [$sfreq, $efreq]" >> $psnbase.part$seqnr
+sed -e "s%^ *dataset * =.*%dataset = $dname%" $psnbase.part$seqnr > $psnbase.part$seqnr-tmp
 mv $psn.part$seqnr-tmp $psn.part$seqnr
 
 # Convert parset file from SAS format to cimager format.
 # Normally convertimagerparset is in the same installed directory as the script,
 # but in case of 'make check' it is in the src directory.
 if test -e $pgmpath/convertimagerparset; then
-  $pgmpath/convertimagerparset $psn.part$seqnr $psn.part$seqnr.cvt
+  $pgmpath/convertimagerparset $psnbase.part$seqnr $psnbase.part$seqnr.cvt
 else
-  ../src/convertimagerparset $psn.part$seqnr $psn.part$seqnr.cvt
+  ../src/convertimagerparset $psnbase.part$seqnr $psnbase.part$seqnr.cvt
 fi
 
 if test "$dry" = dry; then
-  cat $psn.part$seqnr.cvt
+  cat $psnbase.part$seqnr.cvt
   exit 0
 fi
 
 # Run the imager.
-~/askapsoft/Code/Components/Synthesis/synthesis/trunk/apps/cimager.sh -inputs $psn.part$seqnr.cvt
+echo "~/askapsoft/Code/Components/Synthesis/synthesis/trunk/apps/cimager.sh -inputs $psnbase.part$seqnr.cvt" > $HOME/xxx
+~/askapsoft/Code/Components/Synthesis/synthesis/trunk/apps/cimager.sh -inputs $psnbase.part$seqnr.cvt
 
 # Convert to FITS.
 ## image2fits 
diff --git a/CEP/BB/MWImager/test/tconvertimagerparset.stdout b/CEP/BB/MWImager/test/tconvertimagerparset.stdout
index 1eb86a233c2..78c010f1e53 100644
--- a/CEP/BB/MWImager/test/tconvertimagerparset.stdout
+++ b/CEP/BB/MWImager/test/tconvertimagerparset.stdout
@@ -1,17 +1,17 @@
-Cimager.Images.Names=[image.i.abc/def_Dirty,image.q.abc/def_Dirty,image.u.abc/def_Dirty,image.v.abc/def_Dirty]
+Cimager.Images.Names=[image.i.def_Dirty,image.q.def_Dirty,image.u.def_Dirty,image.v.def_Dirty]
 Cimager.Images.cellsize=[240arcsec,240arcsec]
-Cimager.Images.image.i.abc/def_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.i.abc/def_Dirty.frequency=[12345678, 12345679]
-Cimager.Images.image.i.abc/def_Dirty.nchan=1
-Cimager.Images.image.q.abc/def_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.q.abc/def_Dirty.frequency=[12345678, 12345679]
-Cimager.Images.image.q.abc/def_Dirty.nchan=1
-Cimager.Images.image.u.abc/def_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.u.abc/def_Dirty.frequency=[12345678, 12345679]
-Cimager.Images.image.u.abc/def_Dirty.nchan=1
-Cimager.Images.image.v.abc/def_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.v.abc/def_Dirty.frequency=[12345678, 12345679]
-Cimager.Images.image.v.abc/def_Dirty.nchan=1
+Cimager.Images.image.i.def_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.i.def_Dirty.frequency=[12345678, 12345679]
+Cimager.Images.image.i.def_Dirty.nchan=1
+Cimager.Images.image.q.def_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.q.def_Dirty.frequency=[12345678, 12345679]
+Cimager.Images.image.q.def_Dirty.nchan=1
+Cimager.Images.image.u.def_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.u.def_Dirty.frequency=[12345678, 12345679]
+Cimager.Images.image.u.def_Dirty.nchan=1
+Cimager.Images.image.v.def_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.v.def_Dirty.frequency=[12345678, 12345679]
+Cimager.Images.image.v.def_Dirty.nchan=1
 Cimager.Images.shape=[2048, 2048]
 Cimager.MinUV=1.0
 Cimager.datacolumn=CORRECTED_DATA
diff --git a/CEP/BB/MWImager/test/tmwimager.in_cd b/CEP/BB/MWImager/test/tmwimager.in_cd
index 7ac410e08f5..0460785ee93 100644
--- a/CEP/BB/MWImager/test/tmwimager.in_cd
+++ b/CEP/BB/MWImager/test/tmwimager.in_cd
@@ -1,6 +1,8 @@
-ClusterName = cl
+ClusterName = test
 NNodes = 2
 Node0.NodeName = localhost
 Node0.NodeFileSys = [node1:/usr]
+Node0.NodeMountPoints = /
 Node1.NodeName = localhost
 Node1.NodeFileSys = [node1:/usr]
+Node1.NodeMountPoints = /
diff --git a/CEP/BB/MWImager/test/tmwimager.in_vd b/CEP/BB/MWImager/test/tmwimager.in_vd
index 97c81980069..e6d7b16e00f 100644
--- a/CEP/BB/MWImager/test/tmwimager.in_vd
+++ b/CEP/BB/MWImager/test/tmwimager.in_vd
@@ -4,7 +4,7 @@ EndTime = 2
 StepTime = 0.5
 NParts = 3
 
-Part0.Name = tmwimager.in_ms0
+Part0.Name = tmwimager.in_ms0.vds
 Part0.FileSys = node1:/usr
 Part0.StartTime = 0
 Part0.EndTime = 2
@@ -13,7 +13,7 @@ Part0.NChan = [2]
 Part0.StartFreqs = [20,25]
 Part0.EndFreqs = [22,30]
 
-Part1.Name = tmwimager.in_ms1
+Part1.Name = tmwimager.in_ms1.vds
 Part1.FileSys = node1:/usr
 Part1.StartTime = 0
 Part1.EndTime = 2
@@ -22,7 +22,7 @@ Part1.NChan = [2]
 Part1.StartFreqs = [120,125]
 Part1.EndFreqs = [122,130]
 
-Part2.Name = tmwimager.in_ms2
+Part2.Name = tmwimager.in_ms2.vds
 Part2.FileSys = node1:/usr
 Part2.StartTime = 0
 Part2.EndTime = 2
diff --git a/CEP/BB/MWImager/test/tmwimager.stdout b/CEP/BB/MWImager/test/tmwimager.stdout
index cd7c439d199..8595463a546 100644
--- a/CEP/BB/MWImager/test/tmwimager.stdout
+++ b/CEP/BB/MWImager/test/tmwimager.stdout
@@ -5,20 +5,20 @@ ssh localhost /Users/diepen/sim/LOFAR/CEP/BB/MWImager/src/mwimager-part socket l
 ssh localhost /Users/diepen/sim/LOFAR/CEP/BB/MWImager/src/mwimager-part socket localhost 0 3 1 tmwimager.in_ms1 /Users/diepen/sim/LOFAR/installed/gnu_opt /Users/diepen/sim/LOFAR/CEP/BB/MWImager/build/gnu_opt/test/tmwimager.parset /Users/diepen/sim/LOFAR/CEP/BB/MWImager/build/gnu_opt/test dry
 ssh localhost /Users/diepen/sim/LOFAR/CEP/BB/MWImager/src/mwimager-part socket localhost 0 3 2 tmwimager.in_ms2 /Users/diepen/sim/LOFAR/installed/gnu_opt /Users/diepen/sim/LOFAR/CEP/BB/MWImager/build/gnu_opt/test/tmwimager.parset /Users/diepen/sim/LOFAR/CEP/BB/MWImager/build/gnu_opt/test dry
 <<<
-Cimager.Images.Names=[image.i.tmwimager.in_ms0_Dirty,image.q.tmwimager.in_ms0_Dirty,image.u.tmwimager.in_ms0_Dirty,image.v.tmwimager.in_ms0_Dirty]
+Cimager.Images.Names=[image.i.tmwimager_Dirty,image.q.tmwimager_Dirty,image.u.tmwimager_Dirty,image.v.tmwimager_Dirty]
 Cimager.Images.cellsize=[240arcsec,240arcsec]
-Cimager.Images.image.i.tmwimager.in_ms0_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.i.tmwimager.in_ms0_Dirty.frequency=[20, 22]
-Cimager.Images.image.i.tmwimager.in_ms0_Dirty.nchan=1
-Cimager.Images.image.q.tmwimager.in_ms0_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.q.tmwimager.in_ms0_Dirty.frequency=[20, 22]
-Cimager.Images.image.q.tmwimager.in_ms0_Dirty.nchan=1
-Cimager.Images.image.u.tmwimager.in_ms0_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.u.tmwimager.in_ms0_Dirty.frequency=[20, 22]
-Cimager.Images.image.u.tmwimager.in_ms0_Dirty.nchan=1
-Cimager.Images.image.v.tmwimager.in_ms0_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.v.tmwimager.in_ms0_Dirty.frequency=[20, 22]
-Cimager.Images.image.v.tmwimager.in_ms0_Dirty.nchan=1
+Cimager.Images.image.i.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.i.tmwimager_Dirty.frequency=[20, 22]
+Cimager.Images.image.i.tmwimager_Dirty.nchan=1
+Cimager.Images.image.q.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.q.tmwimager_Dirty.frequency=[20, 22]
+Cimager.Images.image.q.tmwimager_Dirty.nchan=1
+Cimager.Images.image.u.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.u.tmwimager_Dirty.frequency=[20, 22]
+Cimager.Images.image.u.tmwimager_Dirty.nchan=1
+Cimager.Images.image.v.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.v.tmwimager_Dirty.frequency=[20, 22]
+Cimager.Images.image.v.tmwimager_Dirty.nchan=1
 Cimager.Images.shape=[2048, 2048]
 Cimager.MinUV=1.0
 Cimager.datacolumn=CORRECTED_DATA
@@ -39,20 +39,20 @@ Cimager.solver.Clean.gain=1.0
 Cimager.solver.Clean.niter=10
 Cimager.solver.Clean.scales=[0, 3]
 Cimager.solver.Clean.verbose=True
-Cimager.Images.Names=[image.i.tmwimager.in_ms1_Dirty,image.q.tmwimager.in_ms1_Dirty,image.u.tmwimager.in_ms1_Dirty,image.v.tmwimager.in_ms1_Dirty]
+Cimager.Images.Names=[image.i.tmwimager_Dirty,image.q.tmwimager_Dirty,image.u.tmwimager_Dirty,image.v.tmwimager_Dirty]
 Cimager.Images.cellsize=[240arcsec,240arcsec]
-Cimager.Images.image.i.tmwimager.in_ms1_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.i.tmwimager.in_ms1_Dirty.frequency=[120, 122]
-Cimager.Images.image.i.tmwimager.in_ms1_Dirty.nchan=1
-Cimager.Images.image.q.tmwimager.in_ms1_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.q.tmwimager.in_ms1_Dirty.frequency=[120, 122]
-Cimager.Images.image.q.tmwimager.in_ms1_Dirty.nchan=1
-Cimager.Images.image.u.tmwimager.in_ms1_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.u.tmwimager.in_ms1_Dirty.frequency=[120, 122]
-Cimager.Images.image.u.tmwimager.in_ms1_Dirty.nchan=1
-Cimager.Images.image.v.tmwimager.in_ms1_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.v.tmwimager.in_ms1_Dirty.frequency=[120, 122]
-Cimager.Images.image.v.tmwimager.in_ms1_Dirty.nchan=1
+Cimager.Images.image.i.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.i.tmwimager_Dirty.frequency=[120, 122]
+Cimager.Images.image.i.tmwimager_Dirty.nchan=1
+Cimager.Images.image.q.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.q.tmwimager_Dirty.frequency=[120, 122]
+Cimager.Images.image.q.tmwimager_Dirty.nchan=1
+Cimager.Images.image.u.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.u.tmwimager_Dirty.frequency=[120, 122]
+Cimager.Images.image.u.tmwimager_Dirty.nchan=1
+Cimager.Images.image.v.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.v.tmwimager_Dirty.frequency=[120, 122]
+Cimager.Images.image.v.tmwimager_Dirty.nchan=1
 Cimager.Images.shape=[2048, 2048]
 Cimager.MinUV=1.0
 Cimager.datacolumn=CORRECTED_DATA
@@ -73,20 +73,20 @@ Cimager.solver.Clean.gain=1.0
 Cimager.solver.Clean.niter=10
 Cimager.solver.Clean.scales=[0, 3]
 Cimager.solver.Clean.verbose=True
-Cimager.Images.Names=[image.i.tmwimager.in_ms2_Dirty,image.q.tmwimager.in_ms2_Dirty,image.u.tmwimager.in_ms2_Dirty,image.v.tmwimager.in_ms2_Dirty]
+Cimager.Images.Names=[image.i.tmwimager_Dirty,image.q.tmwimager_Dirty,image.u.tmwimager_Dirty,image.v.tmwimager_Dirty]
 Cimager.Images.cellsize=[240arcsec,240arcsec]
-Cimager.Images.image.i.tmwimager.in_ms2_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.i.tmwimager.in_ms2_Dirty.frequency=[220, 222]
-Cimager.Images.image.i.tmwimager.in_ms2_Dirty.nchan=1
-Cimager.Images.image.q.tmwimager.in_ms2_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.q.tmwimager.in_ms2_Dirty.frequency=[220, 222]
-Cimager.Images.image.q.tmwimager.in_ms2_Dirty.nchan=1
-Cimager.Images.image.u.tmwimager.in_ms2_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.u.tmwimager.in_ms2_Dirty.frequency=[220, 222]
-Cimager.Images.image.u.tmwimager.in_ms2_Dirty.nchan=1
-Cimager.Images.image.v.tmwimager.in_ms2_Dirty.direction=[230.35,-10,345,J2000]
-Cimager.Images.image.v.tmwimager.in_ms2_Dirty.frequency=[220, 222]
-Cimager.Images.image.v.tmwimager.in_ms2_Dirty.nchan=1
+Cimager.Images.image.i.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.i.tmwimager_Dirty.frequency=[220, 222]
+Cimager.Images.image.i.tmwimager_Dirty.nchan=1
+Cimager.Images.image.q.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.q.tmwimager_Dirty.frequency=[220, 222]
+Cimager.Images.image.q.tmwimager_Dirty.nchan=1
+Cimager.Images.image.u.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.u.tmwimager_Dirty.frequency=[220, 222]
+Cimager.Images.image.u.tmwimager_Dirty.nchan=1
+Cimager.Images.image.v.tmwimager_Dirty.direction=[230.35,-10,345,J2000]
+Cimager.Images.image.v.tmwimager_Dirty.frequency=[220, 222]
+Cimager.Images.image.v.tmwimager_Dirty.nchan=1
 Cimager.Images.shape=[2048, 2048]
 Cimager.MinUV=1.0
 Cimager.datacolumn=CORRECTED_DATA
-- 
GitLab