Changeset 3106 for trunk/src/STMath.h
- Timestamp:
- 10/04/16 18:20:50 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/STMath.h
r2952 r3106 37 37 public: 38 38 // typedef for long method name 39 typedef casa ::InterpolateArray1D<casa::Double,40 casa ::Float>::InterpolationMethod imethod;39 typedef casacore::InterpolateArray1D<casacore::Double, 40 casacore::Float>::InterpolationMethod imethod; 41 41 42 42 // typedef for std::map … … 69 69 * @param weight weighting scheme 70 70 * @param avmode the mode ov averaging. Per "SCAN" or "ALL". 71 * @return a casa ::CountedPtr<Scantable> which either holds a new Scantable71 * @return a casacore::CountedPtr<Scantable> which either holds a new Scantable 72 72 * or returns the imput pointer. 73 73 */ 74 casa ::CountedPtr<Scantable>75 average( const std::vector<casa ::CountedPtr<Scantable> >& in,74 casacore::CountedPtr<Scantable> 75 average( const std::vector<casacore::CountedPtr<Scantable> >& in, 76 76 const std::vector<bool>& mask = std::vector<bool>(), 77 77 const std::string& weight = "NONE", … … 83 83 * @param mode the averaging mode. Currently only "MEDIAN" 84 84 * @param avmode the mode ov averaging. Per "SCAN" or "ALL". 85 * @return a casa ::CountedPtr<Scantable> which either holds a new Scantable85 * @return a casacore::CountedPtr<Scantable> which either holds a new Scantable 86 86 * or returns the imput pointer. 87 87 */ 88 casa ::CountedPtr<Scantable>89 averageChannel( const casa ::CountedPtr<Scantable> & in,88 casacore::CountedPtr<Scantable> 89 averageChannel( const casacore::CountedPtr<Scantable> & in, 90 90 const std::string& mode = "MEDIAN", 91 91 const std::string& avmode = "SCAN"); … … 99 99 * @return 100 100 */ 101 casa ::CountedPtr< Scantable >102 averagePolarisations( const casa ::CountedPtr< Scantable > & in,101 casacore::CountedPtr< Scantable > 102 averagePolarisations( const casacore::CountedPtr< Scantable > & in, 103 103 const std::vector<bool>& mask, 104 104 const std::string& weight ); … … 111 111 * @return 112 112 */ 113 casa ::CountedPtr< Scantable >114 averageBeams( const casa ::CountedPtr< Scantable > & in,113 casacore::CountedPtr< Scantable > 114 averageBeams( const casacore::CountedPtr< Scantable > & in, 115 115 const std::vector<bool>& mask, 116 116 const std::string& weight ); 117 117 118 casa ::CountedPtr<Scantable>119 unaryOperate( const casa ::CountedPtr<Scantable>& in, float val,118 casacore::CountedPtr<Scantable> 119 unaryOperate( const casacore::CountedPtr<Scantable>& in, float val, 120 120 const std::string& mode, bool tsys=false, 121 121 bool skip_flaggedrow=false ); 122 122 123 123 // array operation 124 casa ::CountedPtr<Scantable>125 arrayOperate( const casa ::CountedPtr<Scantable>& in,124 casacore::CountedPtr<Scantable> 125 arrayOperate( const casacore::CountedPtr<Scantable>& in, 126 126 const std::vector<float> val, 127 127 const std::string& mode, … … 131 131 132 132 // channel operation 133 casa ::CountedPtr<Scantable>134 arrayOperateChannel( const casa ::CountedPtr<Scantable>& in,133 casacore::CountedPtr<Scantable> 134 arrayOperateChannel( const casacore::CountedPtr<Scantable>& in, 135 135 const std::vector<float> val, 136 136 const std::string& mode, bool tsys=false, … … 138 138 139 139 // row operation 140 casa ::CountedPtr<Scantable>141 arrayOperateRow( const casa ::CountedPtr<Scantable>& in,140 casacore::CountedPtr<Scantable> 141 arrayOperateRow( const casacore::CountedPtr<Scantable>& in, 142 142 const std::vector<float> val, 143 143 const std::string& mode, bool tsys=false, … … 145 145 146 146 // 2d array operation 147 casa ::CountedPtr<Scantable>148 array2dOperate( const casa ::CountedPtr<Scantable>& in,147 casacore::CountedPtr<Scantable> 148 array2dOperate( const casacore::CountedPtr<Scantable>& in, 149 149 const std::vector< std::vector<float> > val, 150 150 const std::string& mode, bool tsys=false ); 151 151 152 casa ::CountedPtr<Scantable>153 binaryOperate( const casa ::CountedPtr<Scantable>& left,154 const casa ::CountedPtr<Scantable>& right,152 casacore::CountedPtr<Scantable> 153 binaryOperate( const casacore::CountedPtr<Scantable>& left, 154 const casacore::CountedPtr<Scantable>& right, 155 155 const std::string& mode); 156 156 157 casa ::CountedPtr<Scantable> autoQuotient(const casa::CountedPtr<Scantable>& in,157 casacore::CountedPtr<Scantable> autoQuotient(const casacore::CountedPtr<Scantable>& in, 158 158 const std::string& mode = "NEAREST", 159 159 bool preserve = true); 160 160 161 casa ::CountedPtr<Scantable> quotient( const casa::CountedPtr<Scantable>& on,162 const casa ::CountedPtr<Scantable>& off,161 casacore::CountedPtr<Scantable> quotient( const casacore::CountedPtr<Scantable>& on, 162 const casacore::CountedPtr<Scantable>& off, 163 163 bool preserve = true ); 164 164 … … 168 168 * @param caloff uncalibrated Scantable with no CAL signal 169 169 * @param tcal optional scalar Tcal, CAL temperature (K) 170 * @return casa ::CountedPtr<Scantable> which holds a calibrated Scantable170 * @return casacore::CountedPtr<Scantable> which holds a calibrated Scantable 171 171 * (spectrum - average of the two CAL on and off spectra; 172 172 * tsys - mean Tsys = <caloff>*Tcal/<calon-caloff> + Tcal/2) 173 173 */ 174 casa ::CountedPtr<Scantable> dototalpower( const casa::CountedPtr<Scantable>& calon,175 const casa ::CountedPtr<Scantable>& caloff,176 casa ::Float tcal=1.0 );174 casacore::CountedPtr<Scantable> dototalpower( const casacore::CountedPtr<Scantable>& calon, 175 const casacore::CountedPtr<Scantable>& caloff, 176 casacore::Float tcal=1.0 ); 177 177 178 178 /** … … 185 185 * set tau, as well 186 186 * @param tau optional scalar Tau value 187 * @return casa ::CountedPtr<Scantable> which holds combined scans187 * @return casacore::CountedPtr<Scantable> which holds combined scans 188 188 * (spectrum = (sig-ref)/ref * Tsys ) 189 189 */ 190 casa ::CountedPtr<Scantable> dosigref( const casa::CountedPtr<Scantable>& sig,191 const casa ::CountedPtr<Scantable>& ref,190 casacore::CountedPtr<Scantable> dosigref( const casacore::CountedPtr<Scantable>& sig, 191 const casacore::CountedPtr<Scantable>& ref, 192 192 int smoothref=1, 193 casa ::Float tsysv=0.0,194 casa ::Float tau=0.0 );193 casacore::Float tsysv=0.0, 194 casacore::Float tau=0.0 ); 195 195 196 196 /** … … 203 203 * @param tau optional scalar Tau value 204 204 * @param tcal optional scalar Tcal, CAL temperature (K) 205 * @return casa ::CountedPtr<Scantable> which holds calibrated scans206 */ 207 casa ::CountedPtr<Scantable> donod( const casa::CountedPtr<Scantable>& s,205 * @return casacore::CountedPtr<Scantable> which holds calibrated scans 206 */ 207 casacore::CountedPtr<Scantable> donod( const casacore::CountedPtr<Scantable>& s, 208 208 const std::vector<int>& scans, 209 209 int smoothref=1, 210 casa ::Float tsysv=0.0,211 casa ::Float tau=0.0,212 casa ::Float tcal=0.0 );210 casacore::Float tsysv=0.0, 211 casacore::Float tau=0.0, 212 casacore::Float tcal=0.0 ); 213 213 214 214 /** … … 221 221 * @param tau optional scalar Tau value 222 222 * @param tcal optional scalar Tcal, CAL temperature (K) 223 * @return casa ::CountedPtr<Scantable> which holds calibrated scans224 */ 225 casa ::CountedPtr<Scantable> dofs( const casa::CountedPtr<Scantable>& s,223 * @return casacore::CountedPtr<Scantable> which holds calibrated scans 224 */ 225 casacore::CountedPtr<Scantable> dofs( const casacore::CountedPtr<Scantable>& s, 226 226 const std::vector<int>& scans, 227 227 int smoothref=1, 228 casa ::Float tsysv=0.0,229 casa ::Float tau=0.0,230 casa ::Float tcal=0.0 );228 casacore::Float tsysv=0.0, 229 casacore::Float tau=0.0, 230 casacore::Float tcal=0.0 ); 231 231 232 232 /** … … 241 241 * @param a string that indicates antenna name 242 242 **/ 243 casa ::CountedPtr<Scantable> cwcal( const casa::CountedPtr<Scantable>& s,244 const casa ::String calmode,245 const casa ::String antname );243 casacore::CountedPtr<Scantable> cwcal( const casacore::CountedPtr<Scantable>& s, 244 const casacore::String calmode, 245 const casacore::String antname ); 246 246 247 247 /** … … 254 254 * @param a string that indicates antenna name 255 255 **/ 256 casa ::CountedPtr<Scantable> cwcalfs( const casa::CountedPtr<Scantable>& s,257 const casa ::String antname );256 casacore::CountedPtr<Scantable> cwcalfs( const casacore::CountedPtr<Scantable>& s, 257 const casacore::String antname ); 258 258 259 259 … … 264 264 * @param choffset 265 265 **/ 266 casa ::CountedPtr<Scantable> dofold( const casa::CountedPtr<Scantable> &sig,267 const casa ::CountedPtr<Scantable> &ref,268 casa ::Double choffset,269 casa ::Double choffset2 = 0.0 );266 casacore::CountedPtr<Scantable> dofold( const casacore::CountedPtr<Scantable> &sig, 267 const casacore::CountedPtr<Scantable> &ref, 268 casacore::Double choffset, 269 casacore::Double choffset2 = 0.0 ); 270 270 271 271 /** 272 272 * ALMA calibration 273 273 **/ 274 casa ::CountedPtr<Scantable> almacal( const casa::CountedPtr<Scantable>& s,275 const casa ::String calmode ) ;276 casa ::CountedPtr<Scantable> almacalfs( const casa::CountedPtr<Scantable>& s ) ;277 278 casa ::CountedPtr<Scantable>279 freqSwitch( const casa ::CountedPtr<Scantable>& in );280 281 std::vector<float> statistic(const casa ::CountedPtr<Scantable>& in,274 casacore::CountedPtr<Scantable> almacal( const casacore::CountedPtr<Scantable>& s, 275 const casacore::String calmode ) ; 276 casacore::CountedPtr<Scantable> almacalfs( const casacore::CountedPtr<Scantable>& s ) ; 277 278 casacore::CountedPtr<Scantable> 279 freqSwitch( const casacore::CountedPtr<Scantable>& in ); 280 281 std::vector<float> statistic(const casacore::CountedPtr<Scantable>& in, 282 282 const std::vector<bool>& mask, 283 283 const std::string& which); 284 284 285 std::vector<float> statisticRow(const casa ::CountedPtr<Scantable>& in,285 std::vector<float> statisticRow(const casacore::CountedPtr<Scantable>& in, 286 286 const std::vector<bool>& mask, 287 287 const std::string& which, 288 288 int row); 289 289 290 std::vector< int > minMaxChan(const casa ::CountedPtr<Scantable>& in,290 std::vector< int > minMaxChan(const casacore::CountedPtr<Scantable>& in, 291 291 const std::vector<bool>& mask, 292 292 const std::string& which); 293 293 294 casa ::CountedPtr<Scantable> bin( const casa::CountedPtr<Scantable>& in,294 casacore::CountedPtr<Scantable> bin( const casacore::CountedPtr<Scantable>& in, 295 295 int width=5); 296 casa ::CountedPtr<Scantable>297 resample(const casa ::CountedPtr<Scantable>& in,296 casacore::CountedPtr<Scantable> 297 resample(const casacore::CountedPtr<Scantable>& in, 298 298 const std::string& method, float width); 299 299 300 casa ::CountedPtr<Scantable>301 smooth(const casa ::CountedPtr<Scantable>& in, const std::string& kernel,300 casacore::CountedPtr<Scantable> 301 smooth(const casacore::CountedPtr<Scantable>& in, const std::string& kernel, 302 302 float width, int order=2); 303 303 304 casa ::CountedPtr<Scantable>305 gainElevation(const casa ::CountedPtr<Scantable>& in,304 casacore::CountedPtr<Scantable> 305 gainElevation(const casacore::CountedPtr<Scantable>& in, 306 306 const std::vector<float>& coeff, 307 307 const std::string& fileName, 308 308 const std::string& method); 309 casa ::CountedPtr<Scantable>310 convertFlux(const casa ::CountedPtr<Scantable>& in, float d,309 casacore::CountedPtr<Scantable> 310 convertFlux(const casacore::CountedPtr<Scantable>& in, float d, 311 311 float etaap, float jyperk); 312 312 313 casa ::CountedPtr<Scantable> opacity(const casa::CountedPtr<Scantable>& in,313 casacore::CountedPtr<Scantable> opacity(const casacore::CountedPtr<Scantable>& in, 314 314 const std::vector<float>& tau); 315 315 316 casa ::CountedPtr<Scantable>317 merge(const std::vector<casa ::CountedPtr<Scantable> >& in,316 casacore::CountedPtr<Scantable> 317 merge(const std::vector<casacore::CountedPtr<Scantable> >& in, 318 318 const std::string &freqTol = ""); 319 319 320 casa ::CountedPtr<Scantable>321 invertPhase( const casa ::CountedPtr<Scantable>& in);322 323 casa ::CountedPtr<Scantable>324 rotateXYPhase( const casa ::CountedPtr<Scantable>& in, float phase);325 326 casa ::CountedPtr<Scantable>327 rotateLinPolPhase( const casa ::CountedPtr<Scantable>& in, float phase);328 329 casa ::CountedPtr<Scantable>330 swapPolarisations(const casa ::CountedPtr<Scantable>& in);331 332 casa ::CountedPtr<Scantable>333 frequencyAlign( const casa ::CountedPtr<Scantable>& in,320 casacore::CountedPtr<Scantable> 321 invertPhase( const casacore::CountedPtr<Scantable>& in); 322 323 casacore::CountedPtr<Scantable> 324 rotateXYPhase( const casacore::CountedPtr<Scantable>& in, float phase); 325 326 casacore::CountedPtr<Scantable> 327 rotateLinPolPhase( const casacore::CountedPtr<Scantable>& in, float phase); 328 329 casacore::CountedPtr<Scantable> 330 swapPolarisations(const casacore::CountedPtr<Scantable>& in); 331 332 casacore::CountedPtr<Scantable> 333 frequencyAlign( const casacore::CountedPtr<Scantable>& in, 334 334 const std::string& refTime = "", 335 335 const std::string& method = "cubic" ); 336 336 337 casa ::CountedPtr<Scantable>338 convertPolarisation( const casa ::CountedPtr<Scantable>& in,337 casacore::CountedPtr<Scantable> 338 convertPolarisation( const casacore::CountedPtr<Scantable>& in, 339 339 const std::string& newtype); 340 340 341 casa ::CountedPtr<Scantable>342 mxExtract( const casa ::CountedPtr<Scantable>& in,341 casacore::CountedPtr<Scantable> 342 mxExtract( const casacore::CountedPtr<Scantable>& in, 343 343 const std::string& srctype = "on"); 344 344 … … 348 348 * @param width the number of lags to flag left to the side of the frequency 349 349 */ 350 casa ::CountedPtr<Scantable>351 lagFlag( const casa ::CountedPtr<Scantable>& in, double start,350 casacore::CountedPtr<Scantable> 351 lagFlag( const casacore::CountedPtr<Scantable>& in, double start, 352 352 double end, const std::string& mode="frequency"); 353 353 354 354 std::vector<float> 355 fft( const casa ::CountedPtr<Scantable>& in,355 fft( const casacore::CountedPtr<Scantable>& in, 356 356 const std::vector<int>& whichrow, 357 357 bool getRealImag=false ); 358 358 359 359 // test for average spectra with different channel/resolution 360 casa ::CountedPtr<Scantable>361 new_average( const std::vector<casa ::CountedPtr<Scantable> >& in,360 casacore::CountedPtr<Scantable> 361 new_average( const std::vector<casacore::CountedPtr<Scantable> >& in, 362 362 const bool& compel, 363 363 const std::vector<bool>& mask = std::vector<bool>(), 364 364 const std::string& weight = "NONE", 365 365 const std::string& avmode = "SCAN" ) 366 throw (casa ::AipsError) ;366 throw (casacore::AipsError) ; 367 367 368 368 private: 369 casa ::CountedPtr<Scantable> applyToPol( const casa::CountedPtr<Scantable>& in,369 casacore::CountedPtr<Scantable> applyToPol( const casacore::CountedPtr<Scantable>& in, 370 370 STPol::polOperation fptr, 371 casa ::Float phase);371 casacore::Float phase); 372 372 373 373 static imethod stringToIMethod(const std::string& in); 374 374 static WeightType stringToWeight(const std::string& in); 375 375 376 void scaleByVector(casa ::Table& in,377 const casa ::Vector<casa::Float>& factor,376 void scaleByVector(casacore::Table& in, 377 const casacore::Vector<casacore::Float>& factor, 378 378 bool dotsys); 379 379 380 void scaleFromAsciiTable(casa ::Table& in, const std::string& filename,380 void scaleFromAsciiTable(casacore::Table& in, const std::string& filename, 381 381 const std::string& method, 382 const casa ::Vector<casa::Float>& xout,382 const casacore::Vector<casacore::Float>& xout, 383 383 bool dotsys); 384 384 385 void scaleFromTable(casa ::Table& in, const casa::Table& table,385 void scaleFromTable(casacore::Table& in, const casacore::Table& table, 386 386 const std::string& method, 387 const casa ::Vector<casa::Float>& xout, bool dotsys);388 389 void convertBrightnessUnits(casa ::CountedPtr<Scantable>& in,387 const casacore::Vector<casacore::Float>& xout, bool dotsys); 388 389 void convertBrightnessUnits(casacore::CountedPtr<Scantable>& in, 390 390 bool tokelvin, float cfac); 391 391 392 casa ::CountedPtr< Scantable >393 smoothOther( const casa ::CountedPtr< Scantable >& in,392 casacore::CountedPtr< Scantable > 393 smoothOther( const casacore::CountedPtr< Scantable >& in, 394 394 const std::string& kernel, 395 395 float width, int order=2 ); 396 396 397 casa ::CountedPtr< Scantable >398 getScantable(const casa ::CountedPtr< Scantable >& in, bool droprows);399 400 casa ::MaskedArray<casa::Float>401 maskedArray( const casa ::Vector<casa::Float>& s,402 const casa ::Vector<casa::uChar>& f );403 casa ::MaskedArray<casa::Double>404 maskedArray( const casa ::Vector<casa::Double>& s,405 const casa ::Vector<casa::uChar>& f );406 casa ::Vector<casa::uChar>407 flagsFromMA(const casa ::MaskedArray<casa::Float>& ma);397 casacore::CountedPtr< Scantable > 398 getScantable(const casacore::CountedPtr< Scantable >& in, bool droprows); 399 400 casacore::MaskedArray<casacore::Float> 401 maskedArray( const casacore::Vector<casacore::Float>& s, 402 const casacore::Vector<casacore::uChar>& f ); 403 casacore::MaskedArray<casacore::Double> 404 maskedArray( const casacore::Vector<casacore::Double>& s, 405 const casacore::Vector<casacore::uChar>& f ); 406 casacore::Vector<casacore::uChar> 407 flagsFromMA(const casacore::MaskedArray<casacore::Float>& ma); 408 408 409 409 // Frequency switching 410 void calibrateFS( casa ::CountedPtr<Scantable> &sig,411 casa ::CountedPtr<Scantable> &ref,412 const casa ::CountedPtr<Scantable> &rsig,413 const casa ::CountedPtr<Scantable> &rref,414 const casa ::CountedPtr<Scantable> &sky,415 const casa ::CountedPtr<Scantable> &hot,416 const casa ::CountedPtr<Scantable> &cold,417 const casa ::Vector<casa::uInt> &rows ) ;418 void calibrateAPEXFS( casa ::CountedPtr<Scantable> &sig,419 casa ::CountedPtr<Scantable> &ref,420 const vector< casa ::CountedPtr<Scantable> > &on,421 const vector< casa ::CountedPtr<Scantable> > &sky,422 const vector< casa ::CountedPtr<Scantable> > &hot,423 const vector< casa ::CountedPtr<Scantable> > &cold,424 const casa ::Vector<casa::uInt> &rows ) ;425 void copyRows( casa ::Table &out,426 const casa ::Table &in,427 casa ::uInt startout,428 casa ::uInt startin,429 casa ::uInt nrow,430 casa ::Bool copySpectra=true,431 casa ::Bool copyFlagtra=true,432 casa ::Bool copyTsys=true ) ;433 casa ::CountedPtr<Scantable> averageWithinSession( casa::CountedPtr<Scantable> &s,410 void calibrateFS( casacore::CountedPtr<Scantable> &sig, 411 casacore::CountedPtr<Scantable> &ref, 412 const casacore::CountedPtr<Scantable> &rsig, 413 const casacore::CountedPtr<Scantable> &rref, 414 const casacore::CountedPtr<Scantable> &sky, 415 const casacore::CountedPtr<Scantable> &hot, 416 const casacore::CountedPtr<Scantable> &cold, 417 const casacore::Vector<casacore::uInt> &rows ) ; 418 void calibrateAPEXFS( casacore::CountedPtr<Scantable> &sig, 419 casacore::CountedPtr<Scantable> &ref, 420 const vector< casacore::CountedPtr<Scantable> > &on, 421 const vector< casacore::CountedPtr<Scantable> > &sky, 422 const vector< casacore::CountedPtr<Scantable> > &hot, 423 const vector< casacore::CountedPtr<Scantable> > &cold, 424 const casacore::Vector<casacore::uInt> &rows ) ; 425 void copyRows( casacore::Table &out, 426 const casacore::Table &in, 427 casacore::uInt startout, 428 casacore::uInt startin, 429 casacore::uInt nrow, 430 casacore::Bool copySpectra=true, 431 casacore::Bool copyFlagtra=true, 432 casacore::Bool copyTsys=true ) ; 433 casacore::CountedPtr<Scantable> averageWithinSession( casacore::CountedPtr<Scantable> &s, 434 434 vector<bool> &mask, 435 435 string weight ) ;
Note: See TracChangeset
for help on using the changeset viewer.