casa::SynthesisUtilMethods Class Reference

#include <SynthesisUtilMethods.h>

List of all members.

Public Types

enum  VBSTATES { NOVALIDROWS }

Public Member Functions

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

Static Public Member Functions

static Record cubeDataPartition (const Record &selpars, const Int npart, const Double freqBeg, const Double freqEnd, const MFrequency::Types eltype=MFrequency::LSRK)
 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 Record cubeDataPartition (const Record &selpars, const Vector< Double > &freqBeg, const Vector< Double > &freqEnd, const MFrequency::Types frame=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
static Record cubeDataImagePartition (const Record &selpars, const CoordinateSystem &incsys, const Int npart, const Int nchannel, Vector< CoordinateSystem > &outCsys, Vector< Int > &outnChan)
 CoordinateSystem and number of channels of original cube is passed in Output record is the ms's and data selection for each part.
static Int validate (const VisBuffer &vb)
 Validate the supplied VB.
static Int validate (const vi::VisBuffer2 &vb)
static Int getOptimumSize (const Int npix)
static Int parseLine (char *line)
static void getResource (String label="", String fname="")

Static Protected Member Functions

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

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

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

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

Partitioning syntax for Selection parameters

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

Output 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 } } }

Data partitioning rules for CONTINUUM imaging

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

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

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 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 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 CoordinateSystem:;restore to reconstrucr it is the same as the parameter outCsys

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

static Record casa::SynthesisUtilMethods::cubeDataPartition ( const Record &  selpars,
const Vector< Double > &  freqBeg,
const Vector< Double > &  freqEnd,
const MFrequency::Types  frame = 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

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

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.

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

Image cube partitioning rules for CUBE imaging.

static Int casa::SynthesisUtilMethods::getOptimumSize ( const Int  npix  )  [static]
static void casa::SynthesisUtilMethods::getResource ( String  label = "",
String  fname = "" 
) [static]
static String casa::SynthesisUtilMethods::mergeSpwSel ( const Vector< Int > &  fspw,
const Vector< Int > &  fstart,
const Vector< Int > &  fnchan,
const Matrix< Int > &  spwsel 
) [static, protected]
static Int casa::SynthesisUtilMethods::parseLine ( char *  line  )  [static]
static Vector<uInt> casa::SynthesisUtilMethods::primeFactors ( uInt  n,
Bool  douniq = True 
) [static, protected]
static Int casa::SynthesisUtilMethods::validate ( const vi::VisBuffer2 vb  )  [static]
static 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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1