def __init__( self, keys: KeysCollection, argmax: Union[Sequence[bool], bool] = False, to_onehot: Union[Sequence[bool], bool] = False, n_classes: Optional[Union[Sequence[int], int]] = None, threshold_values: Union[Sequence[bool], bool] = False, logit_thresh: Union[Sequence[float], float] = 0.5, ) -> None: """ Args: keys: keys of the corresponding items to model output and label. See also: :py:class:`monai.transforms.compose.MapTransform` argmax: whether to execute argmax function on input data before transform. it also can be a sequence of bool, each element corresponds to a key in ``keys``. to_onehot: whether to convert input data into the one-hot format. Defaults to False. it also can be a sequence of bool, each element corresponds to a key in ``keys``. n_classes: the number of classes to convert to One-Hot format. it also can be a sequence of int, each element corresponds to a key in ``keys``. threshold_values: whether threshold the float value to int number 0 or 1, default is False. it also can be a sequence of bool, each element corresponds to a key in ``keys``. logit_thresh: the threshold value for thresholding operation, default is 0.5. it also can be a sequence of float, each element corresponds to a key in ``keys``. """ super().__init__(keys) self.argmax = ensure_tuple_rep(argmax, len(self.keys)) self.to_onehot = ensure_tuple_rep(to_onehot, len(self.keys)) self.n_classes = ensure_tuple_rep(n_classes, len(self.keys)) self.threshold_values = ensure_tuple_rep(threshold_values, len(self.keys)) self.logit_thresh = ensure_tuple_rep(logit_thresh, len(self.keys)) self.converter = AsDiscrete()
def __init__( self, keys: KeysCollection, output_postfix: str = "discreted", argmax: bool = False, to_onehot: bool = False, n_classes: Optional[int] = None, threshold_values: bool = False, logit_thresh: float = 0.5, ): """ Args: keys: keys of the corresponding items to model output and label. See also: :py:class:`monai.transforms.compose.MapTransform` output_postfix: the postfix string to construct keys to store converted data. for example: if the keys of input data is `pred` and `label`, output_postfix is `discreted`, the output data keys will be: `pred_discreted`, `label_discreted`. if set to None, will replace the original data with the same key. argmax: whether to execute argmax function on input data before transform. to_onehot: whether to convert input data into the one-hot format. Defaults to False. n_classes: the number of classes to convert to One-Hot format. threshold_values: whether threshold the float value to int number 0 or 1, default is False. logit_thresh: the threshold value for thresholding operation, default is 0.5. """ super().__init__(keys) if output_postfix is not None and not isinstance(output_postfix, str): raise ValueError("output_postfix must be a string.") self.output_postfix = output_postfix self.argmax = ensure_tuple_rep(argmax, len(self.keys)) self.to_onehot = ensure_tuple_rep(to_onehot, len(self.keys)) self.n_classes = ensure_tuple_rep(n_classes, len(self.keys)) self.threshold_values = ensure_tuple_rep(threshold_values, len(self.keys)) self.logit_thresh = ensure_tuple_rep(logit_thresh, len(self.keys)) self.converter = AsDiscrete()
def __init__( self, keys: KeysCollection, argmax: bool = False, to_onehot: bool = False, n_classes: Optional[int] = None, threshold_values: bool = False, logit_thresh: float = 0.5, ): """ Args: keys: keys of the corresponding items to model output and label. See also: :py:class:`monai.transforms.compose.MapTransform` argmax: whether to execute argmax function on input data before transform. to_onehot: whether to convert input data into the one-hot format. Defaults to False. n_classes: the number of classes to convert to One-Hot format. threshold_values: whether threshold the float value to int number 0 or 1, default is False. logit_thresh: the threshold value for thresholding operation, default is 0.5. """ super().__init__(keys) self.argmax = ensure_tuple_rep(argmax, len(self.keys)) self.to_onehot = ensure_tuple_rep(to_onehot, len(self.keys)) self.n_classes = ensure_tuple_rep(n_classes, len(self.keys)) self.threshold_values = ensure_tuple_rep(threshold_values, len(self.keys)) self.logit_thresh = ensure_tuple_rep(logit_thresh, len(self.keys)) self.converter = AsDiscrete()
def __init__( self, keys: KeysCollection, argmax: Union[Sequence[bool], bool] = False, to_onehot: Union[Sequence[bool], bool] = False, num_classes: Optional[Union[Sequence[int], int]] = None, threshold_values: Union[Sequence[bool], bool] = False, logit_thresh: Union[Sequence[float], float] = 0.5, rounding: Union[Sequence[Optional[str]], Optional[str]] = None, allow_missing_keys: bool = False, n_classes: Optional[int] = None, ) -> None: """ Args: keys: keys of the corresponding items to model output and label. See also: :py:class:`monai.transforms.compose.MapTransform` argmax: whether to execute argmax function on input data before transform. it also can be a sequence of bool, each element corresponds to a key in ``keys``. to_onehot: whether to convert input data into the one-hot format. Defaults to False. it also can be a sequence of bool, each element corresponds to a key in ``keys``. num_classes: the number of classes to convert to One-Hot format. it also can be a sequence of int, each element corresponds to a key in ``keys``. threshold_values: whether threshold the float value to int number 0 or 1, default is False. it also can be a sequence of bool, each element corresponds to a key in ``keys``. logit_thresh: the threshold value for thresholding operation, default is 0.5. it also can be a sequence of float, each element corresponds to a key in ``keys``. rounding: if not None, round the data according to the specified option, available options: ["torchrounding"]. it also can be a sequence of str or None, each element corresponds to a key in ``keys``. allow_missing_keys: don't raise exception if key is missing. .. deprecated:: 0.6.0 ``n_classes`` is deprecated, use ``num_classes`` instead. """ # in case the new num_classes is default but you still call deprecated n_classes if n_classes is not None and num_classes is None: num_classes = n_classes super().__init__(keys, allow_missing_keys) self.argmax = ensure_tuple_rep(argmax, len(self.keys)) self.to_onehot = ensure_tuple_rep(to_onehot, len(self.keys)) self.num_classes = ensure_tuple_rep(num_classes, len(self.keys)) self.threshold_values = ensure_tuple_rep(threshold_values, len(self.keys)) self.logit_thresh = ensure_tuple_rep(logit_thresh, len(self.keys)) self.rounding = ensure_tuple_rep(rounding, len(self.keys)) self.converter = AsDiscrete()
def __init__( self, keys: KeysCollection, argmax: Union[Sequence[bool], bool] = False, to_onehot: Union[Sequence[Optional[int]], Optional[int]] = None, threshold: Union[Sequence[Optional[float]], Optional[float]] = None, rounding: Union[Sequence[Optional[str]], Optional[str]] = None, allow_missing_keys: bool = False, n_classes: Optional[Union[Sequence[int], int]] = None, # deprecated num_classes: Optional[Union[Sequence[int], int]] = None, # deprecated logit_thresh: Union[Sequence[float], float] = 0.5, # deprecated threshold_values: Union[Sequence[bool], bool] = False, # deprecated ) -> None: """ Args: keys: keys of the corresponding items to model output and label. See also: :py:class:`monai.transforms.compose.MapTransform` argmax: whether to execute argmax function on input data before transform. it also can be a sequence of bool, each element corresponds to a key in ``keys``. to_onehot: if not None, convert input data into the one-hot format with specified number of classes. defaults to ``None``. it also can be a sequence, each element corresponds to a key in ``keys``. threshold: if not None, threshold the float values to int number 0 or 1 with specified theashold value. defaults to ``None``. it also can be a sequence, each element corresponds to a key in ``keys``. rounding: if not None, round the data according to the specified option, available options: ["torchrounding"]. it also can be a sequence of str or None, each element corresponds to a key in ``keys``. allow_missing_keys: don't raise exception if key is missing. .. deprecated:: 0.6.0 ``n_classes`` is deprecated, use ``to_onehot`` instead. .. deprecated:: 0.7.0 ``num_classes`` is deprecated, use ``to_onehot`` instead. ``logit_thresh`` is deprecated, use ``threshold`` instead. ``threshold_values`` is deprecated, use ``threshold`` instead. """ super().__init__(keys, allow_missing_keys) self.argmax = ensure_tuple_rep(argmax, len(self.keys)) to_onehot_ = ensure_tuple_rep(to_onehot, len(self.keys)) num_classes = ensure_tuple_rep(num_classes, len(self.keys)) self.to_onehot = [] for flag, val in zip(to_onehot_, num_classes): if isinstance(flag, bool): warnings.warn("`to_onehot=True/False` is deprecated, please use `to_onehot=num_classes` instead.") self.to_onehot.append(val if flag else None) else: self.to_onehot.append(flag) threshold_ = ensure_tuple_rep(threshold, len(self.keys)) logit_thresh = ensure_tuple_rep(logit_thresh, len(self.keys)) self.threshold = [] for flag, val in zip(threshold_, logit_thresh): if isinstance(flag, bool): warnings.warn("`threshold_values=True/False` is deprecated, please use `threshold=value` instead.") self.threshold.append(val if flag else None) else: self.threshold.append(flag) self.rounding = ensure_tuple_rep(rounding, len(self.keys)) self.converter = AsDiscrete()