(self, img: NdarrayTensor)
| 1742 | self.approx = approx |
| 1743 | |
| 1744 | def __call__(self, img: NdarrayTensor) -> NdarrayTensor: |
| 1745 | img = convert_to_tensor(img, track_meta=get_track_meta()) |
| 1746 | img_t, *_ = convert_data_type(img, torch.Tensor, dtype=torch.float32) |
| 1747 | |
| 1748 | gf1, gf2 = ( |
| 1749 | GaussianFilter(img_t.ndim - 1, sigma, approx=self.approx).to(img_t.device) |
| 1750 | for sigma in (self.sigma1, self.sigma2) |
| 1751 | ) |
| 1752 | blurred_f = gf1(img_t.unsqueeze(0)) |
| 1753 | filter_blurred_f = gf2(blurred_f) |
| 1754 | out_t: torch.Tensor = (blurred_f + self.alpha * (blurred_f - filter_blurred_f)).squeeze(0) |
| 1755 | out, *_ = convert_to_dst_type(out_t, dst=img, dtype=out_t.dtype) |
| 1756 | return out |
| 1757 | |
| 1758 | |
| 1759 | class RandGaussianSharpen(RandomizableTransform): |
nothing calls this directly
no test coverage detected