#include <SynthesisUtilMethods.h>
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) |
Definition at line 58 of file SynthesisUtilMethods.h.
Definition at line 61 of file SynthesisUtilMethods.h.
casa::SynthesisUtilMethods::SynthesisUtilMethods | ( | ) |
Default constructor.
casa::SynthesisUtilMethods::~SynthesisUtilMethods | ( | ) |
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.