| 2727 | self.invert = invert |
| 2728 | |
| 2729 | def _set_threshold(self, threshold, mode): |
| 2730 | if callable(threshold): |
| 2731 | self.thresholds[mode] = threshold |
| 2732 | elif isinstance(threshold, str): |
| 2733 | self.thresholds[mode] = getattr(skimage.filters, "threshold_" + threshold.lower()) |
| 2734 | elif isinstance(threshold, (float, int)): |
| 2735 | self.thresholds[mode] = float(threshold) |
| 2736 | else: |
| 2737 | raise ValueError( |
| 2738 | f"`threshold` should be either a callable, string, or float number, {type(threshold)} was given." |
| 2739 | ) |
| 2740 | |
| 2741 | def _get_threshold(self, image, mode): |
| 2742 | threshold = self.thresholds.get(mode) |