casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
casa::SynthesisUtilMethods Class Reference

#include <SynthesisUtilMethods.h>

Public Types

enum  VBSTATES { NOVALIDROWS }
 

Public Member Functions

 SynthesisUtilMethods ()
 Default constructor. More...
 
 ~SynthesisUtilMethods ()
 
casacore::Record continuumDataPartition (casacore::Record &selpars, const casacore::Int npart)
 All functions here are stand-alone, self-contained methods. More...
 
casacore::Record cubeImagePartition (casacore::Record &impars, casacore::Int npart)
 Image cube partitioning rules for CUBE imaging. More...
 

Static Public Member Functions

static casacore::Record cubeDataPartition (const casacore::Record &selpars, const casacore::Int npart, const casacore::Double freqBeg, const casacore::Double freqEnd, const casacore::MFrequency::Types eltype=casacore::MFrequency::LSRK)
 
casacore::Data partitioning rules for CUBE imaging

uniform contiguous partition in frequency step Note that the spw selection will have a "-1" if there is no overlap in the data selection provided and frequency range provided More...

 
static casacore::Record cubeDataPartition (const casacore::Record &selpars, const casacore::Vector< casacore::Double > &freqBeg, const casacore::Vector< casacore::Double > &freqEnd, const casacore::MFrequency::Types frame=casacore::MFrequency::LSRK)
 freqBeg and freqEnd are frequency range of the sub image cubes defined in frame set here number of partions is obviously the length of freqBeg and freqEnd Use this for non uniform width of imge frequencies More...
 
static casacore::Record cubeDataImagePartition (const casacore::Record &selpars, const casacore::CoordinateSystem &incsys, const casacore::Int npart, const casacore::Int nchannel, casacore::Vector< casacore::CoordinateSystem > &outCsys, casacore::Vector< casacore::Int > &outnChan)
 casacore::CoordinateSystem and number of channels of original cube is passed in Output record is the ms's and data selection for each part. More...
 
static casacore::Int validate (const VisBuffer &vb)
 Validate the supplied VB. More...
 
static casacore::Int validate (const vi::VisBuffer2 &vb)
 
static casacore::Int getOptimumSize (const casacore::Int npix)
 
static void getResource (casacore::String label="", casacore::String fname="")
 
static casacore::String asComprehensibleDirectionString (casacore::MDirection const &direction)
 return comprehensible direction string from given MDirection object More...
 

Static Protected Member Functions

static casacore::String mergeSpwSel (const casacore::Vector< casacore::Int > &fspw, const casacore::Vector< casacore::Int > &fstart, const casacore::Vector< casacore::Int > &fnchan, const casacore::Matrix< casacore::Int > &spwsel)
 
static casacore::Vector
< casacore::uInt
primeFactors (casacore::uInt n, casacore::Bool douniq=true)
 

Static Private Member Functions

static casacore::String makeResourceFilename (int pid)
 
static casacore::Int parseProcStatusLine (const std::string &str)
 

Static Private Attributes

static casacore::String g_hostname
 
static casacore::String g_startTimestamp
 
static const casacore::String g_enableOptMemProfile
 

Detailed Description

Definition at line 58 of file SynthesisUtilMethods.h.

Member Enumeration Documentation

Enumerator
NOVALIDROWS 

Definition at line 61 of file SynthesisUtilMethods.h.

Constructor & Destructor Documentation

casa::SynthesisUtilMethods::SynthesisUtilMethods ( )

Default constructor.

casa::SynthesisUtilMethods::~SynthesisUtilMethods ( )

Member Function Documentation

static casacore::String casa::SynthesisUtilMethods::asComprehensibleDirectionString ( casacore::MDirection const &  direction)
static

return comprehensible direction string from given MDirection object

casacore::Record casa::SynthesisUtilMethods::continuumDataPartition ( casacore::Record selpars,
const casacore::Int  npart 
)

All functions here are stand-alone, self-contained methods.

Partitioning syntax for Selection parameters

casacore::Input casacore::Record (example) : { 'ms0' : { 'msname':xxx1, 'spw':yyy }, 'ms1' : { 'msname':xxx2, 'spw':yyy } }

Output casacore::Record (example for partitioning on spw) : { '0' : { 'ms0' : { 'msname':xxx1, 'spw':yyy1 }, 'ms1' : { 'msname':xxx2, 'spw':yyy1 } } '1' : { 'ms0' : { 'msname':xxx1, 'spw':yyy2 }, 'ms1' : { 'msname':xxx2, 'spw':yyy2 } } }

casacore::Data partitioning rules for CONTINUUM imaging

Referenced by casa::ContinuumPartitionMixin< T >::get_params().

