Skip to content

Commit 2eadc17

Browse files
committed
cr google style docstring
1 parent 5d60208 commit 2eadc17

1 file changed

Lines changed: 37 additions & 8 deletions

File tree

fl4health/utils/nnunet_utils.py

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,15 @@
2525
# silences a bunch of deprecation warnings related to scipy.ndimage
2626
# Raised an issue with nnunet. https://github.com/MIC-DKFZ/nnUNet/issues/2370
2727
warnings.filterwarnings("ignore", category=DeprecationWarning)
28-
from batchgenerators.dataloading.multi_threaded_augmenter import MultiThreadedAugmenter
29-
from batchgenerators.dataloading.nondet_multi_threaded_augmenter import NonDetMultiThreadedAugmenter
30-
from batchgenerators.dataloading.single_threaded_augmenter import SingleThreadedAugmenter
28+
from batchgenerators.dataloading.multi_threaded_augmenter import (
29+
MultiThreadedAugmenter,
30+
)
31+
from batchgenerators.dataloading.nondet_multi_threaded_augmenter import (
32+
NonDetMultiThreadedAugmenter,
33+
)
34+
from batchgenerators.dataloading.single_threaded_augmenter import (
35+
SingleThreadedAugmenter,
36+
)
3137
from nnunetv2.training.dataloading.nnunet_dataset import nnUNetDataset
3238

3339

@@ -111,6 +117,10 @@ def set_nnunet_env_and_reload_modules(verbose: bool = False, **kwargs: Any) -> N
111117
For each keyword argument name and value sets the current environment variable with the same name to that value
112118
and then reloads nnunet. Values must be strings. This is necessary because nnunet checks some environment
113119
variables on import, and therefore it must be imported or reloaded after they are set.
120+
121+
Args:
122+
verbose (bool, optional): _description_. Whether or not logging is enabled.
123+
kwargs (Any): dict containing environment variables.
114124
"""
115125
# Set environment variables
116126
for key, val in kwargs.items():
@@ -123,11 +133,23 @@ def set_nnunet_env_and_reload_modules(verbose: bool = False, **kwargs: Any) -> N
123133
reload_modules(["nnunetv2.default_n_proc_DA", "nnunetv2.configuration"])
124134
# Reload whatever depends on nnunetv2 environment variables
125135
# Be careful. If you reload something with an enum in it, things get messed up.
126-
reload_modules(["nnunetv2", "fl4health.clients.nnunet_client", "fl4health.clients.flexible.nnunet"])
136+
reload_modules(
137+
[
138+
"nnunetv2",
139+
"fl4health.clients.nnunet_client",
140+
"fl4health.clients.flexible.nnunet",
141+
]
142+
)
127143

128144

129145
def set_nnunet_env(verbose: bool = False, **kwargs: Any) -> None:
130-
"""Maintain for backwards compatibility."""
146+
"""
147+
Maintain for backwards compatibility.
148+
149+
Args:
150+
verbose (bool, optional): _description_. Whether or not logging is enabled.
151+
kwargs (Any): dict containing environment variables.
152+
"""
131153
msg = (
132154
"`set_nnunet_env` is deprecated and will be removed in a future version. "
133155
"Use `set_nnunet_env_and_reload_modules` instead."
@@ -170,7 +192,9 @@ def convert_deep_supervision_list_to_dict(
170192
return tensors
171193

172194

173-
def convert_deep_supervision_dict_to_list(tensor_dict: dict[str, torch.Tensor]) -> list[torch.Tensor]:
195+
def convert_deep_supervision_dict_to_list(
196+
tensor_dict: dict[str, torch.Tensor],
197+
) -> list[torch.Tensor]:
174198
"""
175199
Converts a dictionary of tensors back into a list so that it can be used by nnunet deep supervision loss functions.
176200
@@ -256,7 +280,9 @@ def get_dataset_n_voxels(source_plans: dict, n_cases: int) -> float:
256280
return float(np.prod(image_shape, dtype=np.float64) * n_cases)
257281

258282

259-
def prepare_loss_arg(tensor: torch.Tensor | dict[str, torch.Tensor]) -> torch.Tensor | list[torch.Tensor]:
283+
def prepare_loss_arg(
284+
tensor: torch.Tensor | dict[str, torch.Tensor],
285+
) -> torch.Tensor | list[torch.Tensor]:
260286
"""
261287
Converts pred and target tensors into the proper data type to be passed to the nnunet loss functions.
262288
@@ -402,7 +428,10 @@ def __iter__(self) -> DataLoader: # type: ignore
402428

403429
def shutdown(self) -> None:
404430
"""The multithreaded augmenters used by nnunet need to be shutdown gracefully to avoid errors."""
405-
if isinstance(self.nnunet_augmenter, (NonDetMultiThreadedAugmenter, MultiThreadedAugmenter)):
431+
if isinstance(
432+
self.nnunet_augmenter,
433+
(NonDetMultiThreadedAugmenter, MultiThreadedAugmenter),
434+
):
406435
self.nnunet_augmenter._finish()
407436
else:
408437
del self.nnunet_augmenter

0 commit comments

Comments
 (0)