@@ -68,14 +68,17 @@ def save(self, proc_aman, dbc_aman):
68
68
if self .save_cfgs :
69
69
proc_aman .wrap ("det_bias_flags" , dbc_aman )
70
70
71
- def select (self , meta , proc_aman = None ):
71
+ def select (self , meta , proc_aman = None , in_place = True ):
72
72
if self .select_cfgs is None :
73
73
return meta
74
74
if proc_aman is None :
75
75
proc_aman = meta .preprocess
76
- keep = ~ proc_aman .det_bias_flags .det_bias_flags
77
- meta .restrict ("dets" , meta .dets .vals [has_all_cut (keep )])
78
- return meta
76
+ keep = ~ has_all_cut (proc_aman .det_bias_flags .det_bias_flags )
77
+ if in_place :
78
+ meta .restrict ("dets" , meta .dets .vals [keep ])
79
+ return meta
80
+ else :
81
+ return keep
79
82
80
83
def plot (self , aman , proc_aman , filename ):
81
84
if self .plot_cfgs is None :
@@ -132,7 +135,7 @@ def save(self, proc_aman, trend_aman):
132
135
if self .save_cfgs :
133
136
proc_aman .wrap ("trends" , trend_aman )
134
137
135
- def select (self , meta , proc_aman = None ):
138
+ def select (self , meta , proc_aman = None , in_place = True ):
136
139
if self .select_cfgs is None :
137
140
return meta
138
141
if proc_aman is None :
@@ -144,8 +147,11 @@ def select(self, meta, proc_aman=None):
144
147
else :
145
148
raise ValueError (f"Entry '{ self .select_cfgs ['kind' ]} ' not"
146
149
"understood. Expect 'any' or 'all'" )
147
- meta .restrict ("dets" , meta .dets .vals [keep ])
148
- return meta
150
+ if in_place :
151
+ meta .restrict ("dets" , meta .dets .vals [keep ])
152
+ return meta
153
+ else :
154
+ return keep
149
155
150
156
def plot (self , aman , proc_aman , filename ):
151
157
if self .plot_cfgs is None :
@@ -210,7 +216,7 @@ def save(self, proc_aman, glitch_aman):
210
216
if self .save_cfgs :
211
217
proc_aman .wrap (self .glitch_name , glitch_aman )
212
218
213
- def select (self , meta , proc_aman = None ):
219
+ def select (self , meta , proc_aman = None , in_place = True ):
214
220
if self .select_cfgs is None :
215
221
return meta
216
222
if proc_aman is None :
@@ -220,8 +226,11 @@ def select(self, meta, proc_aman=None):
220
226
)
221
227
n_cut = count_cuts (flag )
222
228
keep = n_cut <= self .select_cfgs ["max_n_glitch" ]
223
- meta .restrict ("dets" , meta .dets .vals [keep ])
224
- return meta
229
+ if in_place :
230
+ meta .restrict ("dets" , meta .dets .vals [keep ])
231
+ return meta
232
+ else :
233
+ return keep
225
234
226
235
def plot (self , aman , proc_aman , filename ):
227
236
if self .plot_cfgs is None :
@@ -325,7 +334,7 @@ def save(self, proc_aman, jump_aman):
325
334
name = self .save_cfgs .get ('jumps_name' , 'jumps' )
326
335
proc_aman .wrap (name , jump_aman )
327
336
328
- def select (self , meta , proc_aman = None ):
337
+ def select (self , meta , proc_aman = None , in_place = True ):
329
338
if self .select_cfgs is None :
330
339
return meta
331
340
if proc_aman is None :
@@ -334,8 +343,10 @@ def select(self, meta, proc_aman=None):
334
343
335
344
n_cut = count_cuts (proc_aman [name ].jump_flag )
336
345
keep = n_cut <= self .select_cfgs ["max_n_jumps" ]
337
- meta .restrict ("dets" , meta .dets .vals [keep ])
338
- return meta
346
+ if in_place :
347
+ meta .restrict ("dets" , meta .dets .vals [keep ])
348
+ return meta
349
+ return keep
339
350
340
351
def plot (self , aman , proc_aman , filename ):
341
352
if self .plot_cfgs is None :
@@ -619,7 +630,7 @@ def save(self, proc_aman, noise):
619
630
else :
620
631
proc_aman .wrap (self .save_cfgs ['wrap_name' ], noise )
621
632
622
- def select (self , meta , proc_aman = None ):
633
+ def select (self , meta , proc_aman = None , in_place = True ):
623
634
if self .select_cfgs is None :
624
635
return meta
625
636
@@ -648,8 +659,11 @@ def select(self, meta, proc_aman=None):
648
659
keep &= (wn >= np .float64 (self .select_cfgs ["min_noise" ]))
649
660
if fk is not None and "max_fknee" in self .select_cfgs .keys ():
650
661
keep &= (fk <= np .float64 (self .select_cfgs ["max_fknee" ]))
651
- meta .restrict ("dets" , meta .dets .vals [keep ])
652
- return meta
662
+ if in_place :
663
+ meta .restrict ("dets" , meta .dets .vals [keep ])
664
+ return meta
665
+ else :
666
+ return keep
653
667
654
668
class Calibrate (_Preprocess ):
655
669
"""Calibrate the timestreams based on some provided information.
@@ -1244,14 +1258,17 @@ def save(self, proc_aman, dark_aman):
1244
1258
if self .save_cfgs :
1245
1259
proc_aman .wrap ("darks" , dark_aman )
1246
1260
1247
- def select (self , meta , proc_aman = None ):
1261
+ def select (self , meta , proc_aman = None , in_place = True ):
1248
1262
if self .select_cfgs is None :
1249
1263
return meta
1250
1264
if proc_aman is None :
1251
1265
proc_aman = meta .preprocess
1252
1266
keep = ~ has_all_cut (proc_aman .darks .darks )
1253
- meta .restrict ("dets" , meta .dets .vals [keep ])
1254
- return meta
1267
+ if in_place :
1268
+ meta .restrict ("dets" , meta .dets .vals [keep ])
1269
+ return meta
1270
+ else :
1271
+ return keep
1255
1272
1256
1273
class SourceFlags (_Preprocess ):
1257
1274
"""Calculate the source flags in the data.
@@ -1315,7 +1332,7 @@ def save(self, proc_aman, source_aman):
1315
1332
if self .save_cfgs :
1316
1333
proc_aman .wrap ("source_flags" , source_aman )
1317
1334
1318
- def select (self , meta , proc_aman = None ):
1335
+ def select (self , meta , proc_aman = None , in_place = True ):
1319
1336
if self .select_cfgs is None :
1320
1337
return meta
1321
1338
if proc_aman is None :
@@ -1330,12 +1347,20 @@ def select(self, meta, proc_aman=None):
1330
1347
if len (source_list ) == 0 :
1331
1348
raise ValueError ("No tags match source list" )
1332
1349
1350
+ keep_all = np .ones (meta .dets .count , dtype = bool )
1351
+
1333
1352
for source in source_list :
1334
1353
if source in source_flags ._fields :
1335
1354
keep = ~ has_all_cut (source_flags [source ])
1336
- meta .restrict ("dets" , meta .dets .vals [keep ])
1337
- source_flags .restrict ("dets" , source_flags .dets .vals [keep ])
1338
- return meta
1355
+ if in_place :
1356
+ meta .restrict ("dets" , meta .dets .vals [keep ])
1357
+ source_flags .restrict ("dets" , source_flags .dets .vals [keep ])
1358
+ else :
1359
+ keep_all &= keep
1360
+ if in_place :
1361
+ return meta
1362
+ else :
1363
+ return keep_all
1339
1364
1340
1365
class HWPAngleModel (_Preprocess ):
1341
1366
"""Apply hwp angle model to the TOD.
@@ -1545,14 +1570,17 @@ def save(self, proc_aman, pca_aman):
1545
1570
if self .save_cfgs :
1546
1571
proc_aman .wrap (self .run_name , pca_aman )
1547
1572
1548
- def select (self , meta , proc_aman = None ):
1573
+ def select (self , meta , proc_aman = None , in_place = True ):
1549
1574
if self .select_cfgs is None :
1550
1575
return meta
1551
1576
if proc_aman is None :
1552
1577
proc_aman = meta .preprocess
1553
1578
keep = ~ proc_aman [self .run_name ]['pca_det_mask' ]
1554
- meta .restrict ("dets" , meta .dets .vals [keep ])
1555
- return meta
1579
+ if in_place :
1580
+ meta .restrict ("dets" , meta .dets .vals [keep ])
1581
+ return meta
1582
+ else :
1583
+ return keep
1556
1584
1557
1585
def plot (self , aman , proc_aman , filename ):
1558
1586
if self .plot_cfgs is None :
@@ -1701,14 +1729,17 @@ def save(self, proc_aman, ptp_aman):
1701
1729
if self .save_cfgs :
1702
1730
proc_aman .wrap ("ptp_flags" , ptp_aman )
1703
1731
1704
- def select (self , meta , proc_aman = None ):
1732
+ def select (self , meta , proc_aman = None , in_place = True ):
1705
1733
if self .select_cfgs is None :
1706
1734
return meta
1707
1735
if proc_aman is None :
1708
1736
proc_aman = meta .preprocess
1709
1737
keep = ~ has_all_cut (proc_aman .ptp_flags .ptp_flags )
1710
- meta .restrict ("dets" , meta .dets .vals [keep ])
1711
- return meta
1738
+ if in_place :
1739
+ meta .restrict ("dets" , meta .dets .vals [keep ])
1740
+ return meta
1741
+ else :
1742
+ return keep
1712
1743
1713
1744
class InvVarFlags (_Preprocess ):
1714
1745
"""Find detectors with too high inverse variance.
@@ -1741,14 +1772,16 @@ def save(self, proc_aman, inv_var_aman):
1741
1772
if self .save_cfgs :
1742
1773
proc_aman .wrap ("inv_var_flags" , inv_var_aman )
1743
1774
1744
- def select (self , meta , proc_aman = None ):
1775
+ def select (self , meta , proc_aman = None , in_place = True ):
1745
1776
if self .select_cfgs is None :
1746
1777
return meta
1747
1778
if proc_aman is None :
1748
1779
proc_aman = meta .preprocess
1749
1780
keep = ~ has_all_cut (proc_aman .inv_var_flags .inv_var_flags )
1750
- meta .restrict ("dets" , meta .dets .vals [keep ])
1751
- return meta
1781
+ if in_place :
1782
+ meta .restrict ("dets" , meta .dets .vals [keep ])
1783
+ return meta
1784
+ return keep
1752
1785
1753
1786
class EstimateT2P (_Preprocess ):
1754
1787
"""Estimate T to P leakage coefficients.
@@ -2011,15 +2044,17 @@ def save(self, proc_aman, fp_aman):
2011
2044
return
2012
2045
if self .save_cfgs :
2013
2046
proc_aman .wrap ("fp_flags" , fp_aman )
2014
-
2015
- def select (self , meta , proc_aman = None ):
2047
+
2048
+ def select (self , meta , proc_aman = None , in_place = True ):
2016
2049
if self .select_cfgs is None :
2017
2050
return meta
2018
2051
if proc_aman is None :
2019
2052
proc_aman = meta .preprocess
2020
2053
keep = ~ has_all_cut (proc_aman .fp_flags .fp_nans )
2021
- meta .restrict ("dets" , meta .dets .vals [keep ])
2022
- return meta
2054
+ if in_place :
2055
+ meta .restrict ("dets" , meta .dets .vals [keep ])
2056
+ return meta
2057
+ return keep
2023
2058
2024
2059
class PointingModel (_Preprocess ):
2025
2060
"""Apply pointing model to the TOD.
@@ -2086,15 +2121,16 @@ def save(self, proc_aman, calc_aman, name):
2086
2121
if self .save_cfgs :
2087
2122
proc_aman .wrap (name , calc_aman )
2088
2123
2089
- def select (self , meta , proc_aman = None ):
2124
+ def select (self , meta , proc_aman = None , in_place = True ):
2090
2125
if self .select_cfgs is None :
2091
2126
return meta
2092
2127
if proc_aman is None :
2093
2128
proc_aman = meta .preprocess
2094
- if hasattr ( proc_aman .noisy_dets_flags , " valid_dets" ):
2095
- keep = proc_aman . noisy_dets_flags . valid_dets
2129
+ keep = proc_aman .noisy_dets_flags . valid_dets
2130
+ if in_place :
2096
2131
meta .restrict ('dets' , proc_aman .dets .vals [keep ])
2097
- return meta
2132
+ return meta
2133
+ return keep
2098
2134
2099
2135
class CorrectIIRParams (_Preprocess ):
2100
2136
"""Correct missing iir_params by default values.
0 commit comments