static casacore::Record casa::SynthesisUtilMethods::cubeDataImagePartition ( const casacore::Record selpars,
const casacore::CoordinateSystem incsys,
const casacore::Int  npart,
const casacore::Int  nchannel,
casacore::Vector< casacore::CoordinateSystem > &  outCsys,
casacore::Vector< casacore::Int > &  outnChan 
)
static

casacore::CoordinateSystem and number of channels of original cube is passed in Output record is the ms's and data selection for each part.

also the casacore::Vector of outCsys and outnChan are the coordinatesystems and nchannel of the sub cube for each part. The image is divided in n part along spectral channel now if one of the sub cube has no match the the spw selection will have a "-1" for that part. The caller will have to deal with that for load balancing etc.. Output casacore::Record (example for partitioning on spw) : { '0' : { 'ms0' : { 'msname':xxx1, 'spw': '0:5~10' }, 'ms1' : { 'msname':xxx2, 'spw':'0:20~25' }, 'nchan': 6, 'coordsys': { A record of the coordinatesystem of subcube 0}} '1' : { 'ms0' : { 'msname':xxx1, 'spw':'0:9~14' }, 'ms1' : { 'msname':xxx2, 'spw':'0:24~29' }, 'nchan':6, 'coordsys': { A record of the coordinatesystem of subcube 1} } } the coordsys keyed record can be use in casacore::CoordinateSystem:;restore to reconstrucr it is the same as the parameter outCsys

Referenced by casa::CubePartitionMixin< T >::get_params().

static casacore::Record casa::SynthesisUtilMethods::cubeDataPartition ( const casacore::Record selpars,
const casacore::Int  npart,
const casacore::Double  freqBeg,
const casacore::Double  freqEnd,
const casacore::MFrequency::Types  eltype = casacore::MFrequency::LSRK 
)
static

casacore::Data partitioning rules for CUBE imaging

uniform contiguous partition in frequency step Note that the spw selection will have a "-1" if there is no overlap in the data selection provided and frequency range provided

static casacore::Record casa::SynthesisUtilMethods::cubeDataPartition ( const casacore::Record selpars,
const casacore::Vector< casacore::Double > &  freqBeg,
const casacore::Vector< casacore::Double > &  freqEnd,
const casacore::MFrequency::Types  frame = casacore::MFrequency::LSRK 
)
static

freqBeg and freqEnd are frequency range of the sub image cubes defined in frame set here number of partions is obviously the length of freqBeg and freqEnd Use this for non uniform width of imge frequencies

casacore::Record casa::SynthesisUtilMethods::cubeImagePartition ( casacore::Record impars,
casacore::Int  npart 
)

Image cube partitioning rules for CUBE imaging.

static casacore::Int casa::SynthesisUtilMethods::getOptimumSize ( const casacore::Int  npix)
static
static void casa::SynthesisUtilMethods::getResource ( casacore::String  label = "",
casacore::String  fname = "" 
)
static
static casacore::String casa::SynthesisUtilMethods::makeResourceFilename ( int  pid)
staticprivate
static casacore::String casa::SynthesisUtilMethods::mergeSpwSel ( const casacore::Vector< casacore::Int > &  fspw,
const casacore::Vector< casacore::Int > &  fstart,
const casacore::Vector< casacore::Int > &  fnchan,
const casacore::Matrix< casacore::Int > &  spwsel 
)
staticprotected
static casacore::Int casa::SynthesisUtilMethods::parseProcStatusLine ( const std::string &  str)
staticprivate
static casacore::Vector<casacore::uInt> casa::SynthesisUtilMethods::primeFactors ( casacore::uInt  n,
casacore::Bool  douniq = true 
)
staticprotected
static casacore::Int casa::SynthesisUtilMethods::validate ( const VisBuffer vb)
static

Validate the supplied VB.

This currently only checks for the existence of at least one non-flagged row and returns the index of the first non-flagged row found. Otherwise returns SynthesisUtilMethods::NOVALIDROWS. This static method is called in the vis-iter loops to block invalid VBs from flowing down the pipes.

static casacore::Int casa::SynthesisUtilMethods::validate ( const vi::VisBuffer2 vb)
static

Member Data Documentation

const casacore::String casa::SynthesisUtilMethods::g_enableOptMemProfile
staticprivate

Definition at line 151 of file SynthesisUtilMethods.h.

casacore::String casa::SynthesisUtilMethods::g_hostname
staticprivate

Definition at line 149 of file SynthesisUtilMethods.h.

casacore::String casa::SynthesisUtilMethods::g_startTimestamp
staticprivate

Definition at line 150 of file SynthesisUtilMethods.h.


The documentation for this class was generated from the following file: