Coverage for python/lsst/analysis/tools/analysisParts/baseSources.py: 29%

21 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2023-01-18 03:07 -0800

1from lsst.analysis.tools.actions.scalar import CountUniqueAction 

2from lsst.analysis.tools.actions.vector import DownselectVector, LoadVector, ThresholdSelector, VectorSelector 

3from lsst.analysis.tools.interfaces import AnalysisTool 

4 

5__all__ = ("BaseSources",) 

6 

7 

8class BaseSources(AnalysisTool): 

9 """Base class for counting associated and unassociated sources.""" 

10 

11 def setDefaults(self): 

12 super().setDefaults() 

13 

14 self.process.buildActions.loadVectorSources = LoadVector() 

15 self.process.buildActions.associatedVectorSelector = ThresholdSelector() 

16 self.process.buildActions.unassociatedVectorSelector = ThresholdSelector() 

17 

18 # assign keys for PSF and AP Flux 

19 self.process.buildActions.loadVectorSources.vectorKey = "nDiaSources" 

20 self.process.buildActions.associatedVectorSelector.vectorKey = "nDiaSources" 

21 self.process.buildActions.associatedVectorSelector.op = "gt" 

22 self.process.buildActions.associatedVectorSelector.threshold = 1.0 

23 self.process.buildActions.unassociatedVectorSelector.vectorKey = "nDiaSources" 

24 self.process.buildActions.unassociatedVectorSelector.op = "le" 

25 self.process.buildActions.unassociatedVectorSelector.threshold = 1.0 

26 

27 self.process.filterActions.allSources = VectorSelector(vectorKey="nDiaSources") 

28 self.process.filterActions.associatedVector = DownselectVector( 

29 vectorKey="nDiaSources", selector=self.process.buildActions.associatedVectorSelector 

30 ) 

31 self.process.filterActions.unassociatedVector = DownselectVector( 

32 vectorKey="nDiaSources", selector=self.process.buildActions.unassociatedVectorSelector 

33 ) 

34 

35 self.process.buildActions.uniqueSources = CountUniqueAction(vectorKey="nDiaSources")