Skip to content

Commit

Permalink
Cast scalar returns to Scalar
Browse files Browse the repository at this point in the history
  • Loading branch information
taranu committed Aug 3, 2022
1 parent e31afb0 commit 23be579
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions python/lsst/analysis/tools/actions/scalar/scalarActions.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def getInputSchema(self) -> KeyedDataSchema:

def __call__(self, data: KeyedData, **kwargs) -> Scalar:
mask = self.getMask(**kwargs)
return float(np.nanmedian(cast(Vector, data[self.vectorKey.format(**kwargs)])[mask]))
return cast(Scalar, float(np.nanmedian(cast(Vector, data[self.vectorKey.format(**kwargs)])[mask])))


class MeanAction(ScalarAction):
Expand All @@ -28,7 +28,7 @@ def getInputSchema(self) -> KeyedDataSchema:

def __call__(self, data: KeyedData, **kwargs) -> Scalar:
mask = self.getMask(**kwargs)
return float(np.nanmean(cast(Vector, data[self.vectorKey.format(**kwargs)])[mask]))
return cast(Scalar, float(np.nanmean(cast(Vector, data[self.vectorKey.format(**kwargs)])[mask])))


class StdevAction(ScalarAction):
Expand All @@ -39,7 +39,7 @@ def getInputSchema(self) -> KeyedDataSchema:

def __call__(self, data: KeyedData, **kwargs) -> Scalar:
mask = self.getMask(**kwargs)
return float(np.nanstd(cast(Vector, data[self.vectorKey.format(**kwargs)])[mask]))
return cast(Scalar, float(np.nanstd(cast(Vector, data[self.vectorKey.format(**kwargs)])[mask])))


class SigmaMadAction(ScalarAction):
Expand All @@ -50,12 +50,15 @@ def getInputSchema(self) -> KeyedDataSchema:

def __call__(self, data: KeyedData, **kwargs) -> Scalar:
mask = self.getMask(**kwargs)
return float(
sps.median_abs_deviation(
cast(Vector, data[self.vectorKey.format(**kwargs)])[mask],
scale="normal", # type: ignore
nan_policy="omit",
)
return cast(
Scalar,
float(
sps.median_abs_deviation(
cast(Vector, data[self.vectorKey.format(**kwargs)])[mask],
scale="normal", # type: ignore
nan_policy="omit",
)
),
)


Expand All @@ -69,7 +72,7 @@ def __call__(self, data: KeyedData, **kwargs) -> Scalar:
mask = self.getMask(**kwargs)
arr = cast(Vector, data[self.vectorKey.format(**kwargs)])[mask]
arr = arr[~np.isnan(arr)]
return len(arr) # type: ignore
return cast(Scalar, len(arr))


class ApproxFloor(ScalarAction):
Expand All @@ -80,6 +83,6 @@ def getInputSchema(self) -> KeyedDataSchema:

def __call__(self, data: KeyedData, **kwargs) -> Scalar:
mask = self.getMask(**kwargs)
value = np.sort(data[self.vectorKey.format(**kwargs)][mask]) # type: ignore
value = np.sort(data[self.vectorKey.format(**kwargs)][mask])
x = len(value) // 10
return np.nanmedian(value[-x:])
return cast(Scalar,np.nanmedian(value[-x:]))

0 comments on commit 23be579

Please sign in to comment.