Build: #2 failed

Job: Tag Branch for Packages was successful

Stages & jobs

  1. Tag Branch

  2. Default Stage

  3. Create Critial Test Plan Branch

Build log

The build generated 355,060 lines of output.The output is too long and has been truncated to the last 1,000 lines. Download or view full build log.

07-Mar-2019 19:06:04 -namespace casacore{
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  class LogIO;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -namespace casa
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  class SideBandSeparatorII;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/sidebandseparator_private.h b/gcwrap/tools/synthesis/sidebandseparator_private.h
07-Mar-2019 19:06:04 deleted file mode 100644
07-Mar-2019 19:06:04 index d66e423..0000000
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/sidebandseparator_private.h
07-Mar-2019 19:06:04 +++ /dev/null
07-Mar-2019 19:06:04 @@ -1,10 +0,0 @@
07-Mar-2019 19:06:04 -/*
07-Mar-2019 19:06:04 - * sidebandseparator_private.h
07-Mar-2019 19:06:04 - *
07-Mar-2019 19:06:04 - *  Created on: 2017/08/01
07-Mar-2019 19:06:04 - *      Author: kana
07-Mar-2019 19:06:04 - */
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -casa::SideBandSeparatorII *itsSep;
07-Mar-2019 19:06:04 -casacore::LogIO *itsLog;
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/simulator_cmpt.cc b/gcwrap/tools/synthesis/simulator_cmpt.cc
07-Mar-2019 19:06:04 index e137626..695a081 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/simulator_cmpt.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/simulator_cmpt.cc
07-Mar-2019 19:06:04 @@ -612,13 +612,10 @@ simulator::predict(const std::vector<std::string>& modelImage, const std::string
07-Mar-2019 19:06:04        if (!modelImage[i].empty()) {
07-Mar-2019 19:06:04         _imageF.reset();
07-Mar-2019 19:06:04         _imageC.reset();
07-Mar-2019 19:06:04 -    // NOTE. fromFile() now returns more than two pointers in the tuple        
07-Mar-2019 19:06:04 -    std::tie(_imageF, _imageC, std::ignore, std::ignore) = ImageFactory::fromFile(modelImage[i]);
07-Mar-2019 19:06:04 -    ThrowIf(
07-Mar-2019 19:06:04 -        ! (_imageF || _imageC),
07-Mar-2019 19:06:04 -        "Unsupported image data type"
07-Mar-2019 19:06:04 -    );
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 +        
07-Mar-2019 19:06:04 +        auto ret = ImageFactory::fromFile(modelImage[i]);
07-Mar-2019 19:06:04 +        _imageF = ret.first;
07-Mar-2019 19:06:04 +        _imageC = ret.second;
07-Mar-2019 19:06:04         
07-Mar-2019 19:06:04         auto unit =_imageF
07-Mar-2019 19:06:04           ? _imageF->units().getName()
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/simulator_private.h b/gcwrap/tools/synthesis/simulator_private.h
07-Mar-2019 19:06:04 index a9292a7..f521f73 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/simulator_private.h
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/simulator_private.h
07-Mar-2019 19:06:04 @@ -1,6 +1,6 @@
07-Mar-2019 19:06:04 casa::Simulator *itsSim;
07-Mar-2019 19:06:04 casacore::LogIO *itsLog;
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -//std::shared_ptr<casa::ImageAnalysis> _image;
07-Mar-2019 19:06:04 +//SHARED_PTR<casa::ImageAnalysis> _image;
07-Mar-2019 19:06:04 casa::SPIIF _imageF;
07-Mar-2019 19:06:04 casa::SPIIC _imageC;
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisdeconvolver.xml b/gcwrap/tools/synthesis/synthesisdeconvolver.xml
07-Mar-2019 19:06:04 index d3120e0..233d9d0 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisdeconvolver.xml
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisdeconvolver.xml
07-Mar-2019 19:06:04 @@ -150,18 +150,6 @@ This is used to construct {\tt synthesisdeconvolver} tool.
07-Mar-2019 19:06:04 <returns type="bool"/>
07-Mar-2019 19:06:04 </method>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -   <method type="function" name="checkrestoringbeam">
07-Mar-2019 19:06:04 -   <shortdescription>check restoring beam.</shortdescription>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input>
07-Mar-2019 19:06:04 -</input>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<returns type="bool"/>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 <!-- ===========================
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04     <method type="function" name="testsummary">
07-Mar-2019 19:06:04 @@ -181,7 +169,6 @@ This is used to construct {\tt synthesisdeconvolver} tool.
07-Mar-2019 19:06:04 <returns type="bool"/>
07-Mar-2019 19:06:04 </method>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 ============================== -->
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04     <method type="function" name="done">
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisdeconvolver_cmpt.cc b/gcwrap/tools/synthesis/synthesisdeconvolver_cmpt.cc
07-Mar-2019 19:06:04 index d19514f..3f1e863 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisdeconvolver_cmpt.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisdeconvolver_cmpt.cc
07-Mar-2019 19:06:04 @@ -129,16 +129,6 @@ bool synthesisdeconvolver::pbcor()
07-Mar-2019 19:06:04    return rstat;
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -bool synthesisdeconvolver::checkrestoringbeam()
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  casac::record* rstat(0);
07-Mar-2019 19:06:04 -  try {
07-Mar-2019 19:06:04 -    itsDeconvolver->checkRestoringBeam();
07-Mar-2019 19:06:04 -  } catch  (AipsError x) {
07-Mar-2019 19:06:04 -    RETHROW(x);
07-Mar-2019 19:06:04 -  }
07-Mar-2019 19:06:04 -  return rstat;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04    /*
07-Mar-2019 19:06:04    bool synthesisdeconvolver::testsummary(const casac::image *imt)
07-Mar-2019 19:06:04 {
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisimager.xml b/gcwrap/tools/synthesis/synthesisimager.xml
07-Mar-2019 19:06:04 index 484f687..ec7c3c6 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisimager.xml
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisimager.xml
07-Mar-2019 19:06:04 @@ -357,55 +357,52 @@ Define the image coordinate systems and shapes.
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="aterm">
07-Mar-2019 19:06:04 -     <description>Set the antenna aperture tmer (aterm) on/off</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>true</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="psterm">
07-Mar-2019 19:06:04 -     <description>Set the Prolate Spheroidal term (psterm) on/off</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>true</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="mterm">
07-Mar-2019 19:06:04 -     <description>Set the mosaic term (mterm) on/off</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>false</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="wbawp">
07-Mar-2019 19:06:04 -     <description>Set usage of the wide-band A-Projection algorithm</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>true</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="string" name="cfcache">
07-Mar-2019 19:06:04 -     <description>Name of convolution function disk cache</description>
07-Mar-2019 19:06:04 +     <description>Name of convolution function</description>
07-Mar-2019 19:06:04       <value></value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="dopointing">
07-Mar-2019 19:06:04 -     <description>Control application of the pointing correction</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>false</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="dopbcorr">
07-Mar-2019 19:06:04 -     <description>Control normalization of the raw image by the model PB</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>true</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="bool" name="conjbeams">
07-Mar-2019 19:06:04 -     <description>Set conjbeams on/off </description>
07-Mar-2019 19:06:04 -     <value>false</value>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04 +     <value>true</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="float" name="computepastep">
07-Mar-2019 19:06:04 -     <description>Increment in PA after which re-computation of the
07-Mar-2019 19:06:04 -     GCFs is triggered.  360.0 implies compute GCFs for only the first
07-Mar-2019 19:06:04 -     PA value encountered in the MS.</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>360.0</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04       <param type="float" name="rotatepastep">
07-Mar-2019 19:06:04 -     <description>Increment in PA after which trigger in-memory
07-Mar-2019 19:06:04 -     rotation of the GCF nearest to the current PA value in the CF cache.</description>
07-Mar-2019 19:06:04 +     <description>Double Precision gridding or not</description>
07-Mar-2019 19:06:04       <value>5.0</value>
07-Mar-2019 19:06:04       </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 @@ -571,7 +568,7 @@ Define the image coordinate systems and shapes.
07-Mar-2019 19:06:04         Use WB A-Projection algorithm (use frequency-conjugate beams)?
07-Mar-2019 19:06:04        </description>
07-Mar-2019 19:06:04        <value>
07-Mar-2019 19:06:04 -        false
07-Mar-2019 19:06:04 +        true
07-Mar-2019 19:06:04        </value>
07-Mar-2019 19:06:04      </param>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 @@ -641,79 +638,7 @@ Define the image coordinate systems and shapes.
07-Mar-2019 19:06:04 <input/>
07-Mar-2019 19:06:04 <returns type="bool"/>
07-Mar-2019 19:06:04 </method>
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -   <method type="function" name="makeimage">
07-Mar-2019 19:06:04 -   <shortdescription>calculate images of different type by gridding</shortdescription>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -This tool function actually does gridding (and Fourier inversion if
07-Mar-2019 19:06:04 -needed) of visibility data to make an image. It allows calculation of
07-Mar-2019 19:06:04 -various types of image:
07-Mar-2019 19:06:04 -\begin{description}
07-Mar-2019 19:06:04 -\item[observed] Make the dirty image from the DATA column ({\em default})
07-Mar-2019 19:06:04 -\item[model] Make the dirty image from the MODEL\_DATA column
07-Mar-2019 19:06:04 -\item[corrected] Make the dirty image from the CORRECTED\_DATA column
07-Mar-2019 19:06:04 -\item[residual] Make the dirty image from the difference of the
07-Mar-2019 19:06:04 -CORRECTED\_DATA and MODEL\_DATA columns
07-Mar-2019 19:06:04 -\item[psf] Make the point spread function
07-Mar-2019 19:06:04 -\item[singledish] Make a single dish image
07-Mar-2019 19:06:04 -\item[coverage] Make a single dish or mosaic coverage image
07-Mar-2019 19:06:04 -\item[holography] Make a complex holography image (experimental)
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -\end{description}
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="string" name="type">
07-Mar-2019 19:06:04 -     <description>Type of output image</description>
07-Mar-2019 19:06:04 -     <value>observed</value>
07-Mar-2019 19:06:04 -     <allowed kind="enum">
07-Mar-2019 19:06:04 -      <value>observed</value>
07-Mar-2019 19:06:04 -      <value>model</value>
07-Mar-2019 19:06:04 -      <value>corrected</value>
07-Mar-2019 19:06:04 -      <value>residual</value>
07-Mar-2019 19:06:04 -      <value>psf</value>
07-Mar-2019 19:06:04 -      <value>singledish</value>
07-Mar-2019 19:06:04 -      <value>coverage</value>
07-Mar-2019 19:06:04 -      <value>holography</value>
07-Mar-2019 19:06:04 -     </allowed>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="string" name="image">
07-Mar-2019 19:06:04 -     <description>Name of output image</description>
07-Mar-2019 19:06:04 -     <value></value>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="string" name="compleximage">
07-Mar-2019 19:06:04 -     <description>Name of output complex image</description>
07-Mar-2019 19:06:04 -     <value></value> 
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="int" name="model">
07-Mar-2019 19:06:04 -     <description>In case of multifield which image</description>
07-Mar-2019 19:06:04 -     <value>0</value>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -</input>
07-Mar-2019 19:06:04 -<returns type="bool"/>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -   <method type="function" name="unlockimages">
07-Mar-2019 19:06:04 -   <shortdescription>release some images attached to this process</shortdescription>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -  Try to unlock images if the need arise
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input>
07-Mar-2019 19:06:04 -   <param type="int" name="imagefieldid">
07-Mar-2019 19:06:04 -     <description>which image or outlier to unlock</description>
07-Mar-2019 19:06:04 -     <value>0</value>
07-Mar-2019 19:06:04 -   </param>
07-Mar-2019 19:06:04 -   </input>
07-Mar-2019 19:06:04 -<returns type="bool"/>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 <!-- ===================================== -->
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04     <method type="function" name="getimstore">
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisimager_cmpt.cc b/gcwrap/tools/synthesis/synthesisimager_cmpt.cc
07-Mar-2019 19:06:04 index 6079035..40781bd 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisimager_cmpt.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisimager_cmpt.cc
07-Mar-2019 19:06:04 @@ -62,7 +62,7 @@ namespace casac {
07-Mar-2019 19:06:04 {
07-Mar-2019 19:06:04    
07-Mar-2019 19:06:04    // itsImager = new SynthesisImagerVi2();
07-Mar-2019 19:06:04 -  itsLog = new LogIO();
07-Mar-2019 19:06:04 +
07-Mar-2019 19:06:04    //itsImager = new SynthesisImager();
07-Mar-2019 19:06:04    itsImager = makeSI(true);
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04 @@ -179,62 +179,22 @@ synthesisimager::selectdata(const casac::record& selpars)
07-Mar-2019 19:06:04 bool synthesisimager::defineimage(const casac::record& impars, const casac::record& gridpars)
07-Mar-2019 19:06:04 {
07-Mar-2019 19:06:04    Bool rstat(false);
07-Mar-2019 19:06:04 -  *itsLog << casacore::LogOrigin("synthesisimager", __func__);
07-Mar-2019 19:06:04 +
07-Mar-2019 19:06:04    try
07-Mar-2019 19:06:04      {
07-Mar-2019 19:06:04      
07-Mar-2019 19:06:04        //if( ! itsImager ) itsImager = new SynthesisImager();
07-Mar-2019 19:06:04        itsImager = makeSI();
07-Mar-2019 19:06:04      casacore::Record irecpars = *toRecord( impars );
07-Mar-2019 19:06:04 -    ////Temporary fix till we get the checking for phasecenter in fromRecord
07-Mar-2019 19:06:04 -    ////to deal with this
07-Mar-2019 19:06:04 -    //////////////
07-Mar-2019 19:06:04 -    String movingSource="";
07-Mar-2019 19:06:04 -    if( irecpars.dataType("phasecenter") == TpString ){
07-Mar-2019 19:06:04 -      String pcen=irecpars.asString("phasecenter");
07-Mar-2019 19:06:04 -      //seems to be a table so assuming ephemerides table
07-Mar-2019 19:06:04 -      //Or A known planet
07-Mar-2019 19:06:04 -      //Or special case
07-Mar-2019 19:06:04 -      casacore::MDirection::Types refType;
07-Mar-2019 19:06:04 -      Bool trackingNearSource= (Table::isReadable(pcen, False))
07-Mar-2019 19:06:04 -        || ( (casacore::MDirection::getType(refType, pcen)) && (refType > casacore::MDirection::N_Types && refType < casacore::MDirection:: N_Planets ))
07-Mar-2019 19:06:04 -        || (upcase(pcen)==String("TRACKFIELD"));
07-Mar-2019 19:06:04 -      if(trackingNearSource){
07-Mar-2019 19:06:04 -        *itsLog << "Detected tracking of moving source " <<  casacore::LogIO::POST;
07-Mar-2019 19:06:04 -        if(refType > casacore::MDirection::N_Types && refType < casacore::MDirection::COMET){
07-Mar-2019 19:06:04 -         
07-Mar-2019 19:06:04 -          *itsLog << "Will be Using measures internal ephemeris  for  " << casacore::MDirection::showType(refType) << " to track " << casacore::LogIO::POST;
07-Mar-2019 19:06:04 -        }
07-Mar-2019 19:06:04 -        movingSource=pcen;
07-Mar-2019 19:06:04 -        irecpars.define("phasecenter", "");
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -      //cerr << "PCEN " << pcen << "  " << irecpars.asString("phasecenter")<< endl;
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04      SynthesisParamsImage ipars;
07-Mar-2019 19:06:04      ipars.fromRecord( irecpars );
07-Mar-2019 19:06:04 -   
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 +
07-Mar-2019 19:06:04      casacore::Record grecpars = *toRecord( gridpars );
07-Mar-2019 19:06:04      SynthesisParamsGrid gpars;
07-Mar-2019 19:06:04      gpars.fromRecord( grecpars );
07-Mar-2019 19:06:04 -    ipars.trackSource=False;
07-Mar-2019 19:06:04 -    if(movingSource != casacore::String("")){
07-Mar-2019 19:06:04 -      itsImager->setMovingSource(movingSource);
07-Mar-2019 19:06:04 -      ipars.trackSource=True;
07-Mar-2019 19:06:04 -      ipars.movingSource=movingSource;
07-Mar-2019 19:06:04 -      casacore::MDirection::Types refType;
07-Mar-2019 19:06:04 -      if((casacore::MDirection::getType(refType, movingSource)) && (refType > casacore::MDirection::N_Types && refType < casacore::MDirection:: N_Planets ))
07-Mar-2019 19:06:04 -        ipars.trackDir=casacore::MDirection(refType);
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -    itsImager->defineImage( ipars, gpars );
07-Mar-2019 19:06:04 -   
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -   
07-Mar-2019 19:06:04 +    itsImager->defineImage( ipars, gpars );
07-Mar-2019 19:06:04 +
07-Mar-2019 19:06:04      /*
07-Mar-2019 19:06:04      itsImager->defineImage( ipars.imageName, ipars.imsize[0], ipars.imsize[1],
07-Mar-2019 19:06:04                             ipars.cellsize[0], ipars.cellsize[1], ipars.stokes, ipars.phaseCenter,
07-Mar-2019 19:06:04 @@ -292,7 +252,7 @@ synthesisimager::setimage(const std::string& imagename,
07-Mar-2019 19:06:04                              const std::string& cfcache,//  = "",
07-Mar-2019 19:06:04                              const bool dopointing,// = false,
07-Mar-2019 19:06:04                              const bool dopbcorr,//   = true,
07-Mar-2019 19:06:04 -                             const bool conjbeams,//  = false,
07-Mar-2019 19:06:04 +                             const bool conjbeams,//  = true,
07-Mar-2019 19:06:04                              const float computepastep,         //=360.0
07-Mar-2019 19:06:04                              const float rotatepastep          //=5.0
07-Mar-2019 19:06:04                              )
07-Mar-2019 19:06:04 @@ -585,23 +545,6 @@ bool synthesisimager::makesdimage()
07-Mar-2019 19:06:04    return rstat;
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -bool synthesisimager::makeimage(const std::string& type, const std::string& image,
07-Mar-2019 19:06:04 -                       const std::string& compleximage, const int model)
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  Bool rstat(true);
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  try {
07-Mar-2019 19:06:04 -    itsImager = makeSI();
07-Mar-2019 19:06:04 -    itsImager->makeImage(String(type), String(image), String(compleximage),
07-Mar-2019 19:06:04 -                         model );
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  } catch  (AipsError x) {
07-Mar-2019 19:06:04 -    RETHROW(x);
07-Mar-2019 19:06:04 -  }
07-Mar-2019 19:06:04 -  return rstat;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 bool synthesisimager::makesdpsf()
07-Mar-2019 19:06:04 {
07-Mar-2019 19:06:04    Bool rstat(false);
07-Mar-2019 19:06:04 @@ -617,21 +560,7 @@ bool synthesisimager::makesdpsf()
07-Mar-2019 19:06:04    }
07-Mar-2019 19:06:04    return rstat;
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04 -bool synthesisimager::unlockimages(const int id)
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  Bool rstat(false);
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -  try {
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -    //if( ! itsImager ) itsImager = new SynthesisImager();
07-Mar-2019 19:06:04 -    itsImager = makeSI();
07-Mar-2019 19:06:04 -    rstat=(itsImager->imageStore(id))->releaseLocks();
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  } catch  (AipsError x) {
07-Mar-2019 19:06:04 -    RETHROW(x);
07-Mar-2019 19:06:04 -  }
07-Mar-2019 19:06:04 -  return rstat;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 synthesisimstore* synthesisimager::getimstore(const int id)
07-Mar-2019 19:06:04 {
07-Mar-2019 19:06:04    synthesisimstore *rstat;
07-Mar-2019 19:06:04 @@ -725,9 +654,6 @@ synthesisimager::done()
07-Mar-2019 19:06:04           delete itsImager;
07-Mar-2019 19:06:04           itsImager=NULL;
07-Mar-2019 19:06:04         }
07-Mar-2019 19:06:04 -      if(itsLog)
07-Mar-2019 19:06:04 -        delete itsLog;
07-Mar-2019 19:06:04 -      itsLog=NULL;
07-Mar-2019 19:06:04      }
07-Mar-2019 19:06:04    catch  (AipsError x)
07-Mar-2019 19:06:04      {
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisimager_private.h b/gcwrap/tools/synthesis/synthesisimager_private.h
07-Mar-2019 19:06:04 index e9729cd..785f6a2 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisimager_private.h
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisimager_private.h
07-Mar-2019 19:06:04 @@ -1,5 +1,5 @@
07-Mar-2019 19:06:04 casa::SynthesisImager *itsImager;
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 casacore::String checkStr(std::string instr);
07-Mar-2019 19:06:04 -casacore::LogIO *itsLog;
07-Mar-2019 19:06:04 +
07-Mar-2019 19:06:04 casa::SynthesisImager* makeSI(bool forceNew=false, bool oldvi=false);
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesismaskhandler.xml b/gcwrap/tools/synthesis/synthesismaskhandler.xml
07-Mar-2019 19:06:04 deleted file mode 100644
07-Mar-2019 19:06:04 index 30c42ae..0000000
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesismaskhandler.xml
07-Mar-2019 19:06:04 +++ /dev/null
07-Mar-2019 19:06:04 @@ -1,107 +0,0 @@
07-Mar-2019 19:06:04 -<?xml version="1.0" encoding="UTF-8"?>
07-Mar-2019 19:06:04 -<?xml-stylesheet type="text/xsl" ?>
07-Mar-2019 19:06:04 -<casaxml xmlns="http://casa.nrao.edu/schema/psetTypes.html"
07-Mar-2019 19:06:04 -xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
07-Mar-2019 19:06:04 -xsi:schemaLocation="http://casa.nrao.edu/schema/casa.xsd
07-Mar-2019 19:06:04 -file:///opt/casa/code/tools/xml/casa.xsd">
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -        <tool name="synthesismaskhandler" module="synthesismaskhandler">
07-Mar-2019 19:06:04 -        <shortdescription>tool for mask handling in sysnthesis imaging </shortdescription>
07-Mar-2019 19:06:04 -       
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -synthesismaskhandler is a tool to manupilate mask image used in imager
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<code>
07-Mar-2019 19:06:04 -        <include>tools/synthesis/synthesismaskhandler_forward.h</include>
07-Mar-2019 19:06:04 -<private>
07-Mar-2019 19:06:04 -        <include>tools/synthesis/synthesismaskhandler_private.h</include>
07-Mar-2019 19:06:04 -</private>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</code>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -   <method type="constructor" name="synthesismaskhandler">
07-Mar-2019 19:06:04 -   <shortdescription>Construct an synthesismaskhandler tool</shortdescription>
07-Mar-2019 19:06:04 -   
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -This is used to construct {\tt synthesismaskhandler} tool.
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</input>
07-Mar-2019 19:06:04 -<returns type="synthesismaskhandler"/>
07-Mar-2019 19:06:04 -<example>
07-Mar-2019 19:06:04 -# create a synthesismaskhandler tool
07-Mar-2019 19:06:04 -maskhandler=casac.synthesismaskhandler()
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -nchan=5 # input mask is a cube of 5 channel
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -#define channel flag: 1 to skip the channel for pruning
07-Mar-2019 19:06:04 -chanflag = np.zeros(nchan)  # prune every channel
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -maskhandler.pruneregions('testMask.image',2.0, chanflag)
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -# output python dictionary contains the number of origin regions
07-Mar-2019 19:06:04 -and the number of regions removed at each channel, and prunesize used.
07-Mar-2019 19:06:04 -For skipped channels, N_reg and N_reg_pruned elements will be -1.
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -{'N_reg': array([5, 0, 0, 1, 1], dtype=uint32),
07-Mar-2019 19:06:04 - 'N_reg_pruned': array([4, 0, 0, 1, 1], dtype=uint32),
07-Mar-2019 19:06:04 - 'prunesize': 2.0}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -# the resultant pruned mask is create as  testMask.image.pruned
07-Mar-2019 19:06:04 -maskhandler.done() # to close the synthesismaskhandler tool
07-Mar-2019 19:06:04 -</example>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -   <method type="function" name="pruneregions">
07-Mar-2019 19:06:04 -   <shortdescription>prune mask regions</shortdescription>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input>
07-Mar-2019 19:06:04 -     <param type="string" name="inmaskname">
07-Mar-2019 19:06:04 -     <description>input mask image name </description>
07-Mar-2019 19:06:04 -     <value type="string"></value>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="double" name="prunesize">
07-Mar-2019 19:06:04 -     <description>size in pixels to apply pruning </description>
07-Mar-2019 19:06:04 -     <value type="double">0.0</value>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="boolArray" name="chanflag">
07-Mar-2019 19:06:04 -     <description>list of channel flags</description>
07-Mar-2019 19:06:04 -     <value type="boolArray"></value>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     <param type="string" name="outmaskname">
07-Mar-2019 19:06:04 -     <description>optional pruned mask name. If unspecified, use the default name:  inmaskname.pruned </description>
07-Mar-2019 19:06:04 -     <value type="string"></value>
07-Mar-2019 19:06:04 -     </param>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</input>
07-Mar-2019 19:06:04 -<returns type="record"/>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -   <method type="function" name="done">
07-Mar-2019 19:06:04 -   <shortdescription>close maskhandler tool</shortdescription>
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</input>
07-Mar-2019 19:06:04 -<returns type="bool"/>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</tool>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</casaxml>
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesismaskhandler_cmpt.cc b/gcwrap/tools/synthesis/synthesismaskhandler_cmpt.cc
07-Mar-2019 19:06:04 deleted file mode 100644
07-Mar-2019 19:06:04 index aa33e8b..0000000
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesismaskhandler_cmpt.cc
07-Mar-2019 19:06:04 +++ /dev/null
07-Mar-2019 19:06:04 @@ -1,136 +0,0 @@
07-Mar-2019 19:06:04 -/***
07-Mar-2019 19:06:04 - * Framework independent implementation file for imager...
07-Mar-2019 19:06:04 - *
07-Mar-2019 19:06:04 - * Implement the imager component here.
07-Mar-2019 19:06:04 - *
07-Mar-2019 19:06:04 - * // TODO: WRITE YOUR DESCRIPTION HERE!
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 - ***/
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -#include <iostream>
07-Mar-2019 19:06:04 -#include <casa/Exceptions/Error.h>
07-Mar-2019 19:06:04 -#include <casa/BasicSL/String.h>
07-Mar-2019 19:06:04 -#include <casa/Containers/Record.h>
07-Mar-2019 19:06:04 -#include <casa/Utilities/Assert.h>
07-Mar-2019 19:06:04 -#include <casa/Logging/LogIO.h>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -#include <casa/OS/Directory.h>
07-Mar-2019 19:06:04 -#include <images/Images/PagedImage.h>
07-Mar-2019 19:06:04 -#include <coordinates/Coordinates/CoordinateUtil.h>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -#include <synthesis/ImagerObjects/SDMaskHandler.h>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -#include <synthesismaskhandler_cmpt.h>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -using namespace std;
07-Mar-2019 19:06:04 -using namespace casacore;
07-Mar-2019 19:06:04 -using namespace casa;
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -using namespace casacore;
07-Mar-2019 19:06:04 -namespace casac {
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -synthesismaskhandler::synthesismaskhandler()
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  itsLog = new LogIO();
07-Mar-2019 19:06:04 -  itsMaskHandler = new SDMaskHandler();
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -synthesismaskhandler::~synthesismaskhandler()
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  done();
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  casac::record* synthesismaskhandler::pruneregions(const string& inmaskname, double prunesize, const std::vector<bool>& chanflag, const string& outmaskname)
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  casac::record* rstat(0);
07-Mar-2019 19:06:04 -  *itsLog << casacore::LogOrigin("synthesismaskhandler", __func__);
07-Mar-2019 19:06:04 -  try
07-Mar-2019 19:06:04 -    {
07-Mar-2019 19:06:04 -      PagedImage<Float> inmask(inmaskname);
07-Mar-2019 19:06:04 -      CoordinateSystem inCsys = inmask.coordinates();
07-Mar-2019 19:06:04 -      IPosition inShape = inmask.shape();
07-Mar-2019 19:06:04 -     
07-Mar-2019 19:06:04 -      String outmasknameMod;
07-Mar-2019 19:06:04 -      if (outmaskname=="") {
07-Mar-2019 19:06:04 -        outmasknameMod = String(inmaskname)+String(".pruned");
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -      else {
07-Mar-2019 19:06:04 -       outmasknameMod = outmaskname;
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -       
07-Mar-2019 19:06:04 -      PagedImage<Float> outmask(TiledShape(inShape), inCsys, outmasknameMod);
07-Mar-2019 19:06:04 -      Vector<Bool> chanFlag(chanflag);
07-Mar-2019 19:06:04 -      if (chanFlag.nelements()==0) {
07-Mar-2019 19:06:04 -        *itsLog<<LogIO::SEVERE<<"Please specify chanflag."<<LogIO::POST;
07-Mar-2019 19:06:04 -        return(rstat);
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -      Int inSpecAxis = CoordinateUtil::findSpectralAxis(inCsys);
07-Mar-2019 19:06:04 -      if (inSpecAxis != -1 && chanFlag.nelements()!=uInt(inShape(inSpecAxis))) {
07-Mar-2019 19:06:04 -        *itsLog<<LogIO::SEVERE<<"The number elements in chanflag does not match with input mask shape."<<LogIO::POST;
07-Mar-2019 19:06:04 -        return(rstat);
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -      Vector<Bool> allpruned;
07-Mar-2019 19:06:04 -      Vector<uInt> nreg;
07-Mar-2019 19:06:04 -      Vector<uInt> npruned;
07-Mar-2019 19:06:04 -      std::shared_ptr<ImageInterface<Float> > tempIm_ptr = itsMaskHandler->YAPruneRegions(inmask, chanFlag, allpruned, nreg, npruned, prunesize);
07-Mar-2019 19:06:04 -      *itsLog<<"nreg="<<nreg<<" npruned="<<npruned<<" prunesize="<<prunesize<<LogIO::POST;
07-Mar-2019 19:06:04 -      outmask.copyData(*(tempIm_ptr.get()));
07-Mar-2019 19:06:04 -      casacore::Record outinfo;
07-Mar-2019 19:06:04 -      Vector<Int> nregForReport(nreg.nelements());
07-Mar-2019 19:06:04 -      Vector<Int> nprunedForReport(npruned.nelements());
07-Mar-2019 19:06:04 -      for (uInt i = 0; i < chanFlag.nelements();i++) {
07-Mar-2019 19:06:04 -        if (chanFlag[i]) {
07-Mar-2019 19:06:04 -          nregForReport[i] = -1;
07-Mar-2019 19:06:04 -          nprunedForReport[i] = -1;
07-Mar-2019 19:06:04 -        }
07-Mar-2019 19:06:04 -        else {
07-Mar-2019 19:06:04 -          nregForReport[i] = (Int) nreg[i];
07-Mar-2019 19:06:04 -          nprunedForReport[i] = (Int) npruned[i];
07-Mar-2019 19:06:04 -        }
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -      outinfo.define("N_reg",nregForReport);
07-Mar-2019 19:06:04 -      outinfo.define("N_reg_pruned",nprunedForReport);
07-Mar-2019 19:06:04 -      outinfo.define("prunesize",prunesize);
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -      rstat = fromRecord(outinfo);
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -  catch  (AipsError x)
07-Mar-2019 19:06:04 -    {
07-Mar-2019 19:06:04 -      RETHROW(x);
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  return rstat;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  bool synthesismaskhandler::done()
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  Bool rstat(false);
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  try
07-Mar-2019 19:06:04 -    {
07-Mar-2019 19:06:04 -      if (itsMaskHandler)
07-Mar-2019 19:06:04 -        {
07-Mar-2019 19:06:04 -          delete itsMaskHandler;
07-Mar-2019 19:06:04 -          itsMaskHandler=NULL;
07-Mar-2019 19:06:04 -        }
07-Mar-2019 19:06:04 -      if (itsLog)
07-Mar-2019 19:06:04 -        {
07-Mar-2019 19:06:04 -          delete itsLog;
07-Mar-2019 19:06:04 -          itsLog=NULL;
07-Mar-2019 19:06:04 -        }
07-Mar-2019 19:06:04 -      rstat=true;
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -  catch  (AipsError x)
07-Mar-2019 19:06:04 -    {
07-Mar-2019 19:06:04 -      RETHROW(x);
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  return rstat;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -} // casac namespace
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesismaskhandler_forward.h b/gcwrap/tools/synthesis/synthesismaskhandler_forward.h
07-Mar-2019 19:06:04 deleted file mode 100644
07-Mar-2019 19:06:04 index 5319d14..0000000
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesismaskhandler_forward.h
07-Mar-2019 19:06:04 +++ /dev/null
07-Mar-2019 19:06:04 @@ -1,12 +0,0 @@
07-Mar-2019 19:06:04 -// Include file for forward declarations
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -#include <stdcasa/StdCasa/CasacSupport.h>
07-Mar-2019 19:06:04 -namespace casacore{
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  class LogIO;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -namespace casa
07-Mar-2019 19:06:04 -{
07-Mar-2019 19:06:04 -  class SDMaskHandler;
07-Mar-2019 19:06:04 -};
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesismaskhandler_private.h b/gcwrap/tools/synthesis/synthesismaskhandler_private.h
07-Mar-2019 19:06:04 deleted file mode 100644
07-Mar-2019 19:06:04 index 963369d..0000000
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesismaskhandler_private.h
07-Mar-2019 19:06:04 +++ /dev/null
07-Mar-2019 19:06:04 @@ -1,4 +0,0 @@
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -casacore::LogIO *itsLog;
07-Mar-2019 19:06:04 -casa::SDMaskHandler *itsMaskHandler;
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisnormalizer.xml b/gcwrap/tools/synthesis/synthesisnormalizer.xml
07-Mar-2019 19:06:04 index f5fe959..6ba4139 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisnormalizer.xml
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisnormalizer.xml
07-Mar-2019 19:06:04 @@ -195,19 +195,6 @@ This is used to construct {\tt synthesisnormalizer} tool.
07-Mar-2019 19:06:04 <!-- ===================================== -->
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -   <method type="function" name="unlockimages">
07-Mar-2019 19:06:04 -   <shortdescription>unlock the images held by this normalizer</shortdescription>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -<input/>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<returns type="bool"/>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<!-- ===================================== -->
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04     <method type="function" name="setimstore">
07-Mar-2019 19:06:04     <shortdescription>Set ImageStore</shortdescription>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc b/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc
07-Mar-2019 19:06:04 index 4f7f4e8..3f60cdb 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/synthesis/synthesisnormalizer_cmpt.cc
07-Mar-2019 19:06:04 @@ -82,19 +82,6 @@ synthesisimstore* synthesisnormalizer::getimstore()
07-Mar-2019 19:06:04    return rstat;
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -  bool synthesisnormalizer::unlockimages(){
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -    Bool rstat(false);
07-Mar-2019 19:06:04 -    try {
07-Mar-2019 19:06:04 -      rstat=(itsNormalizer->getImageStore())->releaseLocks();
07-Mar-2019 19:06:04 -    } catch  (AipsError x) {
07-Mar-2019 19:06:04 -      RETHROW(x);
07-Mar-2019 19:06:04 -    }
07-Mar-2019 19:06:04 -    return rstat;
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -  }
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 bool synthesisnormalizer::gatherweightdensity()
07-Mar-2019 19:06:04 {
07-Mar-2019 19:06:04    Bool rstat(false);
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/tables/TablePlot/BasePlot.cc b/gcwrap/tools/tables/TablePlot/BasePlot.cc
07-Mar-2019 19:06:04 index 623e4fb..bcc2031 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/tables/TablePlot/BasePlot.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/tables/TablePlot/BasePlot.cc
07-Mar-2019 19:06:04 @@ -2668,12 +2668,12 @@ void BasePlot::ptTraverse(const TableExprNodeRep *tenr)
07-Mar-2019 19:06:04           }
07-Mar-2019 19:06:04            
07-Mar-2019 19:06:04           /* get children */
07-Mar-2019 19:06:04 -         auto tenrarr = tenm->getChildren();
07-Mar-2019 19:06:04 +         PtrBlock<TableExprNodeRep*> tenrarr = tenm->getChildren();
07-Mar-2019 19:06:04 #if LOG0
07-Mar-2019 19:06:04           ostringstream os;
07-Mar-2019 19:06:04 -         os << "Num elements : " << tenrarr.size();
07-Mar-2019 19:06:04 +         os << "Num elements : " << tenrarr.nelements();
07-Mar-2019 19:06:04 #endif
07-Mar-2019 19:06:04 -         for(Int i=0;i<(Int)tenrarr.size();i++)
07-Mar-2019 19:06:04 +         for(Int i=0;i<(Int)tenrarr.nelements();i++)
07-Mar-2019 19:06:04           {
07-Mar-2019 19:06:04 #if LOG0
07-Mar-2019 19:06:04              os << "\nChild " << i << " ---> " ;
07-Mar-2019 19:06:04 @@ -2791,12 +2791,12 @@ void BasePlot::ptTraverse(const TableExprNodeRep *tenr)
07-Mar-2019 19:06:04           }
07-Mar-2019 19:06:04            
07-Mar-2019 19:06:04           /* get children */
07-Mar-2019 19:06:04 -         auto tenrarr = tefn->getChildren();
07-Mar-2019 19:06:04 +         PtrBlock<TableExprNodeRep*> tenrarr = tefn->getChildren();
07-Mar-2019 19:06:04           ostringstream os;
07-Mar-2019 19:06:04 #if LOG0
07-Mar-2019 19:06:04 -         os << "Num elements : " << tenrarr.size();
07-Mar-2019 19:06:04 +         os << "Num elements : " << tenrarr.nelements();
07-Mar-2019 19:06:04 #endif
07-Mar-2019 19:06:04 -         for(Int i=0;i<(Int)tenrarr.size();i++)
07-Mar-2019 19:06:04 +         for(Int i=0;i<(Int)tenrarr.nelements();i++)
07-Mar-2019 19:06:04           {
07-Mar-2019 19:06:04 #if LOG0
07-Mar-2019 19:06:04              os << " Child " << i << " " ;
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/tables/TablePlot/BasePlot.h b/gcwrap/tools/tables/TablePlot/BasePlot.h
07-Mar-2019 19:06:04 index 821b4b1..b66cdd3 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/tables/TablePlot/BasePlot.h
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/tables/TablePlot/BasePlot.h
07-Mar-2019 19:06:04 @@ -328,11 +328,7 @@ class BasePlot
07-Mar-2019 19:06:04        
07-Mar-2019 19:06:04        // Traverse the TaQL parse tree and collect TaQL index ranges
07-Mar-2019 19:06:04        void ptTraverse(const casacore::TableExprNodeRep *tenr);
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -      void ptTraverse(const casacore::CountedPtr<casacore::TableExprNodeRep>& ptr) {
07-Mar-2019 19:06:04 -          ptTraverse(ptr.get());
07-Mar-2019 19:06:04 -      }
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 +     
07-Mar-2019 19:06:04        // Write flags to disk.
07-Mar-2019 19:06:04        // This does the inverse of getFlags.
07-Mar-2019 19:06:04        // Flag expansion for TaQL scalar/vector reduction happens here.
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/tables/table_cmpt.cc b/gcwrap/tools/tables/table_cmpt.cc
07-Mar-2019 19:06:04 index 83a62cb..8459736 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/tables/table_cmpt.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/tables/table_cmpt.cc
07-Mar-2019 19:06:04 @@ -2068,9 +2068,9 @@ bool table::fromascii(const std::string& tablename, const std::string& asciifile
07-Mar-2019 19:06:04        IPosition tautoshape;
07-Mar-2019 19:06:04        if(!itsTable)
07-Mar-2019 19:06:04           delete itsTable;
07-Mar-2019 19:06:04 -      if(columnnames.size( ) > 0 && columnnames[0] != "")
07-Mar-2019 19:06:04 +      if(columnnames[0] != "")
07-Mar-2019 19:06:04               atmp = toVectorString(columnnames);
07-Mar-2019 19:06:04 -      if(datatypes.size( ) > 0 && datatypes[0] != "")
07-Mar-2019 19:06:04 +      if(datatypes[0] != "")
07-Mar-2019 19:06:04               btmp = toVectorString(datatypes);
07-Mar-2019 19:06:04        itsTable = new casacore::TableProxy(String(asciifile), String(headerfile), String(tablename), autoheader, tautoshape, String(sep), String(commentmarker), firstline, lastline, atmp, btmp);
07-Mar-2019 19:06:04        // itsTable = new casacore::TableProxy(asciifile, headerfile, String(tablename));
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/utils/utils.xml b/gcwrap/tools/utils/utils.xml
07-Mar-2019 19:06:04 index 62ba7ee..9b364c4 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/utils/utils.xml
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/utils/utils.xml
07-Mar-2019 19:06:04 @@ -508,30 +508,6 @@ Returns a description string that includes the version information and the descr
07-Mar-2019 19:06:04 </description>
07-Mar-2019 19:06:04 </method>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -<method type="function" name="toolversion">
07-Mar-2019 19:06:04 -<shortdescription>returns two element vector containing CASA 6 tool version number</shortdescription>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<returns type="intArray"/>
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -Returns a two element vector representing the CASAtools version (year, build). This is only
07-Mar-2019 19:06:04 -returned with CASA 6. With CASA 5, an zero element vector is returned.
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<method type="function" name="toolversion_string">
07-Mar-2019 19:06:04 -<shortdescription>Returns the complete CASA 6 CASAtools version description as a string</shortdescription>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -<returns type="string"/>
07-Mar-2019 19:06:04 -<description>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -Returns a description string that shows the CASA 6 CASAtools version information as a descriptive string.
07-Mar-2019 19:06:04 -With CASA 5, a zero length string is returned.
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -</description>
07-Mar-2019 19:06:04 -</method>
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 </tool>
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 </casaxml>
07-Mar-2019 19:06:04 diff --git a/gcwrap/tools/utils/utils_cmpt.cc b/gcwrap/tools/utils/utils_cmpt.cc
07-Mar-2019 19:06:04 index e24cd2f..ab4ede7 100644
07-Mar-2019 19:06:04 --- a/gcwrap/tools/utils/utils_cmpt.cc
07-Mar-2019 19:06:04 +++ b/gcwrap/tools/utils/utils_cmpt.cc
07-Mar-2019 19:06:04 @@ -34,10 +34,6 @@
07-Mar-2019 19:06:04 #include <cstdlib>
07-Mar-2019 19:06:04 #include <casacore/casa/Quanta/UnitMap.h>
07-Mar-2019 19:06:04 #include <casatools/Config/State.h>
07-Mar-2019 19:06:04 -#ifdef CASATOOLS
07-Mar-2019 19:06:04 -#include <asdmstman/Register.h>
07-Mar-2019 19:06:04 -#include <toolversion.h>
07-Mar-2019 19:06:04 -#endif
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 using namespace std;
07-Mar-2019 19:06:04 using namespace casacore;
07-Mar-2019 19:06:04 @@ -408,9 +404,6 @@ bool utils::initialize(const std::vector<std::string> &default_path) {
07-Mar-2019 19:06:04      casatools::get_state( ).setDataPath(default_data_path);
07-Mar-2019 19:06:04      // configure quanta/measures customizations...
07-Mar-2019 19:06:04      UnitMap::putUser( "pix", UnitVal(1.0), "pixel units" );
07-Mar-2019 19:06:04 -#ifdef CASATOOLS
07-Mar-2019 19:06:04 -    register_asdmstman( );
07-Mar-2019 19:06:04 -#endif
07-Mar-2019 19:06:04      initialized = true;
07-Mar-2019 19:06:04      return true;
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04 @@ -493,28 +486,54 @@ utils::version_info( ) { return VersionInfo::info( ); }
07-Mar-2019 19:06:04 std::string
07-Mar-2019 19:06:04 utils::version_string( ) { return VersionInfo::str( ); }
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 -bool utils::compare_version(const  string& comparitor,  const std::vector<int>& vec) {
07-Mar-2019 19:06:04 -    return VersionInfo::compare(comparitor,vec);
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -std::vector<int>
07-Mar-2019 19:06:04 -utils::toolversion( ) {
07-Mar-2019 19:06:04 -    std::vector<int> result = {
07-Mar-2019 19:06:04 -#ifdef CASATOOLS
07-Mar-2019 19:06:04 -        ToolVersionInfo::major( ),
07-Mar-2019 19:06:04 -        ToolVersionInfo::minor( ),
07-Mar-2019 19:06:04 -#endif
07-Mar-2019 19:06:04 -    };
07-Mar-2019 19:06:04 -    return result;
07-Mar-2019 19:06:04 -}
07-Mar-2019 19:06:04 -
07-Mar-2019 19:06:04 -std::string
07-Mar-2019 19:06:04 -utils::toolversion_string( ) {
07-Mar-2019 19:06:04 -#ifdef CASATOOLS
07-Mar-2019 19:06:04 -    return ToolVersionInfo::version( );
07-Mar-2019 19:06:04 -#else
07-Mar-2019 19:06:04 -    return "";
07-Mar-2019 19:06:04 -#endif
07-Mar-2019 19:06:04 +bool
07-Mar-2019 19:06:04 + utils::compare_version(const  string& comparitor,  const std::vector<int>& vec) {
07-Mar-2019 19:06:04 +  vector<int> current_version = version( );
07-Mar-2019 19:06:04 +  for ( unsigned int i=0; i < vec.size( ); ++i )
07-Mar-2019 19:06:04 +    if ( vec[i] < 0 ) throw(AipsError("negative values not allowed in version numbers"));
07-Mar-2019 19:06:04 +
07-Mar-2019 19:06:04 +  unsigned int limit = min(current_version.size( ),vec.size( ));
07-Mar-2019 19:06:04 +  if ( comparitor == ">" ) {
07-Mar-2019 19:06:04 +    for ( unsigned int i=0; i < limit; ++i ) {
07-Mar-2019 19:06:04 +      if ( current_version[i] > vec[i] ) return true;
07-Mar-2019 19:06:04 +      else if ( current_version[i] < vec[i] ) return false;
07-Mar-2019 19:06:04 +    }
07-Mar-2019 19:06:04 +    for ( unsigned int i=limit; i < current_version.size( ); ++i )
07-Mar-2019 19:06:04 +      if ( current_version[i] > 0 ) return true;
07-Mar-2019 19:06:04 +    return false;
07-Mar-2019 19:06:04 +  } else if ( comparitor == "<" ) {
07-Mar-2019 19:06:04 +    for ( unsigned int i=0; i < limit; ++i ) {
07-Mar-2019 19:06:04 +      if ( current_version[i] > vec[i] ) return false;
07-Mar-2019 19:06:04 +      else if ( current_version[i] < vec[i] ) return true;
07-Mar-2019 19:06:04 +    }
07-Mar-2019 19:06:04 +    return false;
07-Mar-2019 19:06:04 +  } else if ( comparitor == ">=" ) {
07-Mar-2019 19:06:04 +    for ( unsigned int i=0; i < limit; ++i ) {
07-Mar-2019 19:06:04 +      if ( current_version[i] > vec[i] ) return true;
07-Mar-2019 19:06:04 +      else if ( current_version[i] < vec[i] ) return false;
07-Mar-2019 19:06:04 +    }
07-Mar-2019 19:06:04 +    return true;
07-Mar-2019 19:06:04 +  } else if ( comparitor == "<=" ) {
07-Mar-2019 19:06:04 +    for ( unsigned int i=0; i < limit; ++i ) {
07-Mar-2019 19:06:04 +      if ( current_version[i] > vec[i] ) return false;
07-Mar-2019 19:06:04 +      else if ( current_version[i] < vec[i] ) return true;
07-Mar-2019 19:06:04 +    }
07-Mar-2019 19:06:04 +    for ( unsigned int i=limit; i < current_version.size( ); ++i )
07-Mar-2019 19:06:04 +      if ( current_version[i] > 0 ) return false;
07-Mar-2019 19:06:04 +    return true;
07-Mar-2019 19:06:04 +  } else if ( comparitor == "=" || comparitor == "==" ) {
07-Mar-2019 19:06:04 +    for ( unsigned int i=0; i < limit; ++i ) {
07-Mar-2019 19:06:04 +      if ( current_version[i] != vec[i] ) return false;
07-Mar-2019 19:06:04 +    }
07-Mar-2019 19:06:04 +    for ( unsigned int i=limit; i < current_version.size( ); ++i )
07-Mar-2019 19:06:04 +      if ( current_version[i] > 0 ) return false;
07-Mar-2019 19:06:04 +    return true;
07-Mar-2019 19:06:04 +  } else if ( comparitor == "!=" ) {
07-Mar-2019 19:06:04 +    return ! compare_version("=",vec);
07-Mar-2019 19:06:04 +  } else {
07-Mar-2019 19:06:04 +    throw(AipsError("unknown comparator"));
07-Mar-2019 19:06:04 +  }
07-Mar-2019 19:06:04 +  return false;
07-Mar-2019 19:06:04 }
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 } // casac namespace
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 Comparison returned: 1
07-Mar-2019 19:06:04 Checkout: git checkout ARD-1
07-Mar-2019 19:06:04 Already on 'ARD-1'
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 [git, tag, -a, 5.5.0-94-test-ARD-18-2, -m 'Automatic tag']
07-Mar-2019 19:06:04
07-Mar-2019 19:06:04 Done tagging 5.5.0-94-test-ARD-18-2
07-Mar-2019 19:06:04 Pushing 5.5.0-94-test-ARD-18-2 to origin
07-Mar-2019 19:06:05 To ssh://git@open-bitbucket.nrao.edu:7999/casa/casa.git
07-Mar-2019 19:06:05 * [new tag]         5.5.0-94-test-ARD-18-2 -> 5.5.0-94-test-ARD-18-2
07-Mar-2019 19:06:05
07-Mar-2019 19:06:05 Pushed 5.5.0-94-test-ARD-18-2 to origin
07-Mar-2019 19:06:05
07-Mar-2019 19:06:05 BUILD SUCCESSFUL
07-Mar-2019 19:06:05
07-Mar-2019 19:06:05 Total time: 15.363 secs
07-Mar-2019 19:06:05 Finished task 'Script' with result: Success
07-Mar-2019 19:06:05 Running post build plugin 'Docker Container Cleanup'
07-Mar-2019 19:06:05 Running post build plugin 'NCover Results Collector'
07-Mar-2019 19:06:05 Running post build plugin 'Clover Results Collector'
07-Mar-2019 19:06:05 Running post build plugin 'npm Cache Cleanup'
07-Mar-2019 19:06:05 Running post build plugin 'Artifact Copier'
07-Mar-2019 19:06:05 Finalising the build...
07-Mar-2019 19:06:05 Stopping timer.
07-Mar-2019 19:06:05 Build ARD-BPT0-TBFP-2 completed.
07-Mar-2019 19:06:05 Running on server: post build plugin 'NCover Results Collector'
07-Mar-2019 19:06:05 Running on server: post build plugin 'Build Hanging Detection Configuration'
07-Mar-2019 19:06:05 Running on server: post build plugin 'Clover Delta Calculator'
07-Mar-2019 19:06:05 Running on server: post build plugin 'Maven Dependencies Postprocessor'
07-Mar-2019 19:06:05 All post build plugins have finished
07-Mar-2019 19:06:05 Generating build results summary...
07-Mar-2019 19:06:05 Saving build results to disk...
07-Mar-2019 19:06:05 Logging substituted variables...
07-Mar-2019 19:06:05 Indexing build results...
07-Mar-2019 19:06:05 Finished building ARD-BPT0-TBFP-2.